a new approach to web applications If anything about current interaction design can be called “glamorous,” it’s creating Web applications. After all, when was the last time you heard someone rave about the interaction design of a product that wasn’t on the Web? (Okay, besides the iPod.) All the cool, innovative new projects are online.
Writing web applications is something of a pain. You can crank out a good-looking desktop application using Visual Basic in little time (though good design is often lacking, as the stock/easy UI elements tend to force a lack of imagination). It is much harder to crank out a relatively “rich” web application.
My history with GUIs goes back to the early 1980’s, when on one project I got to play with (very!) early versions of Microsoft Windows. Windows was not far enough along, so I ended up writing a GUI framework. Windows only really became useful in the early 1990’s.
As an aside – it took near ten years from the start to the point Windows became a success. Ten years is a very long time for a small software company (as Microsoft was at the time) to stick to a difficult software development project. There were a number of other companies that tried, failed, and gave up in this same period of time. Putting aside Microsoft’s other misdeeds for a moment, you have to give a lot of credit to Bill Gates for taking a huge risk and succeeding where others failed.
Through the early 1990’s Microsoft made a series of substantial and worthwhile improvements to Windows. Perusing though every new MSDN CDROM release was worthwhile and at times even inspiring (I still have the P1, P2 and P3 CDs). Somewhere in the mid-1990’s (about the time they lost the Dr. GUI cartoons) I started to find new MSDN releases a lot less interesting. Microsoft was trying to sell developers on a series of new techno-schemes which I just didn’t quite find compelling (most of which have since been deprecated or disappeared).
While developing web applications is, er, less than inspiring – Jesse’s point is well-taken. The interesting new applications are web-based applications.
I am still searching for that sweet spot that lets me crank out well-constructed web applications at a good clip. I adopted Tapestry for my current project, and have come to regret that decision – not because Tapestry is a poor piece of work (much of the Tapestry framework is well thought-out), but rather because it comes so very close to what I think is needed, yet completely misses the mark. (Need to clarify my thoughts and write this up at some point).