GSoC 2008 Ideas
Note: you will probably need to have access to actual e-ink device to do the most of the tasks, as it is very hard to test software for the hardware with e-ink and reduced keyboard on the PC. If you're brave enough, you might want to develop on PC, anyway.
Porting OpenInkpot (medium)
Intended audience: Linux kernel hackers
There are several models of e-ink devices below. Ports of OpenInkpot to these devices could be considered:
- Bookeen Cybook Gen3
- Amazon Kindle
- iRex iLiad
- Sony PRS-505
- Hanlin V2
Port should be integrated in the main build system.
e-ink devices emulator (easy)
Intended audience: X11/C developers
It would be very helpful to have accurate devices emulator with realistic screen emulation (refreshing parts of screen) and input devices (buttons).
This involves:
- fixing grayscale handling in Xephyr
- adding "e-ink like" scren update in Xephyr
- Adding bunch of skins/buttons to Xoo
Be aware that first two points may involve forking Xephyr as current maintainer is not very cooperative.
SDIO wifi support
Intended audience: Linux kernel hackers
V3 hardware supports SDIO cards. This task involves adapting existing OpenMoko kernel drivers for SDIO wifi cards and making the V3 wifi-capable. Also, support for unencrypted/WEP/WPA access points could be attempted.
SDIO wifi GUI
Intended audience: X11/C developers
SDIO wifi support will probably require additional GUI components. This task involves creating a GUI for wifi configuration keeping in mind the limitations of an e-ink device/display, such as slow screen refresh rate and reduced text input capabilities.
Document viewer
Intended audience: X11/C developers, usability experts, typographical experts
We need GREAT document viewer: extensible, adapted to v3 screen and input mechanisms - fast annd beautiful. FBreader, libdjvulibre and poppler are good starting points.
Speaking dictionary
Intended audience: X11/C developers, kernel hackers
Interesting application which may be run on V3 is the dictionary which can be used to play pronunciation of selected words.
This includes writing from scratch, a driver for the mp3 decoder chip used in the V3, as well as create a X11/Enlightenment application adapted for e-ink screen and reduced text input capabilities.
Text entry methods
Intended audience: X11/C developers
lBook/Hanlin V3 is quite limited regarding the input devices (16 keys, not counting "Power" and "Reset" buttons).
It would be nice to implement some smart method of entering text into it, having in mind that the screen refresh is quite slow on e-ink and hence animated/changing on-screen keyboards would be difficult to use, if not done carefully:
- Chord keyboard + on-screen help (pressing two or more keys to get the character)
- Some variant of MobileQWERTY + on-screen help
- Another type of text input.
Browser
Intended audience: X11/C developers
A browser application would be a good addition to the book reading software. However existing browsers will need to be adapted to the e-ink screen.
This task consists of adapting Embedded Konqueror to Enlightenment environment, e-ink slow refresh rate, reduced text input capabilities of V3.
Printing to the e-ink device
Intended audience: C developers, device driver developers
An e-ink device could be thought of as a very versatile sheet of paper. As a result, a user should be theoretically be able to simply "print" whatever's on his screen to an USB-attached V3, and have it appear as a file.
Ideally, the (postscript?) printer driver would have the display dimensions stored, as well as a dithering algorithm - in order to obtain the best-looking results. This should output to something like a dvi - you would need to port something like xdvi to the V3..

