E Ink Kindle web browsers
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.
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.
Technologies
There are two display technologies used in Kindle screens:
- Pearl: First introduced to later examples of the Kindle 2, the Pearl displays have 10:1 contrast ratio.
- 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.
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.
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.
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.
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.
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 asen-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.
Gen | Model | Release date | HTML5 test | CSS3 test | Viewport | PPI | Grey levels | Navigation | Screen technology | jQuery parse time (ms) | Processor | RAM |
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Kindle 1 | 2007-11-19 | 167 | 4 | Page turn | 400 MHz | 64 MB | |||||
2 | Kindle 2 | 2009-02-23 | Does not run | Does not run | 167 | 4 | D-pad Page turn | N/A | 532 MHz | 32 MB | ||
2 | Kindle DX | 2009-06-20 | 150 | 16 | D-pad Page turn | 128 MB | ||||||
3 | Kindle 3 (aka Kindle Keyboard) | 2010-08-27 | 52/555 | 333/1474 | 582 x 706 | 167 | 16 | D-pad Page turn | Pearl | 704* | 532 MHz | 256 MB |
4 | Kindle 4 | 2011-09-28 | 167 | 16 | D-pad Page turn | Pearl | 800 MHz | 256 MB | ||||
4 | Kindle Touch | 2011-09-28 | 177/555 | 430/1474 | 600 x 700 | 167 | 16 | Touch | Pearl | 199 | 800 MHz | 256 MB |
5 | Kindle 5 | 2012-09-06 | 52/555 | 333/1474 | 582 x 706 | 167 | 16 | D-pad Page turn | Pearl | 235* | 800 MHz | 256 MB |
5 | Paperwhite | 2012-10-01 | 212 | 16 | Touch | Carta (?) | 800 MHz | 256 MB | ||||
6 | Paperwhite 2 | 2013-09-30 | 187/555 | 430/1474 | 758 x 897 | 212 | 16 | Touch | Carta | 104 | 1 GHz | 256 MB |
7 | Kindle 7 | 2014-09-14 | 187/550 | 430/1474 | 600 x 699 | 167 | 16 | Touch | Pearl (?) | 115 | 1 GHz | 256 MB |
7 | Kindle Voyage | 2014-10-21 | 187/550 | 430/1474 | 300 | 16 | Touch Page Turn | Carta | 1 GHz | 512 MB | ||
8 | Kindle Oasis | 2016-04-27 | 152/555 | 495/1611 | 1072 x 1268 | 300 | 16 | Touch Page Turn | Carta | 1 GHz | 512 MB |
* jQuery 1.11.0
Acknowledgements
Thanks to Krijn Hoetmer (@krijnhoetmer) for details on the Kindle Voyage.