Software as a Service vs Browser-based UI

Adam Bosworth writes about how providing software as a service is better than providing software as, well, software. And he's right in a lot of ways.

But saying that 'users prefer browser-based apps' is missing it I think.

Users that use something occasionally prefer simpler applications, no doubt about it, but users that use something constantly prefer richer applications.

Take a look at the POS terminal at any retail store, and you're not going to see a browser-based app. You're going to see a custom application designed to enable those workers to process the sale as efficiently as possible. A browser-based UI would make it easier for the occasional user to process a sale, but maximum throughput would be much lower.

A custom application for a POS system, or an airline booking system, or almost any system actually, can be deterministic, something that's difficult to do with a browser. A user can walk up to a terminal and press F7 and type in a book name and press Enter to see a list of books. If there's something the user knows how to do that's a few steps away, the user can press F4, 1, 3, (two menu options), and type in a name.


There is no way to do this today with a browser. The closest equivalent would be having a UI that has menus for all the options, and have the user click on the equivalent option, wait for the page to load, and type in the name.. but this is a different process, and it requires more thinking about the computer and making sure the computer is ready for the user to start typing (that the page is loaded, that the focus is in the right place).

It'd be interesting to create a browser front end that tries to be deterministic. I think all it would take would be mapping accelerator keys to URLs, and buffering keystrokes so that F4 1 2 and typed 'Steve', the browser wrapper would do the right thing.

But doesn't this seem like hackery?

In situations where your users are your employees (so you can train them on the system), and their productivity is tied to their throughput with the software, a browser-based UI is not the best choice.