|
|
Subscribe / Log in / New account

Openmoko's WikiReader

Did you know...?

LWN.net is a subscriber-supported publication; we rely on subscribers to keep the entire operation going. Please help out by buying a subscription and keeping LWN on the net.

December 16, 2009

This article was contributed by Nathan Willis

Openmoko, the company that first gained attention for its Linux-based phone platform, launched a new pocket-sized open source product in time for this holiday season, the WikiReader. The WikiReader is an inexpensive ($99), low-power, 4-inch square touchscreen LCD display device pre-loaded with the text of three million Wikipedia pages on a microSD card. In the smartphone era, skeptics might dismiss the device as woefully underpowered, but to the open source community the more pertinent question is what else can it do?

Unboxed and unconnected

[WikiReader]

Physically, the WikiReader is distinctive; its square shape is easily hand-held, but stands out from mobile phones. It is white, which suggests the industrial design of e-Ink book readers, but the hardware interface is minimalist: power button on top, and three hardware buttons on the front, "Search," "History," and "Random." The screen is a monochrome LCD display with 240-by-208 pixel resolution and no backlight, but it is also a capacitive touchscreen, used for the on-screen keyboard when searching, selecting links, and scrolling through articles.

The device is very lightweight, slim, and at this size easily fits into a shirt pocket. It is available for purchase directly from the WikiReader web site, and from Amazon.com. The housing is not particularly tough, however, more akin to remote-control-quality plastics than the sturdier-walled materials on a cell phone or GPS unit, so the careful buyer might keep on the lookout for a padded PDA case of some sort to absorb abuse.

[WikiReader back]

Inside, the device uses an Epson S1C33 32-bit RISC CPU, 64KB of Flash ROM, 32MB of RAM, and a user-accessible microSD storage card. From the factory, it ships with a 4GB card, although other sizes are supported. For the curious, a debug connector is also accessible from the battery hatch. Power is supplied by two AAA batteries, which Openmoko claims will last 12 months given an average of 15 minutes usage per day. There is no other connectivity; no WiFi, no USB.

The content is a subset of Wikipedia's English-language text (no "adult" content; other omissions are not described). Naturally, given the display characteristics and storage, the 4GB card contains only article text; estimates put the total size of Wikipedia at 72 terabytes.

In use, the WikiReader always starts up on the search screen. Typing in a word on the onscreen keyboard pops up a match-as-you-type list of matching articles; the user can click on any of the links as soon as the right article is found. The History button brings up a clickable, scrollable list of recently-viewed articles, and as expected, the Random button loads a random page, almost instantly.

4 gigabytes of content is nice, but Wikipedia is constantly changing and growing. To handle this situation, Openmoko offers two choices: downloaded updated microSD card images (for free), or buy a subscription service, through which the company will mail a new microSD card semi-annually, for $29 per year. On top of that, naturally, the user also gets to collect the old microSD cards for use elsewhere.

A pocketful of information

In spite of the hardware limitations — many of which only seem like limitations in comparison to always-connected, touchscreen mobile phones — the WikiReader is remarkably fast, and despite being only a portion of the total Wikipedia, the amount of content is overwhelming. In fact, for looking up answers or information in a pinch, it easily beats connecting to the Wikipedia site over a mobile data connection.

[Searching]

The only real weaknesses are in the interface itself. First, the search function only matches the beginning of an article title, not the middle, and not full-text search. This can be a usability impediment in two ways; first by requiring the user to know the exact title of the article, and second by forcing the user to type extremely long titles (such as any "List of ..." pages). The latter issue is made worse because the on-screen keyboard is tricky to use. It is a QWERTY layout, with each key less than 5mm wide and 6mm tall. Additional space is taken up by non-sensitive black borders around each key, shrinking the target area.

As several blog reviews of the device have noted, although the history function is convenient, it would be greatly improved by a way to bookmark particular pages, and perhaps forward-and-back navigation buttons. Others have noted that the LCD screen can be difficult to read under poor lighting conditions due to the lack of a backlight.

More substantial criticisms tend to revolve around the guts of the device specifications itself, comparing it to considerably more expensive devices like e-Ink book readers and phones. Indeed, there are ways to access Wikipedia content on these devices (even offline), but the comparison misses the point Openmoko is shooting for. The WikiReader is intended for use in the offline world; it is not an underpowered Wikipedia browser or ebook reader, it is a pocket-sized reference encyclopedia. One that can be updated, for free, and uses free content. On those merits, the WikiReader is indeed a success.

