Tag Archives: Android

OPDS: building an ebook catalogue

This is part of a series wrapping up (belatedly, alas) the findings from Project Sunflower. As the protagonists of the Project have moved on to pastures new, leaving their notes behind, editorial duty has fallen to yours truly.

In this post, we look at OPDS, otherwise known as ‘Open Publication Distribution System’, and why it’s worth a look for anybody intending to integrate ebook platforms into the student experience. For anybody who’d rather skip ahead, version 1.1 of the standard can be found right here.

OPDS is, according to the specification, designed as

a syndication format for electronic publications based on Atom and HTTP

and can

enable the aggregation, distribution, discovery, and acquisition of electronic publications


existing or emergent open standards and conventions, with a priority on simplicity.

Now, as we will see from reviewing the performance of typical embedded ebook search/indexing functions and interfaces, most ebook readers aren’t designed to contain huge numbers of ebooks. At 7.99 an ebook, most readers will be cautious in their acquisitions, so perhaps the perception from some manufacturers is that it is pointless to create readers that specialise in navigating across hundreds of thousands of files. Many portable media devices suffer from similar difficulties – the classic ‘clickwheel’ interface on iPods, as applied to a large number of files, became the subject of a 2009 satirical report by The Onion.

The relevance of OPDS is the following: OPDS allows you to search and browse across extensive collections of documents. They don’t need to be books; an OPDS frontend on an institutional repository is perfectly achievable, format conversion notwithstanding. The obvious use case is searching or browsing for a single file, but part of the relevance of OPDS is the fact that it also allows for batch mode: a student downloading the full reading list for the semester, for example. Wouldn’t that be convenient?

An OPDS catalogue is fairly straightforward to set up. For prototyping purposes, the well-known ebook software Calibre can be used to experiment with the concept; it can be found in the Calibre software under Preferences->Network->Sharing over the net, and is referred to as a ‘Content Server’. If you’d rather experiment with a static OPDS catalogue — providing no search function, but with browse functions that make full use of your metadata — consider trying calibre2opds, a Java application that renders your Calibre catalogue as a set of static HTML pages and, being simpler and more secure (by dint of having very few moving parts), may be considered a relatively secure way of deploying a prototype. A comparison of these alternatives may be found here.

Cross-platform compatibility: Limited.

Android and the iPad approach this on a per-application basis, and a good implementation is available for both. iBooks won’t handle the catalogue functionality, but you can manually type the address into Safari; then, when you click on an ePub file, iBooks can handle the download. Alternatively, you can use Stanza, which works well – but when iOS 5 came out, we discovered that Stanza ceased to work until we updated the iPad to the latest version, so be prepared for sudden failures around the time of iOS upgrades.

The Kindle is able to use OPDS catalogues, but requires them to run on port 80 (the usual port for a web server, admittedly, but not Calibre’s preferred choice for practical reasons). Simpler e-Ink devices mostly still do not have any mechanism for connecting to the Web, and therefore this sort of functionality is not available on the platform itself, so desktop software must be used instead.

Ease of setup: Moderate.

Getting a Calibre content-server running on a home network is relatively easy provided that the user is familiar with terms like ‘IP address’. However, practical implementation on a larger scale requires significantly more thought; not only are there security and sustainability issues around the software, but the usability of the resulting catalogue is very dependent on good metadata.


Standard, relatively simple to set up, and extremely liberating – a convenient distribution channel, bypassing the need to centralise via a commercial vendor, what’s not to like?


Support for OPDS is patchy and the standard is still relatively recent. Many popular ebook reader applications do not support it explicitly. Fortunately, it’s so near to popular standards that all you really need is a web browser and an ebook reader to get some benefit from an OPDS.

Sample screenshots

Browse by tag screenshot

Browsing the Calibre content server by tag


Browse by author screenshot

Browse by author

AI-Class with tablet devices

Quote from Sebastian Thrun

@SebastianThrun: Who’s up for a $2000 Stanford degree?

