What is low bit ambient mode in watch? - wear-os

I am creating watch-face, every where term low bit ambient mode included in document, I am not 100% sure what it is and how to visualize it.
What is anti aliasing with that ? how to visualize this property and use in watch face ?

The best explanation I've seen is from the Reduced color space section of this page:
Some displays use a reduced color space in ambient mode to save power.
One reduced color space power saving method is to use a "low-bit"
mode. In low-bit mode, the available colors are limited to black,
white, blue, red, magenta, green, cyan, and yellow... You should also
disable antialiasing in your paint styles for this mode. Make sure to
test your design on devices with low-bit ambient mode.
To assist with the last point (testing), there's a setting in Developer options, under Wear developer options, called Force low-bit ambient. Turn that on, and your watch (or emulator) will use low-bit ambient mode, simulating what the display will look like on a watch that always uses this mode (like a Sony SW3 or Asus ZenWatch).

Related

Applying post-effect / pixel shader to Windows

I am color blind. This is usually not a problem for me, but whenever a game or application uses red and green as contrast colors it can become an annoyance. Looking for accessibility tools online, all I've managed to find are tools that adjust colors on snapshots, or on a camera input. For this reason, I've been toying with the idea of writing my own color adjustment tool.
Suppose I would want to write my own shader or post effect that shifts or swaps color values, then apply it to everything I see in Windows (10) in real-time - is there a way to do this? For example, is it possible to insert a pixel shader into the Windows rendering pipeline? Or would it be possible to write an application that takes the entire screen as input and outputs something else, faster than say 5ms per frame using a modern GPU? How would you approach this?

WampServer status icons are difficult to distinguish for colorblind individuals (~7% of users)

I'm a computer engineer with deuteranomaly (green-weak vision). WampServer's displays an orange icon when some services are running, which violates usability/accessibility guidelines because it's difficult to differentiate from the green and red icons, and the only difference between the icons is the color. This means I need to lean in close to the monitor and/or hover over the icon to tell what's going on, which is rather annoying. How can I make these icons more clear?
About 1/12 men are color deficient, and about 90% of software developers are male, so this poor color choice impacts about 7% of WampServer's users.
Status icons should follow best practices and use a clear high-contrast scheme that spans the spectrum (ex: blue, yellow, red) and incorporates symbols instead of relying solely on color. Why limit colors to the most problematic ~50 nm range of wavelengths when you've got ~300 nm to work with? Moreover, the human brain is highly sensitive to shapes - effective user interfaces don't rely solely on color. Plus, some developers may alter their monitor's color gamut either directly or by using an app like f.lux.
For anyone who's unfamiliar with the human eye, here's a graph of human cone cell spectral sensitivities showing how close the medium- and long-wavelength cones' peaks are. Dichromats must find this extremely frustrating.
The icons WampServer uses are contained within a bitmap file called images_off.bmp, which you can find in the wamp or wamp64 folder.
I have attached a modified version of images_off.bmp that adds white/gray symbols above the point of the W - an X, a triangle, and a checkmark. Simply replace the file (backing up the original if desired) and close and reopen the program.
I encourage anyone who's involved with UI decisions to read up on best practices and use better color and symbolic choices, as bad decisions can severely impact the usability of products.

Detecting the translucent regions of a window

In Windows 7, we have the glass-like windows where parts of other windows or the desktop shines through:
Somewhere, Windows must know which regions are translucent in order to render the window correctly.
Many test automation tools have the ability to use bitmaps for comparing expected results and the translucent parts of windows can cause problems.
I wonder whether it is possible to detect the translucent regions of a window programmatically, e.g. by an API call, in order to implement a screen comparison tool that is robust against glassy windows.
The usual workaround is to disable Aero, but even then, the window color can depend on other system settings which need to be considered. Detecting the transparent regions could be even more reliable than detecting control panel appearence colors.
Also, since we have semi-automated tests, I'd turn off Aero for a short time only and turn it back on when the automated part of the test is finished. This causes unwanted flickering.
Note that I don't want to detect transparent regions in already captured images as discussed in Detecting transparent glass in images. I'd like to do it at a time where the OS can still distinguish transparency.

Lower screen resolution while maintaining original pixel density

I'd like to play some older games on Windows 7. Running them isn't an issue, but the increase of monitor size and pixel density of later monitors is. Pre-rendered games intended to be played full-screen on e.g. a 640x480 resolution are now "blown up" to fit on a complete screen, making everything look unsharp. I've been looking at different solutions, but so far to no avail for a selection of games:
Running the game in "windowed mode" is an option for those games that support it.
DxWnd could be used to force some games in "windowed mode", but it causes some applications to crash as well.
VirtualBox works nicely since it will automatically resize to the applications desired full-screen resolution, but this is no option if VirtualBox's 3D support is insufficient to play the game.
Drivers like those of AMD or NVIDIA provide means to force maintaining pixel aspect ratio if pixel aspect ratio is an issue on wide-screen monitors
All of the above don't work for me for one game, since it does not provide "windowed mode", DxWnd makes it crash, VirtualBox's 3D support is insufficient and aspect ratio isn't an issue on my monitor.
Which brings me to the question: is there a way to lower the screen resolution while maintaining original pixel density of the monitor instead of having it fill up the whole screen? Thus essentially creating a smaller view port for the Windows environment to use and filling up the rest of the screen with big black borders?
Right click on the game and click property's and then try ticking this option.
.

Matching windows system colors: light on dark

I'm trying to make my app a good Windows citizen, so I use matching system colors (see "When selecting system colors, match but don't mix") as much as possible. However, sometimes light text on a dark background (something like COLOR_APPWORKSPACE/clAppWorkSpace) seems most appropriate, but the system doesn't provide this. Do you have any recommendations regarding this?
You could swap two colors. For example, if you can read InfoText colored text on a InfoBackground colored background, you should be able to read InfoBackground colored text on an Info colored background (or apply the concept to Window and WindowText).
Readability might suffer slightly.
Edit:
Sometimes it is okay to use your own colors, as long as they aren't mixed in with system colors (i.e. don't draw your color text on a system color background). If your own color scheme seems appropriate, then use it. Besides, Windows doesn't have a configurable color for every single need.
My solution for now: I set the background color to COLOR_APPWORKSPACE/clAppWorkSpace because I assume it has the "dark background" semantic I want. To get a contrasting text color I just get the HLS representation of the same color and increase its lightness factor.

Resources