Nevertheless, given the device's pedigree in multiple corners of the free culture movement (Openmoko's dedication to open source software and hardware, and Wikipedia stance on content), there are other criticisms that deserve a closer look. Benjamin Mako Hill lamented the lack of editing features — correctly noting that Wikipedia's true openness stems not from the licensing of the content for reuse, but from the user contributions. The device could cache edits locally, he said, which could be uploaded from a PC when the microSD card was pulled for an update.

Hacking

Adding editability would require substantial software changes, of course. Fortunately, the source code is all available online in a Git repository. There is documentation for cross-compiling the entire system for the S1C33 architecture from a Linux system with GCC, descriptions for flashing the boot loader, and a description of the boot sequence itself.

At boot time, the device loads an executable from the microSD card (by default, one named KERNEL.ELF, although it is not a proper operating system kernel) that contains hardware and filesystem drivers that launches the wiki reader application itself. Holding down the "History" button when powering on causes the device to load CALC.ELF instead, a basic calculator application. Holding down "Search" when booting loads FORTH.ELF, a Forth interpreter that can load the calculator or a variety of test and diagnostic applications (all written in Forth) instead.

Replacing KERNEL.ELF on the microSD card with another correctly-compiled application allows the user to customize the software without danger of bricking the device by re-flashing. It also allows Openmoko to roll out updates to the product without requiring customers to step through an upgrade process: just swap out the old card, and swap in the new.

The simplest enhancements, however, might only involve adding more content such as Wiktionary or Wikitravel (after all, the name is WikiReader, not WikipediaReader), or replacing the content with alternate languages. The tool suite contains Python and PHP utilities to convert MediaWiki XML dumps into the compressed format stored on the card, including creating the article index. Adding or replacing MediaWiki-formatted content should be as simple as exporting the XML from the wiki and running the utilities. Several users have already undertaken this task for French and Spanish Wikipedia content.

A more daring hack would be altering the wiki reader application itself to support additional content types. David Samblas, having noted that the sample Forth applications include basic graphics support, has undertaken [article in Spanish] adding portable bitmap format (PBM) images to the reader. His test images are of dubious quality for some image types — such as photographs — but others, such as line-drawing maps, might actually be useful on the device. He has not yet posted code to add this feature to the reader.

What else the WikiReader hardware can be hacked to do is an open question. Browsing the Openmoko mailing list, it is clear that a lot of early adopters are already pushing the device. Because the reader has a built-in Forth interpreter (powering the wiki reading application and all of the "hidden" test programs), writing new Forth applications is probably where outside software development will begin. So far, though, there is not yet a set of complete Forth development tools, only the toolchain at Github that is used to build the factory software. In the short term, there is still substantial room for expansion of the feature set just within the confines of the default reader application. Where Openmoko takes the product line from here is more fun to speculate about; perhaps if WikiReader is a success, a higher-end version will follow.

For today, however, the product makes for a fun stocking stuffer for the family hacker. Openmoko is positioning the device in its advertising as a way to get content into the hands of the "75% of the world [that] is offline" — including people in airplanes or on beaches, and "most everywhere." The WikiReader certainly does that; several online reviews have praised its value in museums and tourist locations, where data plan charges would make a connected device prohibitively expensive to operate.

But Openmoko also praises the "important role" Wikipedia plays in people's lives and its goal of providing a free encyclopedia to everyone in their native language. Hopefully the WikiReader hacking community can make that a reality as well. There are hackable high-end ebook readers, including some with larger, nicer displays, WiFi and GSM connectivity, and more content. But they are also reportedly much more difficult to work with. WikiReader takes aim at a more modest target, and hits it.


Index entries for this article
GuestArticlesWillis, Nathan


(Log in to post comments)

Openmoko's WikiReader

Posted Dec 16, 2009 19:48 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link]

The Hitchhiker's Guide to the Galaxy - finally!

Openmoko's WikiReader

