Monday, December 29, 2008

The Future of Computing

Imagine this: you're on the public transportation coming home from school, and since you got nothing better to do, you put on some fancy goggles, and using your cell phone's touch screen as the controller, you start playing Crysis 2 with your buddies on a virtual 50" screen. Then, when you get bored of that, you were reminded that the newest Batman sequel came out, so you go online, buy the movie, and watch it right away.
You'd prolly miss your stop and end up getting kicked off by the bus driver after you beg him to take you home, but you get the idea. It is the future of computing, and believe it or not, it is possible in a few short years. It might even be possible before the next crysis game or batman movie comes out.
This device that I am talking about will be ultra-portable, it will run as fast as any desktop, with as much storage as you need, and you can access any software, game, movie, song anytime, anywhere. And guess what? The device could be free with a two year subscription.

How?
Right now, internet connection speeds are getting faster and faster. Both wired and wireless technology is improving at an incredible speed. That along with compression/decompression techniques, such as codecs like divx, there will be a point where the connection between your computer and the internet will be comparable with the connection speed between a monitor and a desktop computer. Then you can connect to your computer from anywhere. Think of being able to bring your monitor (and keyboard and mouse) with you while they are wirelessly connected to your desktop.
You might say... "What? I can do it now!" And you would be right, this technology has been around for a long long time. Right now, you can use remote desktop (which is already included in windows) or VNC (which is free) or one of other various alternatives. One company already have a product to allow you to play Crysis on an eeepc http://www.youtube.com/watch?v=Y4cUl9WFv7g (streammygame.com) with this technology.
However what is lacking in all current systems is a reliable desktop replacement service. You might be able to connect to your computer if you have a server running 24/7, but latency will be a problem once you move out of your home wifi. But if there are multiple servers at strategic locations, latency can be overcome with fast connections to local servers. We got electricity to run to every house, it isn't unthinkable to have a reliable broadband there within the decade (but you have to give them the incentive).
This is different from the current trend of online utilities such as Google docs, where everything has to go through the browser and all the output changed into html. Using remote desktop technology, programmers will have more control over input and output, and users will still be able to choose between versions of the program to be installed on their virtual desktop.

Why?
Everything you need with a full desktop computer, you can do with a cellphone and a dataplan, but now you won't be wasting your hardware when you're not using it, which can make it cheaper. Connect any input/output device you want (monitor, keyboard, mouse, projector, speaker) and you have a cellphone-sized (and priced) computer. Even if you don't plan on taking your computer everywhere, you can save money on the computer you leave at home, and use it to get a better monitor and sound system.
Also, now that "your computer" is a virtual one running on servers, you will be able to access any content that is on the servers instantaneously (movies, songs, software) since they are actually on the same system. You will still need to pay for it, of course, but you can have your entire HD movie collection online, and it wouldn't take up any of your personal disc space the server only needs one copy.
Now what the "stupid user" actually have is only a connection device, servicing or replacement wouldn't be too bad. When there is a hardware problem, it will be solved at the server. When you have a software problem, just ask for techsupport to get a professional to fix your virtual computer online.

DRM, piracy, and online distribution
For this system, it makes much more sense to have all the content with the service provider, and have them distribute it to the user. Instead of everyone having a copy of a 700mb movie, it will save space to have just one copy which everyone that bought it can access. Here's where DRM comes into play.
DRM, or digital rights management, is a hated phrase for anyone who knows what it is. Instead of protecting your digital rights, as the acronym implies, it restricts them. You may only install this game on 3 computers, and no more. You can only listen to these songs if you have an internet connection to verify their authenticity. You have to jump through burning hoops if you wanted to make a parody out of the material you bought, as you are entitled to do. But what if DRM's actually protected everyone's rights, not just the content providers?
Instead of bringing some DVD's to a friends home only to find that no one likes them except you, just sign on to your account and you will be able to choose from an entire collection of your bad taste in movies.
Instead of going through the trouble of ripping a CD, then labelling it, then choosing the songs you like, then putting it on your sd card for your mp3 player and cellphone, you will be able to have complete access to everything you own on every device you have.
Instead of being sued for the theme song of the movie you made for a charity, your movie-making software will automatically credit the songwriter in the credits, and notify you how much you will need to pay for every commericial sale of your flick.
This is what will happen when all the content is on the centralized servers. You can buy access to the content, and they will be synchronized with every device you have through DRM. Your digital rights will be managed well. Piracy will be too much work for the general public to cut into the profits of anyone.

But!
So now, this technology will allow for a great cheap consumer product and might even eliminate piracy, but it comes with two huge caveats. In order for this to work well, you almost require a monopoly. If you switch providers, you instantly lose access to all of your digital possessions, so you're locked to a single provider (like ipod with itunes). In order to access your computer without lag, the provider will need to have servers in many local areas. It would be a great waste of money to have too many providers put up that many servers. This is good for the company with the monopoly, and it may also be good for the public because there will be enough profit from all the content being sold on the platform for the service to be free. However the risk of mismanagement is great.
Second, privacy will be another problem. Suppose this system was introduced in China or Australia, what will prevent the government from issuing a subpoena for all of your emails and documents? Even a single malicious hacker would be able to cause significant damage to your privacy.

Conclusion
Way back before computers weren't personal, universities used to have only a few computers that many researchers had to share together because they were so expensive. Now computers might come full circle, and return to big rooms with only a single wire connecting it to the world. Except now we can finally play Crysis on it.