A Look at the Kindle
The Kindle's main menu has an Experimental item on it. This submenu has three choices: Basic Web, Ask Kindle NowNow and Play Music.
Basic Web is what it claims to be—a basic Web browser. It has two viewing modes: Default and Advanced. Default strips out most formatting and just provides the content of the page you're viewing. Advanced mode tries to render some of the page's layout.
Ask Kindle NowNow is a human-powered search service from Amazon. You can ask a question and submit it, and then real people will research it on-line and send up to three responses to your Kindle. The service is free for now, but I can't imagine it will remain free indefinitely. To test it, I sent the question: “When will the successor to the Kindle be announced?” About 30 minutes later, I had three answers on my Kindle and in my e-mail inbox. They were all along the lines of “not this year”. The first one was the best; it was well researched and included statements from Amazon on the subject. The other two were short and not as informative, but still good. The responses also included links. Clicking on the links opens up the Kindle Web browser to the page in question—rather handy.
Playing music on the kindle works for MP3 files. No other formats work. There's also no playlist support and no user interface apart from the Play button on the Experimental page. There are two undocumented keyboard shortcuts you can use: Alt-F to skip to the next song and Alt-P to Play/Pause the music. It's not the most useful of music players, but it does play music.
Because the Kindle runs on Linux, you can download the source code to the Kindle from Amazon's Web site. Several bits of the code, like the GUI layer, are not available.
The source code tar file weighs in at 72.4MB. When untarred, you are left with a gplresults directory. Inside this directory are the following tar.bz2 files: alsa-lib-1.0.6.tar.bz2, alsa-utils-1.0.6.tar.bz2, binutils-2.16.1.tar.bz2, bsdiff-4.3.tar.bz2, busybox-1.01.tar.bz2, bzip2-1.0.3.tar.bz2, dosfstools-2.11.tar.bz2, e2fsprogs-1.38.tar.bz2, freetype-2.1.10.tar.bz2, gcc-3.4.2.tar.bz2, jpeg-6b.tar.bz2, libpng-1.2.8.tar.bz2, linux-2.6.10-lab126.tar.bz2, module-init-tools-3.1.tar.bz2, ncurses-5.4.tar.bz2, ppp-2.4.4b1.tar.bz2, procps-3.2.7.tar.bz2, taglib-1.4.tar.bz2, u-boot-1.1.2.tar.bz2, uClibc-0.9.27.tar.bz2, util-linux-2.12.tar.bz2 and zlib-1.2.3.tar.bz2.
We can deduce several things from this list: the Kindle boots with Das U-Boot, it uses FreeType for fonts, ALSA for audio, and it is using a Linux 2.6.10 kernel. I'm not a programmer, so I didn't delve into the code to see what was changed, reworked or added.
One of the more interesting pieces of code on the Kindle is BusyBox. Its presence suggests there is support for a command-line interface of some sort. It turns out there is, but it's not easy to access.
If you take the back cover off the Kindle, there is a little covered access port next to the battery. This access port can be removed with a small flat-head screwdriver. Under the cover is a small ribbon connector port, which functions as a console port. See Resources for links to the full details of the hack.
Thanks to the intrepid hacker who hacked into the Kindle through the console port, several hidden features of the Kindle have been brought to light.
First, there is a basic picture viewer built in to the Kindle. To enable it, you need to create a folder on the Kindle called pictures or dcim. In that folder, you can organize your photos into subfolders. Press Alt-Shift-Z while in the main menu of the Kindle, and each folder will appear as a separate “book” on the last page of the list of books.
While viewing pictures, you can use the menu to enable and disable dithering and shrink to fit. You also can view photos in full-screen mode. While looking at your pictures, you can press Alt-Shift-0 to set the current picture as the picture for the Kindle screensaver. You also can press F to toggle full-screen mode.
A picture viewer isn't the only hidden application. There also is a Minesweeper game. You can launch it from the Kindle home screen by pressing Alt-Shift-M. From the menu, you can select different grid sizes from 4x5 to 8x10 to 14x14. Unfortunately, the novelty of having Minesweeper on the Kindle wears off as soon as you start playing. The Kindle's E Ink display just isn't suited to quick changes to the screen. Moving the cursor in Minesweeper is an exercise in patience: you press L, wait a few seconds, and with any luck, the cursor moves one space to the left. The slowness of the gameplay is probably why Amazon never provided a proper link to Minesweeper in the interface. I'm glad Amazon didn't take it out though, as it shows the Kindle is at least marginally capable of running a wide variety of software.
The Browser has a few neat keyboard shortcuts, including links to Google Maps to show your current location (Alt-1), nearby gas stations (Alt-2), nearby restaurants (Alt-3) and nearby hotels (Alt-4). When you press Alt-5, a little box pops up asking “Are you looking for something nearby?”, and you enter what you're looking for, and it searches for it. Well, it would, if any of these shortcuts worked. Instead of working, the Kindle just goes to Google Maps and puts “Not Avail,Not Avail” into the location box. Either it just doesn't work in my area, or there is some switch waiting to be thrown at Amazon or Sprint to enable it.
Finally, there are several global shortcuts that come in handy. The first is Alt-Shift-R, which reboots the Kindle. Next is Alt-Shift-., which restarts only the Kindle GUI. This last one is the most useful, for me anyway—Alt-Shift-G is a global screenshot shortcut.
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
- Linux Journal
- Users, Permissions and Multitenant Sites
- New Products
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- DevOps: Everything You Need to Know
- High-Availability Storage with HA-LVM
- Tighten Up SSH
- Solving ODEs on Linux
- Non-Linux FOSS: MenuMeters
- March 2015 Issue of Linux Journal: System Administration