Friday, September 19, 2008

iRex Reader 1000

Details are starting to emerge about iRex's new reading device lineup.

There will be 3 10.2 ince devices. One base model, one with the touch screen, and the third with wifi, bluetooth, and 3g.

This is exciting news. I've always wanted the iLiad to be a little bit bigger. I mostly use mine for business purposes (notes in meetings, reading documents, etc). A bigger screen will be great for a paper alternative. Especially if the device will be able read more documents natively.

It'll be interesting to see the device and user interface. I assume they're going to use the same software for the touchscreen and non touchscreen versions. Maybe they will have more buttons and a scroll wheel like the kindle, or maybe use context menus like the cybook. Time will tell.

I do know for sure that I intend to buy the top level unit with all the bells and whistles. I'll have to start saving now though... I do intend to keep developing and porting for the platform. This is going to be an exciting time.

A quick overview of what we know:

  • Name: iRex Reader 1000
  • 10.2 Inch Screen
  • eBook (Mobipocket?), PDF, Word, and html support (probably others)
  • Stylus input (wacom?)
  • 60-70 hour battery life
  • 3 Versions
  • Base - $650
  • Touch Screen - $750
  • Touchscreen + Bluetooth, Wifi, and 3G, $850
  • 16 levels of greyscale

Thursday, February 21, 2008

First Midori/WebKit iLiad Beta Release

I've created an early beta release for my port of the Webkit based Midori internet browser.

There are quite a few bugs that need to be worked out before it's ready for the average user, but it works well enough as a tech demo.

You can see some screenshots below:





If you'd like to try it, you can download the first beta here: Midori Beta 1

You will need developer access on your iLiad to launch it. You'll also need to start an internet connection with another script.

Thursday, February 14, 2008

Building a better web browser

I don't know why, but I've decided I really want a good, working, web browser on the iLiad. Maybe it's Kindle envy, maybe I spend too much time porting when I should be working, who knows.

WebKit seems to be all the rage these days. They have builds of it for just about every platform, and the iPhone has really brought it into the mainstream. So my goal is to port WebKit to the iLiad and provide a useful interface for browsing.

  • It must be able to use the pagebar to page up and down.
  • Screen refreshes must not be obtrusive, and should be responsive. (Native refreshes only, no hacked libX11)
  • Support for Bookmarks and Recent URL's.
  • Easy to install package that can run from anywhere.
WebKit is compiling now. Next, I'll build Epiphany and use the webkit core. As long as that goes smoothly, I can work on refreshes and the rest of the application. Wish me luck...

Edit: I think I found a better front end than Epipany. Midori is much smaller and more light weight than Epiphany. It should be able to do everything required and be relatively quick on the iLiad.

I had Midori up and running with the Webkit backend, but nothing would display because WebKit was made to work with gtk 2.8, and the iLiad has 2.6. I believe I've found a patch, so I'm recompiling (takes about 2 hours on my dev pc). Hopefully I should have an early working application soon....

Tuesday, February 12, 2008

Finally!: Integrated FBReader 0.8.14 with ePub and Registry Support

It's been about 6 months since my last port of FBReader. The talented FBReader developers have done a lot. The most important addition is the support for ePub books. You can view the full changelog at FBReader.org.

I, myself, have done a lot of things different for this release as well.

  • I've removed the FBReader toolbar, and thus, disabled the internal library.
    • This was mostly done to speed up porting time. With the library removed, much less needed to be done to the code of the program to port it.
    • All refreshes are done internally. No hacked libX11 is used!
  • By default, FBReader will add supported file extensions to the registry
    • This makes FBReader act like any other viewer on the iLiad.
    • FBReader settings and configuration will be saved to /mnt/settings so a software update should not erase them.
  • The installer no longer requires a memory card, and will be installed to internal memory.
    • The internal memory of the iLiad has 7.8MB free after installing FBReader. It should not interfere with anything else installed internally.

Based on a support thread I made, file extensions supported are:
  • chm
  • rtf
  • oeb
  • opf
  • epub
  • fb2
  • tcr
Because the toolbar is gone, most of the important functions can now be accessed by the hardware buttons:

  • Upper Left/Quit Button
    • Will cancel out of TOC screen, and will quit when inside the book.
  • Page Bar Forward
    • Short Press
      • Next Page
    • Long Press
      • Redo
  • Page Bar Backward
    • Short Press
      • Previous Page
    • Long Press
      • Undo
  • Up Arrow
    • Short Press
      • Previous TOC Section
    • Long Press
      • Increase Font Size
  • Dot or "Enter" Button
    • Short Press
      • Show Table of Contents
    • Long Press
      • Rotate Page
  • Down Arrow
    • Short Press
      • Next TOC Section
    • Long Press
      • Decrease Font Size

Installation of this is simple. You'll need firmware 2.12 and Developer Shell access. Unzip the file, and copy anywhere on your iLiad. You will need to restart your iLiad when it prompts you. After you've restarted, you can delete the installation directory.

There will be no icon to run FBReader, you'll need to select a book from the contentlister with one of the file extensions listed above.

Supported books will have a valid icon.

You can find the release and discussion at MobileRead: http://www.mobileread.com/forums/showthread.php?t=20490

Friday, January 18, 2008

iRex Moving Forward with Community Project

You may have seen a post on the iRex forums about community development.