You might have seen the intense publicity received by Stanford’s current experiment: Ai-Class, not to mention the sibling efforts ML-Class and DB-Class. These were described to the public as beta-releases of a new kind of education, and have been made available for free, possibly a once-in-a-lifetime offer, possibly never to be repeated. Class began in mid-October, and it’s not clear whether these will run again in their current form.

I joined two classes; AI-Class (artificial intelligence, taught by Sebastian Thrun and Peter Norvig) and ML-Class (machine learning, taught by Andrew Ng). Given that the midterm exam happens next week, I won’t be sharing my grades, but I would like to write a little about accessing these courses on various platforms.

First, a confession: despite the fact that the AI-class draws extensively on material from Russell & Norvig’s ‘Artificial Intelligence: a modern approach’, and the fact that I would’ve liked to use this to check out some ebook reader platforms, I haven’t been able to do so. There are various reasons for that, but the most compelling is :

Content Unavailable in the United Kingdom

Oh well.

There were other problems, anyway; the price of Norvig’s other books suggest that I would not have been happy to pay the price for a Kindle copy. Keep in mind that the office wouldn’t be paying; this is something I’m doing in what I laughably refer to as ‘spare time’. Norvig’s cheapest available Kindle download, Case Studies in Common Lisp, costs £41.89. If AI:AMA cost anything like that, I’d have ended up checking out the second-hand market anyway – you can pick up a second-hand copy for between a fiver and a tenner. Even if I’d bought a paper copy new it may have been cheaper; e-books attract VAT.
This got the Kindle out of the running very quickly. The primary use it can be put to during the course is revision of notes from the ML-class, which conveniently includes revision slides/PDFs.

That left the Apple iPad and Motorola Xoom, which could not only view the PDFs, but also access the videos offered by each site. In the case of ML-Class, a download link was even provided for each video – perfect, I thought, I’ll download them and watch the videos in transit. One difficulty: the iPad seems to disapprove of the concept of downloading files. Safari will consent to send pdfs to iBooks, but as for storing videos for later review, the obvious solutions involve a laptop and iTunes. If you are not always online, the need for advance planning – the faff factor, if you like – increases rapidly. The determined can mitigate the problem via applications for the iPad such as the MyMedia download manager, but the app-centric viewpoint is frustrating. Stanford could solve this through iTunes U – but how many channels must a provider support?

The Xoom did not go to the same finishing school as the iPad, if it went to one at all. Unaware that saving files from the browser and displaying them in anything available is an uncouth habit, it simply does it. It also seems to have passed through its formative years without learning that arbitrary soft-resetting is rude, so it occasionally does that as well.

ML-Class makes extensive use of Octave, a free and fairly Matlab-compatible language and interpreter, giving weekly assignments. The idea of Octave on a mobile device is not as far-fetched as it sounds – Nokia N800/810 owners were able to use both Octave and Gnuplot. Similar software packages, such as Addi and Mathmatiz, are available for Android. In general these are works in progress. iPad owners with a desktop copy of Matlab can try connecting to it remotely via Matlab Mobile, a function that is available through unofficial apps on Android. The interface is not, however, optimised for the iPad, and as with the problem of watching videos in transit, those with limited network connectivity will find this an imperfect solution. Why no Octave clone on iOs? The App Store, the GPL, and extensible interpreters apparently don’t mix, although since Apple changed the language in their SDK, some of the issues mentioned have been resolved.

To conclude: the iPad is polished, but I found myself reaching for the (heavier, clunkier) Android device instead. The Xoom is indeed something of a brick, but the iPad seems to be designed for a world with uniformly excellent 3G coverage, in which nobody ever spends much time offline.

A Starter’s Guide to the Android SDK (on Linux)

It’s fairly easy to setup and install the Android SDK on Linux. For starters, the fact that you don’t need a Mac, and that it’s freely available really helps. The Android developers website is very resourceful and has a lot of information and step-by-step guides to have the SDK setup and ready in no time. Chances are, you won’t have to look at any other websites for this purpose.

Things You’ll Need

