12 April 2006
I've been watching lots of news about Web 2.0 -- integrated, online, social services. There are so many interesting new services out there for shared calendaring, photo storage, bookmarking, whatever.
I love the idea of being able to share some of my data, but I don't love the idea of having that data only exist out on someone else's centralized server. I've reluctantly been using del.icio.us to share my bookmarks between workstations, notebooks, and my phone, but I have no backup plan when del.icio.us goes down. If these services go away, I've lost all my data, and that's the concern I have with all of these services. I could have my calendar at one of these cool new services, and Claire ad I could use it to synchronize schedules, but what if I don't have internet access or the service provider just goes away or closes up shop?
I'd be much more comfortable with a more distributed approach where I can run the components on my own server, house my own data, and have it communicate with other nodes. Large-scale providers could still run these services for all the normal people, while other organizations or individuals could run their own -- big weblog hosting services and individuals running Blojsom can still communicate.
Distribution also allows for better scalability and isolation of failure. That's why I run my own web servers, mail servers, weblogs, photo galleries, jabber server, etc, and they all inter-connect with the rest of the world's servers -- I am on a well-connected island and master of my own data! If del.icio.us could distribute to personal servers, I'd definitely be running a node.
Riya is the latest Web 2.0 application to pique my interests. They apply face recognition to photos to help you automatically tag images with people's names as you upload the image. That would be amazingly useful, and I want it as a component to integrate into my photo gallery. I guess the key to winning my approval is publishing an API and making your service available statelessly to operate on data anywhere on the web. Google Maps is a good example of this -- I can provide the location data, and they just map it.