[Dev] Chandler cross platform UI design principle

Chih-Chao Lam chao at osafoundation.org
Thu Dec 30 16:17:19 PST 2004


There has been some confusion to what our stand on cross platform look 
and feel should be. Katie thought it'd be a good idea if we explicitly 
state our design principle. So, here's my attempt at it:

In cross-platform UI design, as a strong principle, we would like to 
provide the native platform's look and feel. We realize there are a few 
exceptions to this principle which usually fall into the following 3 
categories:
1) we may create new UI affordances when none of the native affordances 
fulfill our design needs

2) we may borrow some UI affordances from one platform and apply them 
to all the platforms when they are clearly better, especially for the 
PIM domain

3) some native UI widgets aren't available in our cross-platform UI 
framework, wxWidgets. Some of these widgets may be more expensive to 
implement than their importance to us.

Each of these exceptions are made on a case-by-case basis, through an 
iterative and consultative process between the design and apps team, 
weighing carefully the costs of detracting from this principle and the 
countervailing benefits. Such decisions have to made for each dot 
release.

Below, we list specific examples of decisions we've made around this 
principle (one for each category respectively):
1) Our mini-calendar on the sidebar. This is a no brainer. There are no 
native affordances for a mini-calendar browser. The wxWidgets mini 
calendar widget was viewed inadequate and aesthetically unpleasing from 
several perspectives. It's a commonly used widget, it's weeks and not 
months of work. We decided to write our own.

2) Mac OS X trays (with animations to slide open and close). We decided 
not to implement this widget for Kibble. We feel trays are superior 
than anything on XP and Linux. It provides another layer of visual 
separation between the summary and detail view and aids comprehension 
of Chandler UI components. However, it's mainly a nice to have and the 
cost of implementing such a widget, especially with sliding animation, 
was deemed way too high.

3) Summary table headers on Mac OS X. This is a closer call. The 
summary table view headers that wxWidgets provide are not at all like 
the table headers you see normally in Mac OS X applications. Because 
the table view is such a common view in Chandler, and clicking and 
sorting the headers are common interactions, we decided to invest in 
providing native summary table headers in Mac OS X.

chao



More information about the Dev mailing list