Monday, September 6, 2010

Why our Internet2.0 is broken

The modern Internet which I'll refer to as Internet2.0 is being seen as a new applications platform. It is no longer a series of "pages" that you click through, it is rather a collection of applications. I just needed this intro in case you still thought of the Internet as pages. So the Internet is now the Operating System, and different web sites (Gmail, Facebook, Twitter...etc) are the new applications if you will. I've got news for you, this Internet2.0 thing, is horribly broken! Here is why

To begin understanding the kind of problems we have to go through using the online systems of today, let us apply the same online mechanisms, to standard old and boring desktop apps. Let's imagine the following workflow, You are 3 friends working on an important report, and you all share your progress online, each person via his blog

  • You login to your computer, you start your email application. You find your friend has edited the report, emailed you the new copy and blogged about his progress

  • You check your email, find the attachment, you download that

  • You must copy the attachment over a USB stick in order to be able to open it in any other application. You copy it to the USB stick

  • You open your word processor. You authenticate to it!

  • You plugin your USB stick, open the document, edit it, save it

  • Re-copy it to the USB stick

  • Re-open your email application, upload the attachment, send it

  • You visit your first friend's blog, you add a comment that you updated the report.

  • Your third friend is not notified of your comment

You get the idea. If that user experience sounds horrible, it is pretty similar to what we face today with web applications especially if you want to use different applications from different providers in concert. It is just plain broken. Here is my criticizm spot on

  • Why do I have to login separately to each and every web application (Google, Facebook, Zoho, Twitter, MS...)? On my Linux PC I don't have to go through that

  • Why do I have to teach each web application my social graph. Reconnect to all my friends on facebook, then twitter, then Google Buzz...? The connectivity between me and my friend belongs to us, it does not belong to Facebook. Any other app on the Internet which I allow to access this data, should be able to. It should not be held captive by the likes of Facebook

  • Assuming I love to use a email address (which I don't :) and like to use Google docs to edit my email attachments. Why do I have to download the attachment to my PC first, reupload to Google to edit, save, download, upload, email, yikes! The Unix architecture designed 10s of years ago, was all about sharing data between apps (pipes), why in this modern age are we unable to easily connect different webapps especially from different providers

  • When I write a comment on my friend's blog, the comment is MINE. I created it, I own it. My friend's blog maybe displaying it currently, but it should not own it! If my friends are interested in seeing my comments on every website I visit, and if I allow them to, they should be able to do so very easily. The 20 comments I've written today, should not die if the websites I have written them onto decide to die

  • The same actually goes for using online editors a la Google docs. Google should not "own" the document. The document is mine. It should be stored in a place I control. I may "Allow" Google web based editor to read/write it now, because I "choose" to. Because it maybe the best editor around. Not because I have to, and not because I need to "migrate" my data off of Google should I want to use something else. If I decide to use Zoho editor tomorrow, I should be able to allow it to access my data in-place. Just like how on the desktop one can use MS Office, OpenOffice and Mac Pages to open a presentation on one's desktop

As a new application pops up, say like Apple's new Ping service, you need to (again) rebuild your social graph teaching it all your friends. Afterwards any music you purchase will show on Ping, but won't really show up on Facebook because Apple and Facebook couldn't agree on that. Can you say that again, "I" purchased a music track, and I want to tell "MY" friends about it, and I can't because Apple and Facebook couldn't agree! Can you see how horribly broken our Internet2.0 is

How I see things could improve is as follows. Each user needs to own a certain web exposed storage space somewhere. All of my online trails (documents, friendship, Likes, comments, blogs...) should live there. I should "allow" Google docs to read/write to those document if I like it. Tomorrow I could revoke that access and allow Zoho for example or any other online editor. My connections to my friends should be stored in that storage space. Any application that I allow can see who all or some of my friends are. For example I can allow Linkedin to access my work friends, while allowing Ping to access my music friends. If I make a comment somewhere on the Internet, this is content I created, If I Facebook style "Like" something, it is again content that revolves around me. It should be stored in my storage area, and Facebook should be notified of it and allowed to display it should I want to. This architecture makes it quite easy for a new young startup to create a Facebook or Gmail killer tomorrow. Since the application from day one will have access to all my data, emails, friends, comments, blogs...etc i.e. as much content as I want to give it. We become no longer locked into different online service providers. We can switch at will. This is the way how it can and should be done. The diaspora and FreedomBox folks are doing some awesome work and designing their systems along similar lines of thought. They are however more ambitious, and are after user data confidentiality, while all I'm asking for is open-data access and portability. They want to replace all of today's web applications with distributed clones that you can run inside your home. That would be fantastic, however I still it as advantageous and easier if a user can use "closed" cloud apps like Gmail or Facebook should she want to, and switch to a different provider at will, while still owning her online digital trail and every piece of content she ever created


Ahmed Soliman said...

Excellent article. I would say that it's a different perspective to richard stolman's pov of the cloud computing. It breaks the principles of the free software and free computing because simply it's only that you lost the freedom of modifying the software but also your data.

Abd4llA said...

Futuristic and genuine. Would be awesome if that became the case, although I'm not that optimistic it would happen in the near future. It needs a driving force, someone as big as Google, I'm not quite sure Google would be convinced with that. It's the same case as when RedHat tells people "Stop thinking of the license as *the* source of money". It needs a paradigm shift.

Mohammed Safwat said...

So you want everybody to think the same way(even in a specific area)! For example, you want google, facebook, twitter, ...etc to be able to serialize and deserialize data between each other in the same format.

Can you convince all those service providers to do so? I guess not.

I don't know a direct way for unifying the format for documents and data, but for contacts and social relations maybe we're seeking a standardization effort for social networking aspects, something similar to what networking protocols, at some time, underwent such efforts for standardization, replacing the diverse protocols each vendor shipped with its SW/HW platform.

Ahmed Kamal said...

For "document" style data, we already have ODF, which AFAIK Google uses internally for Gdocs. Even MS supports that. For contacts/calendar/metadata yeah, it should be standardized. It needs to be. If I'm saving ten years of my digital life in a certain format, it'd better as hell be an open standardized format with multiple implementations

Whether or not we can convince Google and the likes, is another story, however we (the geeks of the world) need to speak up. They need to feel the pressue

bassemreda said...

I think 3affifi makes a good point, there are no standardized way of saving 'data' whether it be emails or calanders or even text, meta data is another big problem, ,how do u save a comment, or a 'friend' connection in a standard way between webapps.

The bigger problem is that to really own data you have to store it yourself and that presents the hassals of maintaining data. One of the strong points that cloud apps try to sell is that the maintenance of the system and the data is taken out of the hands of the users. Which is great for people who don't want to be bothered and just start using things.

Another bigger problem is that if you centralize your data and it is compromised all your apps are broken! Now I don't think that this would be progressive in anyway. Cloud apps thrive on decentralization, I could access gmail from any machine, my data is everywhere.

Noha said...

Wow, next thing you know, you'd be standing under the shower, crying, "Wash!"

Sounds too good to be true, though it makes perfect sense!

Kim Briggs said...

The original premise sounds like double-speak. There is talk included about open standards and Google Docs, etc., but you and your friends are emailing a report to each other?! Any system can be abused. You and your friends aren't even sharing the document online.

Ahmed Kamal said...

Hi kim, The example is made up to emphasize the point. It sure is not a tight example, but I hope to have made the idea clear