Tuesday, 4 October 2011

What Will Amazon Silk Do for the Web?

Amazon's Kindle Fire might just change
the way we compute in the browser

I had a discussion with a friend recently about the idea that some day, what I thought would be a few years out from now, mobile devices could delegate all of their computing to the cloud, doing everything from graphics rendering to text switching in web pages.
Well, it looks like it won't be a few years away after all.
Amazon has just released its new Kindle Fire, including a revolutionary browser: Silk. Silk is designed to be a thin client browser which delegates much of its work to a Silk back-end server. The back-end server does the heavy lifting including retrieving web pages, resizing images, and anything else that can be outsourced. The best part?
It's all done "in the cloud".
This is Silk's claim to fame regarding it's performance. Much of the work done by a client-side browser in establishing multiple connections, downloading images which need to be resized and positioned, and other actions, are now all completed by an army of high end computers floating around the Amazon EC2 cloud.

Even modern browsers establish several connections to a Web server in order to collect everything you need to see a Web page. This takes time and resources which are especially critical on mobile devices like phones and tablets. But Amazon Silk outsources all this to the cloud for you, accelerating web page delivery to the end-user.

What does this mean? Well with the growing emphasis on mobile web apps and companies like Amazon and Apple all advocating thin devices (storing everything in the cloud), mobile devices can become lighter, thinner, and have longer battery lives. In addition, computation which was previously prohibited on the small CPUs of mobile devices can now be done transparently by the cloud without much (or perhaps any) application modifications by developers since the core of the whole application delivery stack is the same, chiefly, JS+CSS+HTML. This may even change how developers create web applications. Webpage design could do with a re-imagining that could leverage even more of the power of Silk and the Amazon EC2 Cloud. If this works out for Amazon, and developers start designing web apps for optimal delivery via Silk, the whole mobile browser landscape could change. Tasks like machine learning, matrix calculations, simulations, large-scale game environment rendering and state modelling, and kaboodles of other interestingness could all be implemented using browser technologies but computed in the cloud if any or all JavaScript execution could be moved to the cloud.

Is this a silver bullet? Not yet. There is still a bottleneck in network communication for the time being, but that's being chipped away at as well. I know network communication is fast, but to make real-time computation a reality in the cloud, the request for a calculation and its response will have to be nearly instantaneous to support the kind of user experience that users would get from a similar application running on a high-end desktop computer.

No comments:

Post a Comment