LWN.net Logo

OpenInkpot: free software for e-book readers

September 30, 2009

This article was contributed by Hanno Zulla

Back in July, Jonathan Corbet lamented that Amazon was making the Kindle an unattractive hacking target for Linux users. The comments to his article suggested having a closer look at OpenInkpot, a fairly new Linux distribution for e-book readers. This much in advance: It doesn't run on the Kindle. Not yet, anyway.

[N516 with
OI]

OpenInkpot (or OI) intends to be a full alternative, free software stack for e-ink based readers. It comes with a "bookshelf" menu to handle your collection of e-books and brings the popular FBReader and Cool Reader to display most e-book formats, among them epub, fb2, txt, html, rtf, pdb, plucker and mobipocket. PDF files are handled by OI's own locoPDF and madeye is a simple viewer for images. A sound player application for audio books will join the OI software collection soon.

History

The initial motivation for OpenInkpot was the limited use of the original software that Debian hackers Mikhail Gusarov and Yauhen Kharuzhy found on their newly acquired Hanlin V3. They found it too slow and its software clunky. E.g., there was no way to adjust the PDF viewer's zoom and the bookshelf couldn't handle Cyrillic or other non-ASCII characters in file names.

Because of that, the V3 became the only supported device of the first public 0.1 OpenInkpot release in August 2008. Mikhail says they achieved most of their goals for the V3. OI supports more formats and is faster to display and turn pages, although the more complex user interface of OI eats up some of the speed improvements to the original firmware.

[OI page]

Right now, the team is busy porting OI to a second hardware platform for the upcoming 0.2 release, the Hanvon N516. Both V3 and N516 are available inexpensively under various brand names around the world. Intrigued by OI, your author quickly found an online shop based in his country and, a few days later, the original firmware of his brand new N516 didn't survive more than 30 minutes before it got overwritten with a development snapshot of OI.

With the new firmware, you win some and you lose some features. The N516 gains a lot more e-book formats through OI, but loses others such as the Chinese XEB format. The OI PDF reader is an improvement, but an audio player is missing since OI's sound drivers and applications are still under development. The main advantage of running OI is that it is fully open source and not tied to one manufacturer or device.

The internals of OI

OI's current development trunk for the upcoming 0.2 release uses a recent 2.6.29 kernel (with a switch to .31 planned), kernel drivers, and system software targeted for Hanlin V3 and Hanvon N516 devices.

To get the first version of OI going, kernel hacker Yauhen had to work without hardware documentation. He disassembled the V3's original firmware binary and wrote drivers for the buttons, the battery controller, and the display. The V3 is a simple ARM board with an e-ink display, but its audio hardware is unusual: It only decodes MP3 streams and further investigation is needed to see if it can be made to play simple raw PCM audio so that it can be used for generic audio applications.

[OI text options]

The port to the N516 is mostly complete and luckily, its manufacturer is far more helpful with specs and sources. An audio driver is still missing for the N516 too, but it is in progress for the 0.2 release. Compared to the V3, the N516 sports a faster MIPS CPU and more RAM, which is helpful for applications such as FBReader, which keeps the full document file in memory. On the downside, the N516 uses some funky hardware components that complicate driver development, e.g. handling key presses or reading the status of the battery is unnecessarily difficult.

Yauhen also made some improvements to the e-ink display driver by Jaya Kumar to speed up screen updates. All drivers and modifications by the OI team are intended to be contributed upstream.

