Web Apps Need More UI, Not Less

I haven’t used Chrome yet, though I know people who work on it, and it looks like a good browser with some good new ideas. But I’m unsure of the benefits of one of its main talking points: that what web applications really need is to have less browser “chrome” around them. As I put it in an IM to Julian Missig yesterday:

I think the problem isn’t that the browser chrome has too much [UI], it’s that the apps inside have too little.

Too little what? What are the web apps lacking? Since you ask:

A menu bar. Despite today’s fashion to get rid of them, menu bars are really useful. They’re a great interface for discovering the capabilities of an app, and for accessing rarely-used but important features. That’s why they were invented. Denied standard menus, web apps have tended either to splatter buttons all over the screen, or implement their own menus out of DHTML (usually doing a terrible job of even basic usability.) Keyboard shortcuts, if present, are divorced from menus so they’re not discoverable; and on the Mac at least, they awkwardly use a different modifier key (Ctrl, vs. Cmd) than “real” shortcuts.

A filing system. Web apps let you manage content, which often takes the form of documents, aka files (word processing, pictures, etc.), but there’s no standard mechanism to manage these files—the whole document model introduced by the Xerox Star and popularized by the Mac’s Finder doesn’t exist. Instead each such web-app has its own incompatible (and mostly lame) way to list, rename, copy or delete documents. If you’re lucky, it will support some modern conveniences like direct manipulation or a trash. What none of them give you is interoperability: if you want to take a document from one web-app, like Flickr, and manipulate it using a different app, like GMail or Photoshop Express, you can’t drag it across, or even use a standard file picker dialog box. Your only options are to copy and paste a long cryptic URL (and deal with cross-site authentication), or to take the document on a scenic detour through your computer’s real filesystem, downloading it from one app and uploading it to the other.

Offline access. There are in fact still times when your computer doesn’t have access to a network. (Even at über-connected Google, the commuter buses are prone to WiFi outages.) Or the network might just be infuriatingly slow or laggy. Losing access to your data in those situations is bad. Particularly in the case of email, I’ve been spoiled by IMAP, and Mail.app’s excellent offline support, long enough that the idea of using webmail is a complete non-starter for me. (This problem, fortunately, is being addressed, both in the form of Google Gears and in the parallel, but hopefully converging, offline-storage functionality being drafted for HTML 5.)

More than four fonts. The last time I had only four fonts available for documents was in 1985, before the LaserWriter Plus arrived. Currently on my computer I have an embarrassing overabundance, several hundred. Too bad web apps can’t actually discover what fonts are installed; instead they fall back on the deathly dull overused set of “safe” fonts like Times and Arial.

I’m sure there’s more to add to this list, but I’ll stop now. Suffice it to say that in too many ways web-apps are still like the Emperor’s new clothes, or like Samuel Johnson’s dog walking on its hind legs (“it is not done well; but you are surprised to find it done at all”), and the enthusiasm for them often seems to be proportional to the shittiness of the native UI of the enthusiast’s OS platform of choice. (I first noticed this during my brief stint at Sun, whose workstations all ran Motif, which made even Web 1.0 UIs look like a lovely opium dream by comparison.)

Don’t get me wrong, some web apps are great, and they all have a lot of potential, but taking away features from the browser wasn’t high on my list of what they chiefly need.

Previously: Blocks/Closures For C!
Next Post: Let’s have some different iPhone board games!