If you have been testing the 6.13.0 alpha release, you have probably seen the
reworked Simple View. I am writing to explain the reasons for the changes and
to explain the rationale for its design.
The old Simple View (as in 6.12.33) has a number of basic problems. It uses
mostly non-standard controls, and most of the controls are actually bitmap
images. For example, the buttons ("Add Project", "Messages", etc.) are
actually small pictures of a rectangular button. The text labels are part of
the image, rather than being encoded as actual text. This design causes
several serious issues:
[1] Localization:
The use of bitmap controls makes it very difficult to localize the interface
for different languages. In other parts of the BOINC Manager, the text in
controls, menus etc. is represented as a series of characters (i.e., encoded as
actual text.)
Our development system scans the source code for all such text, and generates a
special file containing all the text strings. Our many volunteer translators
take a copy of this file and add the translations into each language. They
then return the localized file (which contains each English string followed by
its localized equivalent) to us. We include these translation files with
BOINC, and they are installed on each user's computer as part of BOINC.
The BOINC software includes logic which then applies the appropriate
translation file, depending on the language the user selects. The software
also adjusts the size of each interface element to fit the localized text,
since the translation may be longer or shorter than the English original.
Finally, the size of the entire window is adjusted to accommodate the resized
buttons and other elements.
But when the buttons and other interface elements are images of text, rather
than actual strings, none of this can work. The only way to create a localized
version is to produce new images with the translated text, and generate a
localized "skin" for each language. Not only is this very tedious and
inefficient, it is not something most of our volunteer translators can do
readily.
The Simple View is not so simple for users who don't speak English and so can't
understand the button labels. And yet this is the interface all new users see.
[2] Accessibility:
Computer users who are blind or have limited vision often use special
accessibility software known as screen readers, which convert the text on their
screen to audible speech. Screen readers don't work with bitmap controls. So
some of the users who could benefit most from a simplified user interface can't
take advantage of it.
The use of non-native / non-standard controls also prevents implementing other
accessibility features available for most computer systems, such as
keyboard-only control access without using the mouse.
[3] Difficulty creating new skins:
Creating a new customized skin requires creating many bitmaps, as a separate
image file is needed for every state of every control.
[4] Non-intuitive operation:
The use of non-native / non-standard controls violates the user interface
guidelines on Mac and Windows. These guidelines are designed to provide
commonality across different applications, making it easier for users to learn
new applications in an intuitive manner. Because the old Simple View violates
these standards, it is harder for new users to understand.
[5] Lack of flexibility:
The fixed size and position of items makes it hard to enhance the interface by
adding new items or rearranging existing ones. Here are some examples:
* It is not obvious that you can click on the "Graphics Available" text at the
bottom of
the slide show to display the application's graphics.
* The project icons with the contextual menus give no visual indication that
clicking them
displays a drop-down menu.
* The task tabs near the top of the window, and the left and right arrows to
scroll through
them, are non-standard and less intuitive than they might be. And the
meaning of the
yellow (or other single color) dots next to some of the tasks is not
self-evident.
All of the above issues can be solved by using standard native controls and
user interface elements instead of the bitmap images, which provides automatic
support for localization, automatic sizing and accessibility. The new Simple
View attempts to keep the functionality of the old version, and adds a few more
capabilities.
One challenge was finding a common set of controls that are standard native
controls on Windows, Macintosh and Linux. This eliminated some choices that
would have been obvious for one or another platform but would not work on
others, and required some compromises. In particular, the use of push buttons
to expose a pull-down / pop-up menu is a departure from typical user interface
design, but it allowed us to use standard native controls for all the
associated functions.
The use of green, yellow and red dots in the Task Selection pull-down menu /
combo box uses the standard traffic light paradigm to indicate whether each
task is running, waiting to run, or suspended.
Another challenge arises because the new Simple View is a bit larger than the
old one, and some translations will make it larger yet. So the old background
images for the different skins are all too small. We will be creating new,
larger background artwork for the standard BOINC skin, and will encourage those
who provide other skins to do the same. To help with the transition, the new
Simple View anchors the upper-left corner of the background, and fills in the
areas beyond the background image on the bottom and right side with the
background color specified in the skin. In many cases, this reduces the impact
of the undersized background artwork.
The new Simple View requires far less artwork, so creating new skins will be
considerably easier in the future.
We hope you agree with us that these changes will improve the BOINC experience,
especially for new users.
Cheers,
--Charlie
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.