
Amazon’s launch of the Kindle Fire tablet last week featured the company’s new browser, Amazon Silk which pulls all the individual components of a web page — images, audio, and video files for starters — into the Amazon cloud (EC2) and caches them for quick retrieval.
This greatly improves the interactive performance of web pages for those using their new browser. This speed up is particularly important on mobile devices which are often connected through slower networks and whose slower processors make page loads take longer than on a desktop at the best of times.
Does Amazon Silk have the potential to dramatically improve the mobile Web?
Amazon is leveraging their cloud infrastructure and have put the majority of the work and processing power in the cloud to drastically reduce the amount of communication to and from the mobile device. They have potentially eliminated a huge chunk of the issues that makes mobile web browsing less than ideal.
Silk can function as a standard browser — including support for HTML5 and Flash — but it can also use Amazon's EC2 to do some of the heavy lifting; for example, optimizing JavaScript, compressing content, and acting as an off-browser cache.
Loading a single website requires initiating multiple connections to multiple servers. For less powerful devices, this process takes more time than it would for a more powerful machine. The Silk browser offloads much of the processing of web pages to Amazon's cloud infrastructure which speeds up the browsing experience.
Where a normal tablet web browser might send requests to a dozen or more different servers to build one web page, the Kindle Fire and Silk can simply tap the Amazon cloud — which does all the background connecting and passes the finished product to users over its own fast, low-latency connections to the Internet.
Amazon says that for each page load, the individual tasks that make up a web page — networking, layout, script execution, rendering — will be dynamically assigned to either EC2 or the local Kindle Fire browser. The EC2 backend will take websites and optimize them for the Kindle Fire's screensize/ resolution so that the device has an easier time digesting those pages. By leveraging EC2 and S3, Amazon can cache static files in the cloud — images, CSS, JavaScript — further speeding up page load times on the Kindle Fire.
Amazon can take advantage of its high-bandwidth connection to the Internet backbone to retrieve individual page elements faster than the user would be able to natively on the device. Web content that is already on EC2 or S3 will further reduce the time it takes for Amazon to collect that content.
Split browser architecture is not a new concept. Opera Mini has been offering mobile users a similar experience for years, with its proxy servers pre-processing web pages and then pushing highly-compressed versions to their phones (and more recently, the iPad and Android tablets). Opera also offers cloud-powered Turbo compression on its desktop browser and Opera Mobile browser.
However, Silk and the EC2 cloud can pull web pages and images from the nearest Amazon servers to shave off a few additional seconds in a way that other providers simply can’t. It’s that whole shortest distance between two points thing at work.
The EC2 component will also monitor a client’s browsing patterns and use that data to predict which pages the client is likely to load next. EC2 will then pre-fetch the predicted page’s components and begin work on them, so that the complete page can be quickly delivered to the user via single server-to-client link.
There’s even the very likely potential that Amazon’s Silk browser could move to other platforms and devices, the company registered several domain names that may offer an indication that Amazon may be looking to release the new browser on Android.
It seems reasonable to think that Silk brings performance improvements to mobile browsing, so does this place Silk in the center to the ongoing Browser Wars? Time will tell ...
Steve Tack is CTO of Compuware’s Application Performance Management Business Unit.