E Ink Kindle web browsers

Orde Saunders' avatarUpdated: Published: by Orde Saunders

The E Ink Kindle e-readers feature a web browser as standard but, due to the technology that makes them good e-readers, they are a very constrained environment for a web browser. I have a number of Kindles in my device lab and, whilst I do not do in-depth testing on them, I do use them to check sites I build are accessible on these devices. This is a summary of information about these devices and how that affects web browsing.

Names

Each generation has a base model "Kindle" or "Kindle Basic" which are also referred to as "Kindle N" to denote the generation or "Kinlde YYYY" denoting the year they were released. Alongside the base model there is typically a more expensive model with a better spec that has a given name (Touch, Paperwhite &c.).

Screen

The signature feature of the Kindle e-readers is the E Ink screen. With only 16 levels of grey the contrast ratios of designs are especially important, keeping above a minimum 4.5:1 ratio per the WCAG 2.0 guidelines will be fine.

Contrast on a backlit Paperwhite 2

Due to the display technology used in the screens they do not have a fast refresh rate and ghost images are often seen on areas of the screen that have been redrawn. This is most evident when scrolling but any transitions or dynamic areas will be similarly affected.

Ghost image on a Paperwhite 2

Technologies

There are two display technologies used in Kindle screens:

  1. Pearl: First introduced to later examples of the Kindle 2, the Pearl displays have 10:1 contrast ratio.
  2. Carta: Introduced with the Paperwhite, the Carta displays have a 15:1 contrast ratio and improved refresh.

Back light

The Paperwhite introduced a back light to the screen which is also found in the Paperwhite 2 and Voyage. Whilst the E Ink displays are readable in most light conditions, the back light enhances the contrast in low light and allows reading in complete darkness.

Paperwhite 2s showing effect of backlight

Input methods

Older Kindles use a D-pad and page turn buttons for navigation. When using the web browser the D-pad controls the cursor/pointer and the page turn buttons are used to scroll.

Kindle 5 buttons

As its name implies, the Kindle Touch introduced a touch screen. On the Kindle Touch it uses IR sensors along the side of the screen but from the Paperwhite onwards a capacitive touch screen is used.

First, second and third generation Kindles also had physical keyboards for entering text: the third generation Kindle is often referred to as the "Kindle Keyboard". Fourth and subsequent generations use an on-screen keyboard.

Kindle Paperwhite 2 on-screen keyboard

Connectivity

The only internet connectivity on first and second generation Kindles is Amazon's "Whispernet" 3G service. This has a data allowance of 50MB per month and is primarily intended for downloading books from the Kindle store and syncing reading progress. It has good international coverage.

From the third generation onwards the primary connectivity was WiFi with 3G being a - somewhat expensive - extra option on the higher spec model.

I only have one later model 3G device, a Paperwhite 2, and - whilst it will allow me to browse and download books, and keeps my reading position synced - I've not had any success using it to browse the web.

Kindle browser requesting WiFi connection

Whilst reading progress is synced, there is no synchronisation of device settings, history, bookmarks, passwords &c. between devices linked to the same Amazon account.

Browser

The browser used in third generation and later E Ink Kindles is WebKit based and is labelled as "Experimental" - even in the latest generations. It scores poorly on both the HTML5 and CSS3 tests when compared with modern browsers.

The Kindle 2 browser is labelled as "Basic Web", identifies itself as "NetFront" and does not support CSS or JavaScript by default. The menu help text even warns that it works best with websites that are mostly text.

Article mode

Similarly to Safari on iOS, the browser has an "Article mode" that will render the page content in a format that is optimised for reading on the device.

Paperwhite 2s showing article mode and web mode

User agents

The browser on later generations report two different user agents, one to the server and a second one via navigator.userAgent:

  • Server side: Includes Kindle in the user agent and the language is given as en-us.
  • Client side: Does not identify as a Kindle and the language is given as en-gb for UK kindles.

Due to the limited information given in the server side user agent string, the best analytics will manage is to report E Ink Kindles as "Kindle 3+". (That is assuming they are reported at all - I can't find any information relating to E Ink Kindles in Google Analytics and, until I find evidence to the contrary, I'm working on the assumption that they just don't show up at all.)

WURFL reports all third generation and later Kindle server side user agent strings that I've tested as "Kindle 3" with a 600 x 800 screen.

Feature support

Third, fourth and fifth generation Kindle Basics will run jQuery 1.x but won't run jQuery 2.x. Kindles Basic 7, Touch and Paperwhite 2 will run jQuery 2.x.

Even with JavaScript enabled, the second generation Kindle Basic won't run jQuery 1.x.

Performance

Kindles are heavily optimised for battery life: in typical use I find they can last a week or two between charges and they'll last for months if you aren't using them. As a consequence, their processing power is weak: even modern Kindles take 100ms to parse jQuery (this is comparable with an iPhone 4).

Websites on the E Ink Kindles

So, Brain, how do we build websites that work on E Ink Kindles?

The same way we build any other website, Pinky: accessible, device agnostic and future friendly.

Appendix 1 - Comparison table

The table below summaries the E Ink Kindle models including technical data where known.

GenModelRelease dateHTML5 testCSS3 testViewportPPIGrey levelsNavigationScreen technologyjQuery parse time (ms)ProcessorRAM
1Kindle 12007-11-191674Page turn400 MHz64 MB
2Kindle 22009-02-23Does not runDoes not run1674D-pad
Page turn
N/A532 MHz32 MB
2Kindle DX2009-06-2015016D-pad
Page turn
128 MB
3Kindle 3
(aka Kindle Keyboard)
2010-08-2752/555333/1474582 x 70616716D-pad
Page turn
Pearl704*532 MHz256 MB
4Kindle 42011-09-2816716D-pad
Page turn
Pearl800 MHz256 MB
4Kindle Touch2011-09-28177/555430/1474600 x 70016716TouchPearl199800 MHz256 MB
5Kindle 52012-09-0652/555333/1474582 x 70616716D-pad
Page turn
Pearl235*800 MHz256 MB
5Paperwhite2012-10-0121216TouchCarta (?)800 MHz256 MB
6Paperwhite 22013-09-30187/555430/1474758 x 89721216TouchCarta1041 GHz256 MB
7Kindle 72014-09-14187/550430/1474600 x 69916716TouchPearl (?)1151 GHz256 MB
7Kindle Voyage2014-10-21187/550430/147430016Touch
Page Turn
Carta1 GHz512 MB
8Kindle Oasis2016-04-27152/555495/16111072 x 126830016Touch
Page Turn
Carta1 GHz512 MB

* jQuery 1.11.0

Acknowledgements

Thanks to Krijn Hoetmer (@krijnhoetmer) for details on the Kindle Voyage.