[LAU] State of the art GUI

Niels Mayer nielsmayer at gmail.com
Sat Jan 29 05:50:36 UTC 2011


On Fri, Jan 28, 2011 at 4:10 AM,  <fons at kokkinizita.net> wrote:
> I'd be interested to know what, in your opinion, makes a GUI 'state
> of the art' as opposed 'late 90s'. In other words, a list of features,
> properties etc. as opposed to just an example to look at.

Transition effects, dynamic scrolling, 3d effects, etc.

http://www.youtube.com/watch?v=DcGTNyq9b0s
http://www.youtube.com/watch?v=xoo_Ows1ExU&feature=related
http://www.youtube.com/watch?v=U7IgwNrcln8&feature=related

See comments on QML in
http://code.google.com/p/ytd-meego/wiki/CitizenJournalismWithYoutubeDirectForMeego
( http://appdeveloper.intel.com/en-us/blog/2011/01/18/winning-meego-content ).

An excerpt from my paper above, describing QML features which permit
construction of GUIs which change their presentation and style based
on screen realestate available (e.g. netbook, handheld vs desktop):

/////////////////////
In the code example above, note the "declarative" aspects of the code,
which are implicit in the sizing constraints: for example,
"parent.width" sizes all the children to be the same size as their
container, without requiring explicit procedural code. The declarative
style means one need not worry about the procedural order of creating
the UI elements and their parentage. With QML, Application state (
http://doc.qt.nokia.com/4.7/qdeclarativestates.html ) is handled
declaratively, as is keyboard-focus (
http://doc.qt.nokia.com/4.7/qdeclarativefocus.html ) and dialog state.

Declarative layout allows conditional visibility coding, changing the
visibility of elements depending on the screen size and application
state/context. This can enable the same application, and the same
code-base, to support a wide range of device form factors and screen
sizes. Sizing of GUI elements can be declared relative to the toplevel
window's size, which enables screen-size and resolution independent
layout ( http://wiki.forum.nokia.com/index.php/Device_Independent_Layout_for_QML
). Should the application need to target all manner of screen sizes
from desktop to handheld, very different GUI designs are needed: this
can be accomplished by creating multiple QML layouts, and using
conditional expressions to make the visibility of certain elements
change depending on the screen size.
////////////////

-- Niels
http://nielsmayer.com


More information about the Linux-audio-user mailing list