I’ve been astounded by some of the web based applications I’ve seen lately particularly www.ajaxwrite.com and I do like camp fire. But there has been something niggling in the back of my mind about these services, that’s even assuming I’m always connected to the online.
Let me briefly outline three cultures. On the Microsoft Windows platform developers interoperate with the Microsoft defined standards (they’re not standards by the way). You do this or die i.e. if you don’t interoperate with the other application on the machine customers find your application difficult to use. There are notable exceptions, but this is a general rule.
On the Apple Mac platfrom there’s a culture of interoperability. If I drag something from application A to application B, something sensible should happen. I’ll outline this with a GNU/Linux example. If I drag a file from the file manager to a text editor, if the file is a text file the editor opens it; if it’s not it copies in the full file path. That’s a sensible default.
On the GNU platform (GNOME on Linux/*BSD/Solaris) there has long been a culture of interoperability eg: I can run KDE applications on GNOME. There has been a more recent culture of interoperability on the data side, I can now share contacts between my email applicaiton and IM application even though they come from different providers. The fact that the technology is open makes this interoperability even more pervasive.
So if you’re a computer user you’re generally comfortable on one of those platforms and used to having tight integration in a suite of applications. The catch here is that you’re used to tight integration in applications from multiple providers!
Now, I’m happy with my googlemail, I like ajaxwrite and campfire is cool. But they don’t integrate. We’ve moved away from my desktop apps (I’ve not yet because of this non-interoperability) of Evolution, OpenOffice.org and Gaim. How do I share my contacts list between googlemail, ajaxwrite and campfire? How do I keep a record of all my campfire conversations ad infinitum? Do I have to trust these businesses to stay open forever, with the same service agreements?
The technology is cool. We can do stuff with thin client solutions on the web that we couldn’t concieve of before the advent of DOM+CSS2. But the integration is lax. We’ve created silos of our data, which neatly ties us to a specific provider forever. This is what we have done in the past with Microsoft Office and that has gotten us into quite a mess (that story is well documented and is for another day). Plus we’re going to have to spend the next five years re-inventing technologies which allow us to share contacts/chat logs/etc.. between different providers. And XML is not the answer. RSS (a specific XML schema) and XML-RPC show that XML is part of the answer, but the other parts are a good simple specification and mass adoption.
The technology is there for me to move from my “thick client” apps to the web. But I don’t see myself doing it any time soon. The applications simply don’t integrate well.