Before that we were squinting at green phosphorous elements as each character appeared on the CRT. Ambitious developers tried to make the best use of it by using various ASCII characters to represent boxes and buttons. As user interfaces improved, and most applications started having buttons and windows and forms (except grocery counter software, and maybe bank applications), developers started finding themselves using similar constructs to specify UI elements. Most developers now understand the meaning of terms like dialog boxes, buttons, lists, checkbox, editboxes and the like. For a nice history of the GUI, read this article - Of Mice & Menus.If one looks at the development of computer languages, we can see a similar trend towards abstraction. Assembly language gave way to higher level languages like C++, which allowed developers to abstract commonalities to build more complex applications. As UI-based Apps became more complex, developers were desperately looking for ways to decouple presentation code from logic. It started with the MVC Architecture, mainly in Desktop Apps. In the case of UI, the common elements were standardized and abstracted, and languages were developed to specify those UI elements. With the rise of internet, Internet-based UI apps are starting to take off. CSS or Cascading Style Sheets is an excellent step in that direction. Rich Internet Applications or RIA, as they are known, came to life with the ubiquitous XMLHTTPRequest object, google maps and the birth of AJAX.
Standardization is everywhere. Look at IM (Instant Messenger) conversations: brb, lol, asap, afaik, ttyl have all been sort of standardized. Its no wonder that developers tried to standardize UI elements, and developed languages to abstract it. Though it started with a few, now there is a barrage of language specs claiming to describe User-Interface Elements. One such language is XUL.
XUL or XML User-interface Language is sponsored by mozilla. It uses XML syntax to describe UI elements, and allows embedded scripts to define behaviours. Microsoft is trying something similar with XAML. They have grander schemes of using it as an application markup language.
Here is a brief list of user interface languages. One of them particularly sparked my interest... Laszlo. It is a weird name. Originally developed by a privately held company called Laszlo Systems, headquartered in San Mateo, California. It was made into an Open Source Development recently at http://www.openlaszlo.org. IBM also supported it and were crucial in the initial development of IDELaszlo, an eclipse plugin. The product requires a Laszlos server, which compiles the laszlo script into flash or limited support of DHTML, and SVG coming soon.
Speaking of SVG....wonder whats holding it back? Flash seems to be so popular, but then its just feeding money into Adobe, and their plan for world domination. Its even supported by the W3C, but so far only FF and maybe Opera, support it natively for now. SVG is a technology i look forward to, once it becomes a standard on all browsers.
3 comments:
Interesting topic. One trend I have noticed regarding UI's is the what I call the "rebirth of the command line". I predict that as business users start to blend more with engineers (there is a lot of migration from latter to the former), that there will be increased demand for the more efficient* command line (* more efficient in some cases).
Search is one example. Users can jot down a simple phrase to get quick answers. The "jotting" is exacerbated by products like open shortcuts (http://shortcuts.search.yahoo.com/).
And I suppose the URL address bar is another example (no one wants to use a GUI to navigate to a website).
Google Calendar is another such example (Http://calendar.google.com). Users can "jot" a quick note to have events added to a calendar rather than use a GUI to pick dates, tab to subject lines...etc.
Messenger is also an example, as Ajoy's posting highlighted with the use of jargon lie "ttyl", "lol", ...etc.. I think the smiley face emoticon is the most popular (" :) "), however, i suspect that the vast majority use the keystrokes to enter it, rather than the smiley face button.
i would argue Eric, that people who like to use the keyboard are usually more tech-saavy, as opposed to the majority of the population.
This links back to my earlier post, that the mouse needs to evolve as a means to interact with the machine, it is becoming too cumbersome. something similar to the likes of minority report comes to mind. :-)
A cool new visualization/HCI interface
http://www.ted.com/tedtalks/tedtalksplayer.cfm?key=j_han
Post a Comment