1. Make sure your system meets the system requirements (it’s a few hundred MBs of hard drive storage).


2. The SDK Starter Package


3. ADT Plug-in for Eclipse (if developing in Eclipse). Requires Eclipse 3.5 (Galileo) or greater.


If not developing in Eclipse, you can use other IDEs like Apache Ant 8.1 or greater (http://ant.apache.org/) or JDK 5 or JDK 6 (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Installing the SDK

Firstly, the downloaded file must be unzipped.

Zip file Type ‘unzip filename.zip’ in the terminal

.tgz file Type ‘tar zxf filename.tgz’ in the terminal

Once all the files are extracted, eclipse is ready to be used. Typing in ‘eclipse’ in the terminal should start the IDE.

Installing the ADT (Android Development Toolkit) to Eclipse

Follow this link for a step-by-step guide to adding the ADT Plug-in to Eclipse.


Install Android Platforms, APIs and other recommended tools

Once the ADT is installed, you can launch the Android Manager from Eclipse.

Open Eclipse

Select Window > Android SDK and AVD Manager.

Select the required components from the Android SDK Manager and it will install the required components for you.

That’s it! You’re ready to start developing your own Android Applications.



Project Sunflower: XOOM Usability Study

The Motorola XOOM is the first tablet to run on Android 3.0. It supports 720p recording and boasts an Nvidia Tegra 2 1GHz processor. The XOOM was introduced as a tablet that does a lot of things, one of which is eBook reading. Our aim was to study the eBook reading capabilities of the device. We studied the reading experience, the device itself and the UI the device had to offer from a purely eBook reading perspective.


The first thing noticeable about the device, or should I say not noticeable, was the power button. The power button was nowhere to be seen on the sides of the device. Users often mistook the SIM card slot for the power button. This was an issue with all users. The power button is on the back of the device, besides the camera. It isn’t easily identifiable.

The XOOM weighs 1.6 lbs, slightly more than iPad and Kindle that weigh at 1.3 lbs and 1.2 lbs respectively. This was another concern shown by users. The users pointed out that the impact of the weight was clearly evident through stress in the wrists when holding the device.

The thickness of the device is also not comparable to the iPad 2 and Kindle DX, the two other devices used for the study. The users thought a thinner device would be more convenient. The greater thickness however, did provide for slightly better grip.

The keyboard feels too broad when holding the device in landscape mode making it difficult to type.

User Interface

The users liked the eBook reading experience the app had to offer. The pages were displayed across the entire screen not wasting space at the edges and thus displaying more words per page in portrait mode. Settings provided by the app were also deemed adequate by users.

The most admired feature was ”Night mode’. This feature allows users to change the screen to white on black from black on white. This makes it more comfortable to read in low-lighting conditions and especially at night. This feature is an advantage because the backlit display can cause severe stress to the eyes when reading continuously for a long time.

The areas users generally found tricky were finding applications to read books on the device. Previous experience with the device played a significant role in this case. The users with little or no experience found it difficult to find and install apps. Most users wanted the app to be installed by default instead of requiring the user to install it.

The landscape view does not support 2-page display, causing almost 2 inches of screen space being wasted on either sides of the screen. This space could be better utilized to display more text and thus help users to see more information on the same screen.

The most severe issue was that of crashes. In case of some users, the app crashed abruptly and the user was taken back to the homescreen.


The Motorola XOOM is a powerful device and runs the latest Android 3.0 OS, however as far as eBook reading goes, is not a very suitable option. Especially for academic text. The device’s weight. thickness, abrupt crashes, and the ePub format’s illustrations rendering capabilities deems it unsuitable for reading academic text. Like most other tablets, the XOOM is good for leisure reading with its simple UI, various viewing modes and fast responsiveness. Academic text on the other hand requires more information displayed on a single page, the ability to flip through chunks of pages while being able to see the scrolled contents and the ability to make notes on the textbook. It will take more time till eBook readers support these features and as of now the Motorola XOOM does not seem ready for use as an academic textbook reader.