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.
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.).
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.
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.
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.
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.
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.
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.
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.
The browser on later generations report two different user agents, one to the server and a second one via
- Server side: Includes
Kindlein the user agent and the language is given as
- Client side: Does not identify as a Kindle and the language is given as
en-gbfor 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.
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.
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|
|N/A||532 MHz||32 MB|
(aka Kindle Keyboard)
|2010-08-27||52/555||333/1474||582 x 706||167||16||D-pad|
|Pearl||704*||532 MHz||256 MB|
|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|
|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|
|Carta||1 GHz||512 MB|
|8||Kindle Oasis||2016-04-27||152/555||495/1611||1072 x 1268||300||16||Touch|
|Carta||1 GHz||512 MB|
* jQuery 1.11.0