Some thoughts about what I wish for the next-generation web
Tue 23 April 2013,
Written by Dave
in Tech & News . Tags:
Tech , Web , Rant
Recently, I've started to get really frustrated by what the web is
becoming. It seems that everything is going to become more and more
centralised. Google and Facebook currently control a huge amount of the
world's communication systems. Everything seems to move "to the cloud",
which is provided by a few large companies. Many businesses stopped
using local installations of Microsoft Office or OpenOffice, putting
everything on Google Docs instead.
And on the mobile world, people are using WhatsApp - yet another
centralised service.
The problem
And then - you get to see stories like this . If
your email is hosted for free at google, they can shut it down at any
time. You don't pay them, they don't have to continue the service. The
guy in the above article fortunately got his account back, but you still
see what problem it might pose.
In parallel, governments are trying to spy on you more and more. There's
a lot of work going on to pass laws all over the planet to either enable
them to monitor your traffic, or legalizing what they're doing already
anyway.
My wish
So what do we learn from this? What I want for the next generation of
the world wide web - or mainly the communication services, is to become
a web again.
Sorry, again?
I want the web to be distributed again. Distributed not only in a
technical way, but distributed in organisation as well.
The web's distributed nature currently only serves to provide
global load-balancing to some big companies. I want the web to be
fully distributed, with nobody anywhere having an excessive amount
of control. And happily, I think our networks are advanced enough to
actually support it.
How?
Bittorrent, for example, is more or less completely
distributed. It's based on distributed hash tables , which, when
implemented properly, work without any centralized service. Bittorrent
does this using something called Peer Exchange, so centralised trackers
aren't neccessary anymore.
Now how could you implement something like this without installing a local
client? Surely users won't download and install programs if you could just
as well surf to a website like facebook.com? Again, we already have the
technology here. Many modern web applications don't have to be connected
anymore to run - they cache everything locally. Oh, and then you have
modern browsers like Chrome and Firefox that allow you to install web
apps locally - just like you install apps on your mobile phone.
If you're a Windows or Mac user, both now have so-called app stores where
it's easier than ever to install apps locally - no more need to browse
those dubious download sites and gambling on which download buttons is
the correct one.
Many people already use facebook or Google+ using their mobile apps
instead of the web application. So why not use our new client in the
same way?
Get to the point!
Okay, okay. What I really want is this: A social network / email / instant
messenger that doesn't depend on any single central service. You could
generate your identity just like you do already when you're creating a
new SSH key. You can "friend" other people by giving them your public
key - therefore enabling them to send encrypted messages to you. Message
distribution could happen via a protocol similar to Bittorrent.
Of course, since we're distributed, we need strong crypto. It's not the main
selling point, but just a neccessity in this scheme. Most people won't care
about it, so don't even try telling them how secure it will be.
Last question: How can someone reliably get your public key when you decide
to be "friends" (in the facebook-ish meaning)? There are a few solutions, and
a viable client should support as many as possible. Some keywords: NFC,
QR Codes, trusted friends...
Getting it going
So what's stopping us from getting it done? Technically? Nothing
really. The problem, in my opinion, is getting people to use it. Even
if you had the most kickest-assest app, why would anyone install it? "My
friends all have facebook and whatsapp already, why bother?"
"It's secure, you know, governments can't spy on you, yadda
yadda" - People just don't care. There must be something else. Oh
yes, and "No central company controlling it" won't cut it either. Sorry.
As soon as there's something that this decentralized approach can provide
that any of the centralised services don't have yet, we should get it
going ASAP. But until then, unfortunately, it wouldn't be more than a
tech demo that would - at best - be used by some hackers and freaks.
If you have any idea how to fix this problem, let me know. I'm really
interested!