Skip to main content
KWordle is designed to run on Kindle e-readers, which have unique technical requirements. This page covers the key technical implementation details.

ES5 JavaScript Compatibility

KWordle uses ES5 JavaScript for maximum compatibility with older Kindle models running WebKit-based browsers from 2011-2015.

Why ES5?

Older Kindle models (5.6.1.1 and earlier) run WebKit browsers that don’t support:
  • Arrow functions (() => {})
  • let and const declarations
  • Template literals
  • Destructuring
  • Classes
  • Promises and async/await

ES5 Patterns Used

Variable declarations use var instead of let/const:
Object constants instead of enums:
Traditional function syntax:
Traditional for loops instead of array methods:

Polyfills

The application includes js/polyfill.min.js to provide modern JavaScript features:
This polyfill adds support for:
  • Array.prototype.indexOf
  • Array.prototype.forEach
  • String.prototype.trim
  • Object.keys
  • JSON.parse and JSON.stringify

E-ink Display Optimizations

Kindle’s e-ink displays are black and white with limited refresh rates. KWordle is optimized for this:

Grayscale Color Scheme

Visual Indicators

Symbols provide additional clarity beyond color:
The indicator key is always visible:

Contrast and Readability

Minimal Animations

No animations or transitions are used to avoid e-ink ghosting and slow refresh artifacts.

localStorage Usage

KWordle uses localStorage to persist game statistics across sessions.

Storage Structure

Storage Quota

The app requests 25MB of localStorage in config.xml:73:

Reading and Writing Statistics

Statistics Update Logic

Chromebar Integration

KWordle integrates with Kindle’s Chromebar UI system to provide native navigation.

Configuration

The Chromebar is configured in index.html:14-52:
This adds a “Reload” option to the system menu that refreshes the app.

Kindle Widget Configuration

The config.xml file defines the app as a Kindle widget:

App Identity

Permissions

Gesture Support

Messaging Integration

This allows the app to communicate with Kindle’s system components.

Browser Compatibility

KWordle targets:
  • Kindle firmware 5.6.1.1 and older (legacy builds)
  • Kindle firmware 5.7.0 and newer (modern builds)
  • WebKit-based browsers from 2011-2024
The app is tested on:
  • Kindle Paperwhite (all generations)
  • Kindle Basic
  • Kindle Oasis
  • Desktop browsers (for development)