|
PROJECTS
DOWNLOADS
PRODUCTS
INFORMATION
|
|

CodeBlind
A Production.
CodeBlind Beta 1 (c) 2003 by CodeVis. All Rights Reserved.
This program is free for commercial and non-commercial use. Use it at your own risk.
You are free to download it from here and use it on any number of machines,
but you may not redistribute it publicly without permission.
Please distribute the URL instead (http://www.codevis.com/codeblind.html).
CodeBlind may change without notice. However, upgrades are not guaraunteed.
Please email any bug reports, comments, questions, feature requests, etc. to mike@codevis.com.
Special thanks to:
Table of Contents:
CodeBlind Overview
CodeBlind is a magnifier and color modification system rolled into one. It allows you
to simulate colorblindness, or modify the displayed colorsets to be more colorblind-friendly.
The simulation modes are not mathematically correct, nor do they necessarily accurately model any
one colorblind person. However, they are designed to help show what colors are ambiguous for various
types of colorblindness to assist you in choosing good colors for your project. If you would like
a mathematically correct model, please see the links under Further Reading
at the end of this document.
Specifically, the model I'm using attenuates the deficient color more strongly
than other models, and does so in RGB space rather than LMS space as might be appropriate for computer
simulation. However, I have heard reports of people with a red deficiency having difficulties telling if
a red light was on at all or seeing full red text on a black background, so perhaps it is not entirely
off. Either way, additional conversions between color spaces (already doing RGB->HSI->RGB for hue shift
and compression) would make the program considerably slower.
You also may want to note that it is reported in Brettel et. al (see Further Reading)
and elsewhere that many people deficient in one color seem more sensitive to changes in color that affect the other two colors,
which is not simulated here (only got 256 values per channel).
CodeBlind requires a modern computer with a true color (32-bit) display to run properly.
While it has been heavily optimized versus previous versions, it still takes a decent
amount of processing power depending on how you configure it. Please see the
Usage and Troubleshooting
sections if you run into problems.
To see what CodeBlind can do, take a look below. The first row of pictures from left to right
show a simulated picture of colored candy, then the same picture as it might be seen with a red, green,
and blue color deficiency.
Notice the difficulty contrasting yellow and green with a red deficiency, or red and yellow with a green deficiency. Now look
at the pictures below. From left to right, they are the second from the above table with a green deficiency, the original candy picture
modified to have a compressed and shifted hue space with CodeBlind, and a simulation of the compressed hue image as seen with a green
deficiency.
This is one way that CodeBlind can enhance viewing of colors. Another way is to simply convert one of them to grey. The pictures
below show the same picture with the yellow channel converted to grey, then the simulation of that viewed with a green deficiency.
The colors are no longer ambiguous.
Table of Contents
Using CodeBlind
The screenshot above shows the two CodeBlind windows: On the left is the Options window, and on the right
is the Magnifier window.
The Magnifier window
The Magnifier window displays the graphics around your mouse cursor at whatever magnification level you have
configured. In addition, any color transforms you have set up in the Options window will be applied to this
view if the "Filter Colors" button is depressed at the top left of the Magnifier window.
To resize the Magnifier window, click on the four-way arrow at the bottom right and drag it to your desired
size. You can always restore the window to its default size by pressing the "*" restore button, or by clicking
on the window, then pressing ALT-R. You may also make the window larger or smaller in increments by
pressing ALT-1 and ALT-2 respectively.
One last feature of the magnifier is it will display the name of the color that your cursor is currently
over. There are currently 8 colors recognized:
| Black | White | Grey | Red | Yellow |
| Green | Green | Cyan | Blue | Magenta |
In addition, if the intensity is less than half the maximum, it will be called "dark".
The color label describes the color of the actual pixel - NOT the transformed magnification view within
CodeBlind.
To configure the Magnifier window, click on the "Configure" button along the top bar. This will bring
up the Options window.
The Options Window
CodeBlind's Options window contains many different controls to allow you to simulate or enhance colors.
In the center of it all, there are two color palettes. The left palette is the normal, unchanged
palette. On the right is what that palette looks like after applying the currently configured transforms
to the colors.
You can always restore the "Default" configuration just by pressing the "Reset All to Defaults".
The other controls are grouped as follows:
- Performance
- Color Control
- Configuration
- RGB Modification
- Channel Brightness
- Convert Color To Greyscale
- Simulations
Performance Controls
The Performance Controls handle how CodeBlind behaves on your system.
If you want the magnifier
to always be on top of any windows, regardless of focus, click the "Magnifier Always On Top" button
in the top left of the Options Window.
To increase the magnification level in the Window, click on the "Magnify" knob and drag upwards. You
can decrease the magnification level by dragging the knob downwards. For finer control, you can select
any knob by clicking on it or using the Tab key, then press the arrow keys to turn it (up and down for
coarse adjustments, left and right for fine-tuning).
The Refresh knob controls how fast the Magnification window is refreshed. This can be set anywhere from
1Hz to 50Hz. At 50Hz, it's obviously going to look best - however, depending on your hardware it
may not be able to achieve that. The faster the refresh rate, the more processor it is going to take to run
well. I'd recommend bringing up Task Manager or a similar Processor monitor and try to set the refresh to a level
that takes under 30% of your processor's time.
The Filter knob controls whether or not the mouse tracking is filtered. If it is, then it will appear as if
the magnification window follows behind your mouse, rather than updating directly from where the mouse is each
time it refreshes. This can make it quite a bit easier to make sense of mouse movement in the window, but is
really only advantageous at high refresh rates.
Color Control
There are three knobs in the Color Control section, labeled Hue, Compress, and Gamma. The Hue knob acts very
similar to the hue knob on a TV - it rotates the hue of colors. Try turning it and watch the right palette in
the Options window to get a feel for how this works.
The Compress knob sets the Hue compression. Since hue is a circular value (from the HSI or Hue, Saturation, and
Intensity model), the compression simply reduces the amount of that circle that is traveled. In other words, it
reduces all of the available colors into a smaller set of colors. Using the Hue knob as an offset, this allows
you to reduce the 6 major colors down to as few as you would like, avoiding colors that you may have trouble
seeing.
The Gamma knob simply performs gamma correction during the transform. By default, with the knob pointing straight
up, no gamma is performed. To make the Magnification Window show everything darker, turn the Gamma down. To make
everything brighter, turn it up.
Configuration controls
CodeBlind tracks your current configuration automatically and will save it to "Default.cbc" inside your
/Program Files/CodeBlind/Data/ directory. However, if you want to use multiple configs, its easy - just
click "Save Config" to save your current configuration as a different name. You can use the "Load Config"
button to load configuration files, or - if they are saved in the default location - you can just click on the
configuration name menu and it will let you pick.
RGB Modification controls
These controls let you modify the base RGB channels. You can use the "Negative Image" button to invert the
red, green, and blue channels. You may also use any of the three "Swap" buttons to exchange two colors at
the start of processing. This is useful for positioning colors the way you'd like them on the Hue spectrum.
Channel Brightness
In addition to the normal Gamma, you can control the brightness of the Red, Green, and Blue channels
independantly via these knobs.
Convert Color to Greyscale
If you have a hard time seeing one or two colors, you may want to convert those colors
to greyscale. These knobs, along the bottom of the display, allow you to control each of the basic
colors individually.
Simulations
As mentioned at the top of this document, the simulations are not necessarily mathematically correct, nor
are they gauraunteed to accurately model what any one colorblind person may see. However, they should give
you a good idea of what colors may be ambiguous or hard to see by a colorblind person and shouldn't be used
in an interface - at least not near the another color that might look similar.
The big thing is contrast - any text or important objects should have a high contrast against
their background, even in situations where multiple colors may be confused. In addition, if
you are designing an interface, try to use multiple types of indicators for any single message -
it will make it easier on everyone. Color, shape, and text should all be used if possible. You
may want to check under Further Reading for additional resources
and suggestions.
At any rate, four types of color blindness are simulated. You may depress any one of the buttons at a time.
To control the level of color blindness, rotate the "Severity" knob beneath the buttons.
The top two, Red and Green deficiencies, are the most common and are often grouped together as "Red/Green"
color blindness. See Further Reading for osites with good explanations
of each type of color blindness.
Table of Contents
Troubleshooting
This is a BETA of the program, and as such, it may have bugs in it. If you think you've found a bug,
please be as descriptive as possible (including any error messages, the type of processor you have,
how much RAM, and the type of video card) and send an email to
mike@codevis.com.
Some likely problems are the following:
- The Magnifier window refreshes too slowly: This is generally caused by the refresh knob
being turned down. The default is fairly slow to help it run right off on older computers. Just
turn up the knob. However, see the following....
- CodeBlind takes up all my processor!: It can do that - it's doing some pretty hefty image
processing and copying a lot of data around. Turn down the Refresh rate, turn up the Magnification,
or make the Magnifier window smaller to reduce processor usage. I recommend a 2Ghz Pentium-class processor,
256MB of RAM, and an ATI or NVidia video card. However, it should work on considerably less if you
turn it down a little....
- Movement is too jerky in the Magnifier window: Turn up the Refresh and/or the Filter knobs. Also,
see above.
- Where can I get the latest version? Here.
- The colors seem wrong or pixelized: You may be in 256 color mode, even if your hardware supports
more. Right click on the desktop, select "Properties". The "Display Properties" dialog should
appear. Now click on the "Settings" tab. Make sure the "Colors" drop-down is set to "True Color (32 bit)".
Click "OK". Make sure to say "Yes" if it prompts you to keep them.
Table of Contents
Further Reading
Vision Tests
These also are fun to test CodeBlind with.
Designing with color
- VisiBone is a great place for webmasters and other designers
to get color information for web design. There's a also page there dedicated to
designing to accomodate color blindness as well.
- Joe Clark's book, Building Accessible Websites, has an excellent
section on color blindness.
Color Blindness Simulation, Assistance, and Information
Table of Contents
|
|