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.

Reply via email to