Basically, iRex is trying to open up the iLiad as a development platform simlar to that of the Nokia Tablets. Nokia's internet tablet platform is very popular because of the great documentation Nokia provides, the openness of the platform itself, and the ease that users can download and install new programs on their tablets. I'd like to see the same thing happen to the iLiad.

In the most recent post by Karel, he's asking for those willing to take a more active role in the proposed community to email him. I have done so, and plan to help bring this community to life. Right now, iLiad development is unorganized, and difficult for a new user to get into. Hopefully, with iRex's help, we can overcome that.

I'm going to lay out a few things that I think the iLiad and community need.

  • Installation
    • Right now, it's very difficult for a user to install a 3rd party application. They have to request shell access, find the program they want to install. Download and unzip it, then run it on the iLiad. This can be confusing, and can cause many problems along the way.
    • There could be a few ways to solve this. The new community can have a page with tested and working applications. The user can sign into that page with their myIrex username/password, select the application and have it downloaded via the IDS.
    • Or, there can be a program like that on the iPhone, where the application connects to a list of feeds and displays a list of available apps to the user with a one-click installation method.
    • Lastly, there's the more crude, but effective method of supporting ipkg through the contentlister. The user downloads the ipk from a website, copies it to the iLiad, and it installs with a single click.
      • All of the above methods would require some intervention from iRex, either with the website, or changes to the internal software.
  • Adding new viewers
    • There needs to be a better way to add and remove new viewers and supported formats to the contentlister. Right now, one needs to use a sed script to modify the registry. This can be prone to errors and removing afterward is very difficult.
      • I thing that new directory for "Plugins" should be added.
      • The package installer can copy an xml (or any other file) into that directory with the extension supported being the file name.
      • Inside the XML file, the program that is used to read the file will be listed, along with the icon to be used.
        • For epub for example.
        • \mnt\setttings\registry\plugins\epub.xml
epub.xml:
<viewer>/usr/local/bin/FBREADER</viewer>
<icon>/usr/local/share/icons/epub.png</icon>

        • It could be as simple as that. This way, if you have two different programs that support epub, you can overwrite the existing configuration with that of the new program. This wouldn't change the registry in any way, and if an error occured, the contentlister could ignore the plugins directory the next time it launched.
  • Screen Refreshes!
    • Right now, the biggest problem with porting any application is getting the screen refreshes. If this could somehow be made easier for developers, I think that the iLiad would have an influx of new applications available for it. Could this be added to GTK within the iLiad? This way the application would work as normal, and GTK would refresh when everything was done being painted.
      For the end user:
  • Documentation, Code, Website enhancements
    • This new site is going to need to be well organized and provide lots of information. I can think of a few things it'll need.
      • A way to track ongoing ports and their status
      • A bounty system for users to request new applications
      • Documentation on internal iLiad functions
      • Open source the UI compontents, ContentLister, note application, browser app, etc
This is just a small list. I think that there's a lot of potential for the iLiad that's not being realized. I hope this new initiative can solve that.

Monday, January 14, 2008

FBReader port coming along nicely

My port of FBReader 0.8.10 is coming along very nicely. I've decided to go ahead with the limited functionality idea in order to speed up porting, and make it act more like a native iLiad application.

You can see what's happening in the screenshot below:


FBReader is shown reading and epub book downloaded from feedbooks.com.

As you can see, it have FBReader start in full screen mode. This hides the unnecessary toolbars.
It gives you a status indicator, page count, and clock that will updates as you turn the page. Right now, it takes about 2.5 seconds to refresh. This is a little better than the older version. I'm hoping to increase the speed even further.

There are a few functions that can be used with key shortcuts:

  • Upper Left Button: Closes FBReader
  • Page Forward/Backword
  • Up & Down arrows short: Increase and Decrease Font
  • Dot Button: Go to the beginning of the document
  • Up & Down arrows Long Press: Next and Previous Table of Content Section
  • Dot Button Long Press: Open Table of Contents
There are a few things left to do before I can publish the port. I'd like to save the configuration to /mnt/settings so that it won't be lost when you perform an OS upgrade. Also, I need to create and test the installation package. I've reduced the file size enough so that it can easily reside on the internal memory (I think the package takes up about 2.5MB, I may be able to shrink it further).

I'm thinking about preparing a short video demonstrating FBReader and the FeedBooks.com iNewsStand application. These two programs really show off the iLiad's potential and flexibility.

Tuesday, January 8, 2008

Idea: FBReader - Limited iLiad Edition

I'm getting ready to start my port of FBReader 0.8.10 with epub support. I can easilly get this working on the iLiad, however I want to speed up the screen refreshes by using only native refresh calls. The problem is that in order to get these refreshes to work in the options dialog and FBReader library, a lot of time consuming manual test & check work is required.

I had a thought about limiting the features of FBReader and making it look and act more like a native iLiad viewer. I think that if I completely disabled the top navigation bar, set the appropriate key bindings, and forced the user to launch all books directly from the contentlister, it would actually significantly decrease the amount of time it would take to release the port.

I know that some users do like the Library function of FBReader, but for those who don't know or need it, this would be an ideal solution. I may also be able to decrease the size of the binary and libraries, to allow it to be installed on the internal memory of the iLiad.

I need to get Shell access back, and do some testing. But unless I hear too many complains, I'm going to go forward with this (at least until I can devote more time to a full port).