How rich are desktop apps anyway?
Time and time again, I stumble over a blog post that claims that web apps will soon be "as rich as desktop apps". I hope not. The desktop era is over, and good riddance.
Take Twitter. If Twitter were a desktop app it probably would be less useful than it is now. Why?
- Entering a new item probably would be hidden under File > New and be a modal dialog.
- I probably would need to save my items regularly.
- I probably couldn't link to a friend or bookmark items.
- I probably couldn't open it from my cell phone.
- I probably couldn't whip up a quick script to fetch or enter some data.
- I probably couldn't leave or pause the application just by closing a window or opening a new tab.
In these respects, desktop apps SUCK BIG TIME compared to most web apps.
So in what respect are desktop apps richer? Let's look at Adobe Photoshop, a classical rich desktop app. Besides menus and toolbars there's really only one thing that is rich about Photoshop, the canvas. And even that is now available to web apps. Photoshop simply has no visual richness beyond the canvas.
In my opinion, the freedoms (no modal dialogs) and affordances (bookmarks, universal access) offered by most web apps far outweigh any additional richness offered by so-called rich desktop apps. So please, don't drool over some stupid framework like the DOSolate One's Silverlight, which will bring back nothing but a wave of modal dialogs and File menus.
Take the superficial primitivity of HTML, and like Google, del.icio.us, and Twitter, turn it into something extremely useful to millions of people.

How rich are web applications, anyway?
Take Twitter. If Twitter would be a command line application, it
probably would be more useful than it is now.
- Entering a new item is just "twitter foo", the easiest thing one can do.
- All twitters will simply be saved to ~/.twitter
- A link is a as simple as pasting an URL, a good terminal makes URLs
easily clickable.
- It works from your cell phone as well, because a SMS is just like a
command line.
- Scripting a command line app is trivial.
- You just run it when you need to post something. Good shells can
watch your twitter files and ping you when you have a new message.
Take the superficial primitivity of ascii text, and like grep, locate,
and mail, turn it into something extremely useful to millions of
people.
...
That said, I use:
curl -u USER:PASSWORD --basic --data-binary status="$*" http://twitter.com/statuses/update.json
Posted by: Christian Neukirchen | April 20, 2007 at 22:23
I'm a big fan of hybrids. So yeah, let the network stuff happen, embrace it. But love the desktop too. Don't make me shuffle between Safari & Firefox just to get your webapp to work. Don't downgrade my experience.
Quicksilver (on the Mac) is some supernatural glue that instantly binds together web & desktop. Use it to Twitter, to del.icio.us, to smooth out any rough edges. There's a great deal of unexplored richness in the hybrid world.
Posted by: gavin | April 20, 2007 at 23:09
The real power is in the data and the connections. Twitter is a messaging system. It happens to have a web interface, but also has SMS, desktop, dashboard, Blackberry, Treo, API, screensaver, and probably other kinds of interfaces of which I am not aware.
Posted by: Jon Crosby | April 21, 2007 at 10:15
Thanks for your great input, guys.
Posted by: Manuel | April 21, 2007 at 17:21