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 (
() => {}) letandconstdeclarations- Template literals
- Destructuring
- Classes
- Promises and async/await
ES5 Patterns Used
Variable declarations usevar instead of let/const:
Polyfills
The application includesjs/polyfill.min.js to provide modern JavaScript features:
Array.prototype.indexOfArray.prototype.forEachString.prototype.trimObject.keysJSON.parseandJSON.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: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 inconfig.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 inindex.html:14-52:
Menu Event Handling
Kindle Widget Configuration
Theconfig.xml file defines the app as a Kindle widget:
App Identity
Permissions
Gesture Support
Messaging Integration
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
- Kindle Paperwhite (all generations)
- Kindle Basic
- Kindle Oasis
- Desktop browsers (for development)