Extending the discussion about why UI programming is hard, David Temkin comes up with a great post on the lost art of user interface programming.
I can’t say enough good things about his post. His recapitulation of the influence the Web had on UI programming is a must-read.
The advent of the Web moved the emphasis plus the “coolness” to the backend. UI work was only considered cool because it was delivered in the HTML to a generic application called the browser. Coming up with a half-way decent UI required ridiculous amounts of coding (mostly in environments and languages which, uhm, were not on par with the tools used for desktop application development). In terms of user interaction, moving to HTML was like starting to focus on flintstones and spears again to provide for daily food. And despite all the hard work, you ended up with a UI which was a far cry from the rich interactivity users where experiencing on their desktop systems.
The advent of the web also killed some of the more interesting approaches to human-computer interaction like document-centric computing (witness OLE or OpenDoc). While there’s a lot to say about the deficiencies of these approaches, they were off to a great start trying to put the GUI to the next level – but I’m getting off-track here, looks like this is material for another post.
On a related note, some of the now famous GoF patterns were widely used or even originated in the UI frameworks created the late 80’s and early 90’s.
It’s great to see that companies like Lazlo are starting to come up with tools enabling developers to deliver a rich user-experience on top of the now omni-present network we all depend on in our daily work.