I’ve spent the morning reading about Google Gears (I guess it’s just called Gears now, but new name’s brevity just leads to confusion). Gears is an open-source Google api which allows users to save data offline, maintain the application in a network failure, and several other things. It makes using apps like Google Docs possible on a moving laptop where internet connections come and go.
After a few hours of reading about the API, seeing all the cool things that can be done, and imaging the possibilities for some of the apps I’ve worked on– I keep coming back to the same problem: it requires a client-side install. To me, the web means you don’t have to install locally. A website should work whether you are at your home pc, in an internet cafe, or using a friend’s pc while on holiday.
Silverlight has the same problems. You can do everything on the client, almost, with Silverlight– but it requires your user installing the plugin.
If we can freely get users to install applications, we don’t need dynamic websites at all. We don’t need javascript. We don’t need Ajax. We can just code to the machine (or whatever installed Framworks like JVM or .Net they are using).
But, I guess a generic plugin like Gears or Silverlight from big, respected, companies are necessary. Anyone who has every had to upload images to a website knows how painful it can be when you have to click on a browse button to upload each image individually. Drag and drop and treeview controls on the web have always been crafty tricks to make an application look like a thick-client desktop application. We have always been restricted to the standards that the browser makers agree to. (I know there is the argument that this is all defined by W3C, but the truth is that we developers look more at browser adoption than at what W3C says we should be using.)
It seems strange to me to say “If you want to use this website, download and install this plugin” for anything other than a Flash based app.
I’ve been in so many design discussions for new projects where someone asks “But what if they have javascript turned off?” Now, we assume that everyone enables cookies and enables javascript. Now, we have to see if we can get them to download something new.
I’m still not sure about Gears.