Graphical User Interface (GUI) design and standards
Rather than looking at enforceable standards, the Foundry
is working towards a "best ideas" approach to GUI design. As the Foundry
community discovers these ideas, they are brought into a "pattern language" for
application GUI development.
[Foundry picture source: Library of Congress]
|Attention to GUI design and technology takes the curve out of learning|
Creating a GUI pattern language for data discovery applications
Starting with the idea that the best GUI is one that is invisible, intuitive, and elegant, the Foundry works to assemble code and GUI objects (behaviors and graphics) that can be used by all Foundry developers to create new applications. The idea is that the overlap between the GUIs of any two applications will be great enough (and the acceptance of common GUI guidelines broad enough) so that any user that has experienced one Foundry application can pick up another and use it without any additional interface learning curve.
Creating a GUI "pattern language" is a project where the Foundry also needs to learn from efforts at GUI design from many sources. Two of the links (above: Ask Tog.com and Useit.com) are examples of long-time (more than 5 years) GUI design expertise. Within the GUI section of the Foundry Foundry members will be linking to a wide range of GUI web sites. The notion of a "pattern language" comes from the work of Christopher Alexander (et al). In this work the authors turn to 2 millennia of building history to find patterns for designs that have proven to work. In the same way, we will be looking at the recent history of internet and application design to find patterns for GUI objects that work. The above GUI, created at Planet Earth Science, Inc. uses GUI objects that the Foundry will be providing to the NSDL community. The sliders, window features (scrolling, etc.) and window tabs are all implemented in the Foundry code resource.
GUI objects: modular and reusable
GUI objects are the building-blocks for GUI design. GUI objects combine code objects with GUI elements (graphics) to create the repreogrammable user interfaces that all the Foundry products can share. CUrrently, the GUI objects are created using Director's programming language, Lingo. These are true code objects, created through OO programming, and easily tested and refactored.
On the right is one of the current GUI objects: the slider object, seen in its Director development environment. Any Macromedia Director user/author in the Foundry can download the code for this object and use it to easily create any number of sliders that allow end users to select from a range of values, or to scroll a graphic animation, or to animate a data display. As with all the Foundry GUI objects, this one fills a pattern. Here the pattern is simply: all sliders work in the infinity between Zero and One. By simply translating any range to a range between Zero and One, this slider can be used over and over again. BELOW is a shot of the slider code in the Foundry. NOTE: you need to have a workspace membership to view and download the code.