The OI user space software is based on the Debian-like IPlinux, which is a fork that Mikhail made of the dormant Slind project. (OpenEmbedded was also tried, but discarded, mostly because the team did not like OE's package build management.)

Alexander Kerner, the third main OI developer, maintains many of the user space libraries and applications and describes OI as an abstraction layer that hides most of the embedded nature of the hardware from the developer. He installs the same libraries on his x86 desktop to develop an application, so that cross-compiling for the device later is not much of an effort.

[OI menu]

The static nature of an e-ink display is a challenge for user interface development. Screen updates are very slow and expensive, but the display does not consume power to keep its state. An e-ink device only needs to render a new page and then goes back to deep sleep. There is no use for the clutter toolkit, since animation is impossible on e-ink. OI uses X and the Enlightenment Foundation Libraries (EFL), which the OI team found to be feature-rich, yet fast and lightweight and thus well-suited for limited hardware. EFL's memory footprint is smaller than that of the GTK or Qt libraries (the latter requiring libstdc++). Since the OI team had bad experiences with GTK's slow performance on the Nokia N770, they wanted to try something else. While EFL turned out not to be as lean as hoped for, they consider it a good choice for a device such as the original V3 with its slow CPU and only 16 MB of RAM.

For development, OI uses the familiar array of open source tools: git repository, bugtracker, and documentation wiki (which is a bit outdated, as documentation tends to be). The mailing list is low volume and the IRC channel isn't crowded and thus friendly to newcomers.

Localization is done with Transifex. The UI strings are few and short, so it was not much of an effort for your author to contribute a few German translations. But not all text is in gettext yet, so would-be-translators may want to wait until the 0.2 release gets closer. The system uses UTF-8 and supports right-to-left text, so that any language supported by Unicode may become a user interface choice.

Commercial e-books and DRM

The OI software stack does not handle content "protected" with DRM, so most commercial e-book downloads available today cannot be read on an OI device. The team is not opposed to DRM per se, but to make it part of the distribution, it would have to be fully open source and may not rely on hardware to enforce its restrictions. That is rather tough to implement, so it is safe to expect that there will be no DRM found in OI in the foreseeable future.

You will find plenty of legal, DRM-free content at places like the Gutenberg Project — time to catch up on the classics. For web content, tools like Calibre, Readability, and many other PDF and e-book format converters will bring your morning paper (or LWN) onto your e-book reader. Maybe the publishing industry will see the light and offer DRM-free commercial downloads soon, just like the music industry has started to do after it went through a painful learning process.

Help wanted. Apply within

OI is a well-managed project. Alexander jokes that the quick and dirty hacks he found in the commercial e-book firmware sources would never make it past Mikhail. But the project does have a serious lack of manpower. Next to the three main developers, there are only a few casual contributors.

The current development trunk is very much work in progress, and not suitable for end users, but beta testing it is already fun. The PDF viewer is still too slow and the OI user interface is inconsistent. Alexander describes the team as a group of engineers, not usability professionals, and your author wholeheartedly agrees.

OI looks like a good foundation and the team would welcome commercial manufacturers joining the effort. The team's current work to port OI to the N516 is commissioned by Russian Ukrainian hardware distributor Azbooka (Азбука), who plans to sell N516 devices with OI as the official firmware. Their target audience is students and young budget-oriented users. Alexey Sednev of Azbooka is excited about the open source nature of OI and calls it "the greatest feature" of the Azbooka N516. He expects that OI will encourage software development by device owners and that this will help foster customization for specific user groups such as education, medicine, or law.

The team hopes to port the software to more hardware, so OI will soon need to add abstraction layers for device-specific input methods, storage media, and network devices. OI could also be a chance at new life for devices abandoned by their manufacturers, allowing users to avoid planned obsolescence, which the manufacturers create by not providing new firmware for "old" products. The Sony PRS-505 may become the third supported e-reader, as there are only a few driver details missing. They are confident that it is possible to port OI to any hardware, including the Kindle, but lack of manpower and time is stopping them. They need the help of device owners willing to write and maintain drivers. If you are a kernel developer with an e-ink reader lying around, you may just have found an exciting new hacking target.


(Log in to post comments)

OpenInkpot: free software for e-book readers

Posted Sep 30, 2009 16:03 UTC (Wed) by jsatchell (guest, #6236) [Link]

Another place that sells lots of DRM free e-books is Webscriptions. Most content is SF or Fantasy. They handle electronic sales for Baen Books, Del Rey, E-Reads, Night Shade Books, SRM Publisher, Subterranean Press and Tor Books.

See http://www.webscription.net/.

OpenInkpot: free software for e-book readers

Posted Sep 30, 2009 16:40 UTC (Wed) by pheldens (guest, #19366) [Link]

This is a superb rom if you like to read "less" style without bullshit. (no sarcasm intended)

OpenInkpot: free software for e-book readers

Posted Oct 2, 2009 10:33 UTC (Fri) by amikhail (guest, #39765) [Link]

As far as I understand the text on "about us" page, "Azbuka" is an Ukrainian company, not Russian (rather important difference for some people).

OpenInkpot: free software for e-book readers

Posted Oct 8, 2009 13:45 UTC (Thu) by Hanno (guest, #41730) [Link]

My mistake. Thanks for noticing.

OpenInkpot: free software for e-book readers

Posted Oct 4, 2009 10:56 UTC (Sun) by mjr (guest, #6979) [Link]

Nice to see this kind of development happening; Kindle won't be on my shopping list for their nasty DRM policies (or Sony for their, well, nasty policies at least elsewhere if not so bad on the reader), but with OI, one might consider some reader eventually.

One wonders if the V3 could encode even crappy quality mp3 on the fly for the decoder chip if PCM isn't gonna be - though there might be patent complications in many jurisdictions...

OpenInkpot: free software for e-book readers

Posted Oct 4, 2009 12:33 UTC (Sun) by johill (subscriber, #25196) [Link]

Probably doesn't even need to be crappy mp3 since effectively you don't care about compression ratios and can use very high bandwidth.

OpenInkpot: free software for e-book readers

Posted Oct 4, 2009 13:25 UTC (Sun) by dlang (✭ supporter ✭, #313) [Link]

don't mix the amazon bookstore with the kindle device capabilities.

the amazon bookstore uses DRM, but the kindle devices themselves works _very_ well with non DRM content.

the vast majority of the books that I use on my kindle are such non DRM content

you can even use the wispernet to get the non DRM content onto the kindle.

you can e-mail it to the kindle (at $0.15/MB) or download it via the built-in browser (for many data types with the default browser, for other types with user supplied modifications for the browser)

if you don't like the DRM that the amazon bookstore uses, buy your digital books elsewhere, but don't let that stop you from using the kindle devices

OpenInkpot: free software for e-book readers

Posted Oct 4, 2009 13:40 UTC (Sun) by mjr (guest, #6979) [Link]

Yes well, some of us prefer to buy from vendors that are less control freaky than others.

OpenInkpot: free software for e-book readers

Posted Oct 4, 2009 13:57 UTC (Sun) by dlang (✭ supporter ✭, #313) [Link]

don't get me wrong, I am not saying that you have to buy from amazon. All I am saying is that DRM is not a reason to avoid the kindle (unless you believe that it is wrong to purchase any device that supports DRM, even if you never use it)

I don't see amazon as being control freaks about the kindle. yes, they have done things wrong in the past (the entire 1984 fiasco), but I believe that they have learned their lesson about this sort of thing.

that's the only think that I see as being 'control freaky' about the kindle. they do not have drastic barriers to loading user software on the devices (they don't go out of their way to support it, but the update process is straightforward and the amazon updates are smart enough to not risk bricking devices if the owners have applied non-standard updates to them)

the only other thing I could see them being accused of being controlling about is the use of the Internet connection, but since that costs them money for the airtime, and their only real limit is that you must use http/https through their proxy servers, it doesn't seem unreasonable to me.

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