Posted Dec 16, 2009 20:24 UTC (Wed) by drag (guest, #31333) [Link]

Yes. There definitely should be a special edition with the words "Don't
Panic" printed in big friendly letters on the cover of it.

Just as long as they don't release a Mk II version then everything should be
cool.

Openmoko's WikiReader

Posted Dec 16, 2009 20:42 UTC (Wed) by frazier (guest, #3060) [Link]

The device could cache edits locally, he said, which could be uploaded from a PC when the microSD card was pulled for an update.
This seems like a really bad idea to me. With the lag between edits on the device and updating Wikipedia, it isn't difficult to imagine some nasty merge issues. Beyond that, who wants to do any significant editing with that tiny onscreen keyboard?

Openmoko's WikiReader

Posted Dec 16, 2009 21:30 UTC (Wed) by cjb (guest, #40354) [Link]

> This seems like a really bad idea to me. With the lag between edits on the
device and updating Wikipedia, it isn't difficult to imagine some nasty
merge issues.

Well, you're supposed to read the linked post, wherein Mako elaborates:

"When the data on the card is updated, messages from this log could be
uploaded somewhere --- perhaps the talk pages of the articles in question or
some dedicated page or ticketing queue. Editors could help merge these
changes back into the articles."

Openmoko's WikiReader

Posted Dec 16, 2009 21:49 UTC (Wed) by frazier (guest, #3060) [Link]

Sure enough. What he has in mind makes much more sense than edits. Calling them "comments" or "notes" would be more accurate I think.

Openmoko's WikiReader

Posted Dec 16, 2009 22:14 UTC (Wed) by leonov (guest, #6295) [Link]

This is a fantastic little device. I bought one for each of my staff for Christmas presents this year, and have been playing with mine for a couple of weeks now.

Incredibly handy and fun, but dangerous too -- you look something up, find an interesting link, then, blam! Two hours have gone and you're an expert on historic attempts to derive an accurate value for pi! :-)

Openmoko's WikiReader

Posted Dec 16, 2009 23:14 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link]

And now I've already lost two hours reading Wikipedia and I still have 10 tabs open.

Thanks.

Openmoko's WikiReader

Posted Dec 17, 2009 3:54 UTC (Thu) by MarkWilliamson (subscriber, #30166) [Link]

Is the device *really* not quite square, or is that just how it looks to me
in every single photo? ;-)

Openmoko's WikiReader

Posted Dec 17, 2009 14:23 UTC (Thu) by sporkinum (guest, #62552) [Link]

It's really not square, thanks to Thomas Meyerhoffer.
http://meyerhoffer.com/index.php?/project-qa/wikireader/

Don't like the price/performance

Posted Dec 17, 2009 7:26 UTC (Thu) by jmorris42 (guest, #2203) [Link]

The price is a wee bit high. Compare to a zipit v2 for example, as it is similar in size and price (back when an unsubsidized version was available) The zipit has color, a keyboard, lion battery and Wifi. It has enough grunt to play mp3 music via either streaming or SD and boots a really shrunk and crippled linux instead of a FORTH stack.

This gadget does have a touchscreen going for it.

Like the batteries

Posted Dec 18, 2009 3:46 UTC (Fri) by Max.Hyre (subscriber, #1054) [Link]

The separate batteries are a plus. Admittedly, it isn't that much of a factor when runtime is a year, but I want a device whose batteries I can swap with standard, over-the-counter replacements. That way, I don't watch my PDA's charge slowly sink to nothing, wondering which will happen first: the plane lands and I get to an outlet, or I restore from backup. I did bring the backup, didn't I? Toss a couple of AAAs in the briefcase, and I'm good.

Openmoko's WikiReader

Posted Dec 17, 2009 21:52 UTC (Thu) by ortalo (guest, #4654) [Link]

What about turning that amusing device into a LWNReader? (I wonder what other sources of information one would find interesting except that one? ;-)

Openmoko's WikiReader

Posted Dec 19, 2009 4:13 UTC (Sat) by MarkWilliamson (subscriber, #30166) [Link]

I think this device looks pretty cool. If it were easy to put multiple arbitrary mediawikis onto it (given enough SD space), that would substantially increase its value to me. If I could easily read PDFs (possibly pre-processed before loading onto the device) and text files, that would make it incredibly appealing, much more so than the expensive e-book readers on the market today.

It'd also be handy if I could use it as a 90s-era PDA with a calendar / alarm function and a notepad.

I'm hopeful that all of these things will become possible automagically due to the open source of the project and the conversion tools. The only thing I find a bit of a shame is that there's not a USB port on there somewhere to update the content easily. But I imagine the device is better protected against dust and spills as a result.

And yes, this really does seem to be the real Hitch Hiker's guide to the galaxy. Hurrah! Now, where's my towel ...

Openmoko's WikiReader

Posted Dec 31, 2009 1:01 UTC (Thu) by kurtseifried (guest, #57307) [Link]

I ordered one and got one from the original "bad batch" (touch screen issues), anyways I took it apart, you can see it here: http://seifried.org/kurt/autopsy-of-a-deadish-wikireader/.


Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds