(…my not so humble opinion.)
Back in the days when I was still a naive little boy, full of potential, wits and enthusiasm for user interfaces on a peecee, I made my first ever UI in Delphi 3. Personal Edition. It was supposed to become the most advanced, but simplest to operate ceedee burning program ever, in an apple-esque fashion. All it eventually did was start up, show the UI and the ‘Close’ feature worked perfectly as well.
Instead of feeling miserable or like a failure, I really felt good about it. I started and closed my ‘ultimate ceedee burning program’ again and again and again to marvel at its impeccable design. I never showed it to anyone else.
The power that development tools for desktop application give - even to little kids that are just fooling around - inspired me to think about how we webfolk could leverage the principles and ideas that lie within.
The power that a GUI builder (usually a feature inside an Integrated Development Environment) exposes is the ability to create UIs to users that do not necessarily need a technical background in order to use it. Fantastic, potentially functional designs can be created for Windows desktop apps in Visual Studio, ye olde Delphi or more specialised tools. Mac OS has the wonderful Interface builder that comes with XCode for Cocoa apps. With those tools at hand, it’s not really rocket-science to create a User Interface. In fact, the tools allow specialised UI Designers and User Interaction designers to create mockups and even prototypes with limited functionality.
The Ultimate ceedee burning app I created during my wild days was actually my first-ever working prototype. All I’m trying to say really, is that if even a kid can do it, surely there must be real value there.
Latest trends in the web development industry have been gearing toward porting existing desktop applications to work in a web browser. Our email reading software is moving to a web application like GMail or Live Mail; golden oldies like Thunderbird, Outlook and Mail.app are bound to be left alone eventually. Office suites like OpenOffice.org and MS Office can be replaced - or augmented, whatever - by Google Docs or Office Live.
Recently Google announced its Chrome OS to the world and promised that within a year we’ll see the first Netbooks coming out with Chrome OS pre-installed. The most important thing about Chrome OS is that it’s really a shell around its web browser, Chrome. All applications that you’ll be able to run in Chrome OS will be web applications.
A lot of my friends - who also happen to be of the web developer breed - cheered when Google announced its plans for a web-centric OS, including yours truly. But, in fact we ought to have been scared shitless… what’s a web OS worth without a convincing set of web applications? How can users migrate to such an OS without thinking twice and leaving their precious desktop workflow behind? Over the years, a slew of very smart people pondered and chipped in on conceptual user interface and interaction design. Wouldn’t it be a waste if all that valuable knowledge and proof is trashed, binned, set on fire and pissed on by a small set of cocky web developers?
No, with the current state of web application development, we cannot expect people to switch to web apps, let alone a web OS. We are still missing architectural components, like a system that provides a common bridge and transport of objects between web applications - comparable to OLE. I don’t know about you, but I’m quite attached to dragging my favorite Youtube videos and dropping them in a Google Docs document…
But the core feature, the heartbeat of any OS competitive to Windows, is choice. And at the moment, we’re already having trouble coming up with one decent alternative for each commonly used desktop application. Take text editors, for example. Coders/ programmers are quite picky and opinionated when you ask them what their favorite editor is, mainly because there’s a plethora of choice: VIm, Emacs, joe, pico, nano, Textmate, phpEd, Notepad(++), Slickedit, Editpad, Editra, UltraEdit, etc. What alternative would we have in a web OS? Bespin, and… well, that’s it really. I don’t have to explain to you that that’s unacceptable, I at least will not switch to any OS if I would be forced to use Bespin as my editor and leave precious TextMate behind… CHOICE!
The only way I believe we can make strides into offering more choice to users, thus quickly expanding the amount choice in web applications, is to retain existing knowledge of user interface and interaction design. We need to create tools that with which web UIs can be developed just as easily as with modern desktop tools. In other words, we need GUI builders and mockup design tools that implement and grok current dogmas and principles of designing UIs, potentially usable for kids.
The first and only effort in that direction at the moment is Atlas, by the 280 North team. It’s a tool that is inspired by the GUI builder of XCode and design principles of the Mac OS. It’s a fantastic product and idea with lots of potential, but pretty much worthless if there won’t be more choice in comparable tools soon. On top of that: the Atlas project and technology behind it is not mature yet, so it’s debatable if desktop application replacements can be developed with Atlas and Cappuccino. But, I’m biased: at Ajax.org, we’re going to try and start offering choice with our own IDE and GUI Builder. Again, because we need more choice in tools that are all about user-centric, not feature-centric design.
Let’s try not to re-invent the wheel, but make developing web applications easier for all by building upon decades of knowledge in computer science and User Interaction and Design studies.