As I hope I have established by now, I am a big fan of decentralisation. This
anarchist philosophy extends to computing as well. It keeps striking me
how much cool stuff we can do with the internet, and yet we are
squandering that potential by introducing chains of middlemen in between
individual users. To me, a peer to peer system in which users
communicate directly instead of going through a third party seems ideal.
Retroshare is a program which allows this type of communication in
limited ways, and torrenting seems to be an even bigger step forward, as
far as content sharing techniques go.
Furthermore, it's worth
considering that some very bright kids out there have limited access to
computing power, as computers cost money. Companies like Google and
Pixar are able to do amazing things with server farms, but they aren't
sharing their computing power, and a creative individual can hardly be
expected to purchase a building full of servers in order to pursue
his/her programming visions.
So, what if there was a way to draw
computing power from all the computers connected to the internet? Most
people don't use their computers for anything CPU-intensive anyway, so
they could certainly spare a small fraction of that power. If all this
combined power was available to anyone with a good idea, we could have
real progress in computing and software.
What I'm proposing is
this: A voluntary computational power sharing network. Let's call it
PowNet. PowNet, like torrenting, would be accessible through a PN client
downloaded from the web. Also like torrenting, there would be many
sites users could visit to download (or torrent, for that matter) a
"driver" for whatever program they wish to donate power to. In this way,
only ideas supported by users would get power.
That's the basic
idea. It could be combined with torrenting, effectively a
storage-sharing system, to spread out a large lump of program data over
many users. It could also feature some sort of interface-sharing system
in which the main user would have the normal program interface and the
power contributors would have a secondary interface, through which a
contributor could submit content, or other forms of input.
The
goal of this kind of system would be to utilise the vast amount of
computing power which is currently connected through the internet and is
mostly sitting idle while its users browse Facebook. Secondarily, it
would allow someone using a low-power device such as a tablet or a phone
to run programs which would normally only be able to be run using a
server farm. This could have social justice implications, since
low-power devices are cheap and through a network like this could run
software which could educate the user dynamically or perform any number
of other high-impact processes.
This concept has been implemented
to a limited degree, with p2p, grid computing and volunteer computing,
but in order to have something that works like magic, which is how it
should be, I think we'd need to work on the physical infrastructure of
the internet. High-speed would be the name of the game, since a PowNet
program's speed would be limited only by the speed of the user's
internet connection. This calls up the recent net neutrality issue and
also our government's role in public infrastructure (it's mostly
neglecting it, basically).
We have passive media, we have
interactive media, and now we have dynamic media: that which is
influenced by an ecosystem of users across the world. Most of our
current dynamic media is trifling (Twitter comes to mind) compared to
what we could achieve with a sturdier soft and hard infrastructure,
especially given the kind of data-gathering sensors we put into mobile devices these days.
What
it comes down to is this: using PowNet, I could run a program on my
tablet computer which could understand me and my environment and use
that understanding to deliver content accordingly. Sounds like talking
to a person, yeah? To a poor kid living in the inner city, without access to quality educational systems, that kind of program could be life-changing.
Is the internet ready to start raising children?