Amazon Silk Browser
A few months ago Amazon announced the “Amazon Silk Browser” which to be featured in the Kindle Fire tablet and in this article we’ll be taking a look at what the Silk Browser and how it works. It should be noted that this information has been put together by information currently made available from Amazon and other sources on the internet and, as Amazon Silk, is still a relatively new technology, some of it may be likely to change.
Silk, according to the Amazons Silk blog, is an all new web browser powered by AWS (Amazon Web Services). With so many options for web browsing currently available, including Internet Explorer, Firefox, Chrome, Safari, and Opera we may wonder why another one is needed but according to Amazon – Silk Browser is different and reflects changes in the way web page work.
THE CHANGING FACE OF WEB SITES
Web sites have seen a gradual evolution from flat, static pages, to the dynamic, multi-domain content we see and experience today. In the early days of web browser technology sites were thin – you would likely have just a few web pages, each with perhaps an image or two, and optimisation, for small page sizes and fast load times, was king. For web pages to be successful they needed to be small, and light, so they could be transmitted over the slow networks that were available at the time. Many of the browsers we use today were founded back in that time – and that time was not even too long ago – we’re talking 1994 onwards. When a user requested a web page the web page data would be transmitted down to the local browser, together with any images, and the browser would be completely responsible for understanding, collating, laying out out and presenting the information.
With the dawn of web page scripting browsers started to receive much more complex information. The information contained in a web response was no longer simple flat static data, the response would often include instructions telling the browser other places to go for information, how to process data, and how to specifically lay information out. Also, as the speed of internet data throughput increased so too the content increased and became much more dynamic so single request/response connections evolved into multiple request/responses. This evolution continued until the content itself was no longer stored in just one place – these days when we visit a website the information can come from a number of sources and locations and the local browser has to work hard to gather the information together, put in into some kind of order, and present it quickly so we can have a positive browsing experience.
The curious thing is that many of these request/responses are repeated over and over and the instructions sent over the internet often need to be reprocessed – even if it has not changed very much.
TWO-TIER WEB BROWSING
Silk Browser aims to address a number of these problems by breaking down web browsers as we know them today and building a new two-tier web browser that consists of a more structured, and logical, set of of sub-systems that can work together to deliver web pages. Silk Browser consists of primary components: a front-end component built primarily from Webkit, and a back-end component built using Amazon Web Services. To contrast Silk to how other browsers work instead of web page information being sent directly to the client device for processing the web page you request gets sent to Amazon servers which does most of the hard work and then transmits the final result to your local browser.
Silk Browser Front-End
Silk Browser Back-End
At the back-end Silk is based on technology from Amazon Web Services and in particular the EC2 (Elastic Compute Cloud) service. EC2 is useful as it is able to increase (and decrease) resources as and when they are required. Many companies today are becoming reliant on the Amazon EC2 infrastructure and whilst it offers great potential there is also some risk. Back in April 2011 CNET reported that a partial failure of AWS infrastructure affected operations of a number of dependent sites including Reddit and Quora.
For effective communication between the front and back-end Silk uses an open source network protocol known as SPDY. SPDY, pronounced, SPeeDY, is a Chromium project that aims to reduce the latency of web pages, that is how long they take to respond. SPDY is a protocol in the Session layer which sits on top of TCP in the transport layer and SSL in the Presentation layer. If we cast our minds back to the OSI TCP/IP model there are 7 layers which describes the mechanism for sending and receiving information on a networks. The layers from the bottom up are the physical layer, the wires and so on, the data link layer which handles framing, and the network layer where the IP part of TCP/IP sites. Then there is the transport layer where TCP sits, the Session layer which looks after sockets, the presentation layer where SSL sits, and the Application layer where HTTP and SPDY, and others sits. Although SPDY is not a replacement, as such, for HTTP (not at the moment anyway) it does do certain things more effectively than HTTP.
A key feature of Silk is cacheing. Silk can use its own algorithms to detect websites you may likely to visit next based on the activities of others. Initially this feature may sound a bit big brother-ish but if it speeds up the browsing process then it is likely to have advantages. Visited page will will also be cached so they do not have to be reprocessed time after time.