In discussing DabbleDB we bemoaned the fact that it was a hosted application and longed for a version to run locally, without the hassle of setting up a web app server.
Local vs. Hosted Computing
This goes to the old debate between local versus hosted computing. The debate started in the mid-90′s with Sun and Oracle trying to battle Microsoft’s dominance by replacing “fat clients” — full-featured PCs with their own storage — with “thin clients” that left most of the computing and all of the storage up to the servers.
That was in the early days of the web and it didn’t stand a chance at that time. None of the infrastructure could support the quality of user experience that was taken for granted with desktop apps. All the software industry had to do was wait for those massive initiates to run out of breath and money.
Fast forward a decade. Now we have fast, cheap, nearly ubiquitous connectivity, super fast servers and local machines, cheap gargantuan hosted storage. And we finally have a nascent medium for distributed applications: web browsers with AJAX (and friends).
So the debate is back, argued this time by the likes of Google and Yahoo with hosted productivity applications that are walking and talking more and more like desktop apps. Applications like Google’s spreadsheet, Yahoo’s rich email client and now DabbleDB, a rich online database app (which I am sure someone will snap up for big bucks very quickly).
And so the pendulum appears to be swinging back to something that kind of looks like the days of yore: mainframe computers that knew and did all and dumb terminals that channeled them.
Will the pendulum swing all the way back to a fully hosted world? Should it? Let’s review the debate.
What’s good about hosted apps
A future of hosted apps are great if you travel, if you need to travel light, if you aren’t good for managing your own system or if you have to share computers. Here are the arguments for hosted apps laid out neatly as SSNiF scenarios:
| Stakeholder | Situation | Need |
|---|---|---|
| Mobile user | Traveling between home and work, or home and exotic locations. | …access to environment from anywhere, but without bringing along own hardware. e.g. accessing email from an Internet cafe in Thailand. |
| Member of a team | Collaborating with team members in different locations | …for everyone to be able to see the same information, up-to-the-minute at all times. |
| Unsophisticated or overly busy user | Not good at administering one’s own system with system updates, dealing with malware, upgrades. | …for simplest possible computer management. To be able to just use the machines. |
| Doesn’t have the means of backing up own data, managing one’s own system | …for data to be backed up at all times with no effort. | |
| Those of lesser means | Does not have the means to own a personal computer. | …be able to store and retrieve environment from any terminal. |
| Student | Must share computers with others, possibly in a lab environment where you don’t get the same station every time. | |
| Someone who likes to travel light | Doesn’t want to lug a computer around. | |
| IT manager or lab manager | Needs to prevent malicious software from being placed on company machines | …control over a system and how it is used |
What’s bad about hosted apps
Connected computing certainly has its place, but there will always be reasons for needing to have your apps and your data local. Here are the SSNiFs:
| Stakeholder | Situation | Need |
|---|---|---|
| Anyone involved with confidential information | Data theft happens everywhere. Cannot trust a 3rd party with our sensitive information. | … to protect information against theft, espionage, data corruption, subpoena. |
| Vendor may have faulty backup systems in place. Or, reviving data could be time-consuming | ||
| Someone we work with could store something in a hosted app that puts us at legal jeopardy | ||
| Anyone | Something happens to the application vendor that affects availability: it goes under, merges with another company, gets hit with a natural disaster | … for control over the availability of the application |
| Anyone | Decades after the application vendor ceases to exist, want to revive historic data | |
| Anyone who travels or works in different locations | Traveling somewhere where no Internet access is available | …access to the application even when Internet access is unavailable. |
| Anyone | Internet connectivity is down: any component along the chain from user to host fails or loses power. | |
| Anyone | Wants instant response for maximum productivity. Internet access can slow down at many places. Hosted application vendor may not be able to keep up with demand or may be attacked by hackers, slowing response. Meanwhile, we are in an age of inexpensive, blazingly fast computers. | …the best response possible, at all times. |
No wonder we have a dilemma. Those are some pretty strong needs on both sides of the equation. Choosing either direction trades off the other.
Vision to Steal
Meanwhile, we still wish we could consider DabbleDB but we can’t because it’s a hosted app. The same goes for other apps like Google Calendar or Intuit’s useful QuickBase. Wouldn’t it be nice if those vendors could just sell me a standalone version for my own use, or for my private workgroup’s use, without me having to be a webmaster?
Operating systems vendors: Can you please come up with a consumer-grade way to let users of standalone desktop computers run web apps locally?
Consumer-grade here means:
- No thinking about Apache or security concerns or being concerned about installing the latest version of MySQL or Perl or PHP or chron jobs.
- Install, uninstall and upgrade apps the Mac way, by dragging and dropping a single icon. Withstands operating system upgrades.
- Launch the local web app by double-clicking it. It opens into the browser.
- Allow the app normal access to the hard drive once it’s been welcomed in. Reads and writes the same types of documents as any other app.
- Let me switch on the app for others who can see my machine on the network. This way, selling into small workgroups would not require an IT specialist managing a server. It would be equivalent to the old pre-Web FileMaker Pro approach. Run it on anyone’s machine and turn on multi-user mode.
There are technical and standards hurdles to achieving this. But we need to get from here to there somehow, there being the place of convergence where we don’t care if an app is “native” or “hosted”… whether it runs as a Mac app or a Windows app or just a web app, whether the app is right here or out there. And where developers don’t have to fret over which platform to support.
Maybe someday, hosting computing will be the norm. The cost- and hassle-reduction benefits suggest that it will win out for casual users like Mom, students, information workers and by those who cannot afford their own machines (that’s a prediction). But the scenarios calling for local computing are also strong and will persist for the foreseeable future.



TurboTax Online stores your tax return information online. They just had a (minor) security breach, demonstrating one of the risks of storing sensitive information on someone else’s servers.
A TurboTax user was able to view the full tax returns of a handful of other users. The information included social security numbers and bank routing numbers. It happened to H&R Block too. I’ll stick with the desktop version, thanks! (Ditto with QuickBooks.)
[...] For more on the trade-offs between hosted versus local apps, see: hosted vs. local computing. [...]
Vision stolen! Eleven months later, Google has released a beta version of Gears, which allows browser-based apps to run locally. This is the dawn of “Either/Or Apps” that can be run either on a server or locally or both.
Lotus Notes has had exactly this functionality (and extremely securely) for about five years.
It should be noted that Google introduced Google Gears in May 2007, about a year after this article was published.
Gears was to provide offline access to web apps, so this is now designated as a stolen ideas. (They never even said thanks!)
As of this writing (3/23/10) support for Gears has wanted. Only Google Docs supposedly allows it, and I had read that Google is putting Gears aside to focus on the same functionality in the upcoming HTML5.