« SVK 2.0.1 | Main | Hiveminder. Now available with a lovely chatty IM interface »

April 30, 2007

Actually, I AM on an airplane...

...I'm writing from about 38,000 feet, somewhere over the Atlantic ocean.  Right now, I really miss being able to work with my bug tracker and databases. But I'm getting a lot of software written and have cut my inbox down from over 400 new messages to a more manageable 26. My version control system and mail client can sync their data with a server before I go offline.

Perhaps you saw David Hanson's post "You're not on a fucking airplane" earlier this month. In it, he rails against the current focus on 'syncable' Web 2.0 applications.

What David tells us is that we all need to unhook, unwind and pretty soon we're going to have network everywhere anyway.  In fact, the only people who want their applications on airplanes are 'traveling salesmen or geeks who attend too many conferences.' I'm actually in both demographics, so maybe I'm just deluded. But I'm going to come out and say it anyway.

Hosted applications are wrong. [1]

Hosted applications are a return to the days of mainframe culture. Everything you care about lives in the Great Machine.

It just so happens that these days, the 'mainframes' are built on the backs of open source software. Some, like David's 37Signals, actually help bring new open source into the world, but all too often, they're just consumers of open source, not active players in the community, but I'll save that for another rant.

Hosted applications are not 'open'. I don't care if you get a full data feed or a free API that lets you spread your queries across a thousand servers. Someone else has full and unfettered access to your data. (While most of this post was written beforeNat's post on Radar, he's on the same page.) Someone else runs the applications for you. You have no real guarantee that they'll be there tomorrow. You have no real guarantee that they're not taking your private data and leaking it (or selling it) to some third party.  You can't choose to move your application in house when you need better security, better uptime or just start to feel uncomfortable with the provider. 

If you thought things were bad after the first dotcom bubble burst and the people who sold you software vanished overnight, just imagine how you'll feel when the folks who host your photos, do your books and keep track of your todo list go off to work for Google and vanish without a trace.

People have started to talk about 'Sync' as the silver bullet that will let Web 2.0 survive server outages and plane rides. They're half right. (And here's where I agree with David, even if just a little bit).  Being able to use a single-user imitation of your hosted application offline is...not exactly actually all that sexy.

There's got to be something better.

I don't want a wordprocessor that only 'fully' works when it's connected to Fooble, your word processor vendor.

Sync isn't going to do a lick of good when Fooble get bought, go out of  business, discontinue their wordprocessor, "upgrade" the software  out from underneath you or change their acceptable use policy to  say that you need to pay them if you're using it to write business letters.

Don't get me wrong. I'm absolutely thrilled that applications can make use of internet services, particularly when those services _aren't_ something that could run on the desktop. Moving essential functionality to the server is great for the business people and it  makes the developer's job a lot easier. But from a user perspective, it just sucks. Hosted apps are the most degrading form of lock-in.

If your vendor has embraced Web 2.0, you'll have easy access to your  data, but your app could vanish at a moment's notice. And unless you have a contractual relationship with your app's provider, there's not a thing you can do about.

That's the gist of my Chicken Little-esque rant.

So, the obvious next question:  Do I have a better answer?

Of course I have a better answer.

And it still involves that dirty word.


Sync is only slightly interesting when you live in a client server world.  Sync lets you put a copy of your address book on the server. Sync lets you download your email for offline use.  Sync lets you keep a copy of your software project on your local disk for offline hacking.

And this would all be fine if you could depend on your server to be there. No matter where you are. No matter whom you're talking to. No  matter what sort of program you're working with. 

Unfortunately, we only have magically connected servers that never crash in fantasyland. Anyone who tells you that they can provide you with a server you'll always be able to access is lying to you. Anyone who tells you they can provide you with Internet access that works everywhere you need it to is  lying to you.

The only sort of sync that makes sense is peer to peer sync. You should be able to share documents and applications with anyone you're working with.  Your application should be able to share a full copy of all the data you're working with.  When you sync with someone a second, third or 300th  time, your software should /know/ when you last synced and whether any of your changes have already propagated through some other chain of syncs.  When your computer has that kind of information, it can Just Do the Right Thing when reconciling changes.

Sync will set you free.



[1] We make Hiveminder.com  It's a fantastic collaborative task tracking tool for regular people, alone or in groups. We've built tools to let you sync your Hiveminder to a textfile, create and update tasks by mail, download tasks as an Atom feed, but it's not nearly enough.  We're working on it ;)


TrackBack URL for this entry:

Listed below are links to weblogs that reference Actually, I AM on an airplane...:


Feed You can follow this conversation by subscribing to the comment feed for this post.

Great post ...

I go both ways on the air connectivity. I do enjoy my quiet time - but on a trip to Milan on Lufthansa last year, it was actually handy to do a bit of advanced research on the company we were going to visit, right on the plane. I guess the limiting factor, which could be a good thing, is that the ol' laptop battery only lasts about 2 hours ... so the rest of the time I have to do something else.

I don't think the barriers to adoption necessarily have to do with "sync" or "offline web apps" ... but more to the point you raised - all your data are belong to them! I wrote about this a couple months back - http://dougtoombs.com/2007/03/22/why-large-enterprises-arent-joining-the-web20-love-fest/ - and personally I know my employer would never agree to having our sensitive corporate data on external servers, outside of our control. I don't think the Web2.0 crowd quite gets that point yet ... the self-congratulatory love-fest just feels too good, I guess!

Ha... Notice the (and if you are it doesn't matter) in the title of his post.


Well, "sync" is not a corporate thing really. It is a thing for people who don't have access to banks of servers. All the points are correct, but there are people, such as myself who want to run an experiment:

Can I be part of a co-operative instead of a corporation?

I'm canadian, so I've still got network neutrality.
My apps can scale with the big boy's cause i've got EC2 and S3.
My "Development Team" is the lazyweb, there's enough code out there and being developed to satisfy me.
My "office" is wherever i can get signal and coffee.

And now i'm getting access to a reasonable, distributed office suite and apps online, where i can _collaborate_ freely with whomever.

Look at the privacy issues today: Your data is not safe anywhere. All over the world they sniff your traffic, can search your house, and of course can just take that precious laptop. By the Hammer man, if you show up to a library in Arkansas asking about say, maps to oil refineries or something or take out one too many books on a "verboten" topic then you go on a list. We can't even talk to much about this because the no-fly list is pretty random.

P2P sharing is the way, I'm in total agreement, so much so that I'm actually posting here... for everything. That's how you cut out a large part of influence by companies over your data.

I have the same view about my quiet, non computer time as i do about Python:

I have discipline. My tools do not enforce it upon me. I enforce it upon them. If i need quiet time, i'll take it, connected or no. Why would it be any other way? Just because someone is shouting does not mean that I have to answer. Let me check.... Nope, I still have no king.

I think some form of open sync would be excellent. I have many online service that I think would benefit from this. For me the biggest issue is the trust that the company and MY data will be there.

The comments to this entry are closed.