Does the Internet truly need another Web browser? Perhaps, and particularly so when thinking about browsers for mobile devices. In the midst of Amazon launching a spate of new devices last week, they also introduced something non-hardware related. Amazon Silk is the company's new "cloud-accelerated" Web browser, and it will initially be available exclusively on the Kindle Fire.
It's called a "split browser," which uses an architecture that accelerates the power of the mobile device hardware by using the computing speed and power of the Amazon Web Services cloud (AWS). The Silk browser software resides both on Kindle Fire and on the massive server fleet that comprises the Amazon Elastic Compute Cloud (Amazon EC2). With each page request, Silk dynamically determines a division of labor between the mobile hardware and Amazon EC2 (i.e. which browser sub-components run where) that takes into consideration factors like network conditions, page complexity and the location of any cached content. The result is a faster web browsing experience, and it's available exclusively on Kindle Fire, Amazon's new Kindle for movies, music, books, magazines, apps, games, and web browsing.
Modern websites have become complex. For example, on a recent day, constructing the CNN.com home page required 161 files served from 25 unique domains. This degree of complexity is common. In fact, a typical web page requires 80 files served from 13 different domains. Latency over wireless connections is high - on the order of 100 milliseconds round trip. Serving a web page requires hundreds of such round trips, only some of which can be done in parallel. In aggregate, this adds seconds to page load times.
Conversely, Amazon EC2 is always connected to the backbone of the internet where round-trip latency is 5 milliseconds or less to most web sites rather than the 100 milliseconds seen over wireless connections. In addition, EC2 servers have massive computational power. On EC2, available CPU, storage, and available memory can be orders of magnitudes larger than on mobile devices. Silk uses the power and speed of the EC2 server fleet to retrieve all of the components of a website and deliver them to Kindle Fire in a single, fast stream.
In addition to having more horsepower than a mobile processor, AWS has peering relationships with major internet service providers, and many top sites are hosted on EC2. This means that many web requests will never leave the extended infrastructure of AWS, reducing transit times to only a few milliseconds. Further, while processing and memory constraints lead most mobile browsers to limit the amount of work they attempt at any one time, using EC2 frees Silk from these constraints. If hundreds of files are required to build a web page across dozens of domains, Silk can request all of this content simultaneously with EC2, without overwhelming the mobile device processor or impacting battery life.
Traditional browsers must wait to receive the HTML file in order to begin downloading the other page assets. Silk is different because it learns these page characteristics automatically by aggregating the results of millions of page loads and maintaining this knowledge on EC2. While another browser might still be setting up a connection with the host server, Silk has already pushed content that it knows is associated with the page to the Kindle Fire before the site has even instructed the browser where to find it.
We have all ideas that Silk won't be stopping at the Fire. Amazon probably didn't develop something so sophisticated only to use on a single product, much like Mozilla didn't develop Firefox to run on just one operating system. Will Amazon license the browser out to other mobile devices? Will Google be interested in it for Android? We're hopeful that it spreads its wings a bit, and sadly, we won't even begin to see how powerful it is until the Fire starts shipping.