I've added a new screenshot, this time on a large (> 7") tablet. It's an example of how faceted browsing might work.A modern OPDS client
I decided to start a list of features and popular clients in order to test them one by one. This work is still on-going, but it's not enough on its own to push the ecosystem forward. A compatibility list and a full way to test a client are both useful things to have, but to build truly modern OPDS clients we need the big picture, an idea of what we should expect from such software in 2012 and beyond.
UX on smartphones/tablets has considerably improved over the last few years, and an OPDS client could leverage a lot of that to craft a truly wonderful experience.A modern OPDS client should be fun to explore
Recently both Android with its Holo theme in Android 4.0 and Windows 8 with its Metro UI introduced brand new user interfaces, with a focus on simplicity and UI elements that invite the user to swipe everywhere and explore.
Unfortunately, most of the current OPDS clients are stuck with non-standard UI elements and display OPDS catalogs as a boring list of links to click, instead of a graphic heavy, touch friendly place to discover brand new content.
While it is technically true, that there's a clear distinction between navigation and content in OPDS, it doesn't mean that the user should be stuck with 5 screens in a row displaying just a bunch of text links before they finally see the goods.
OPDS is designed around links and semantics associated to those links. The main menu of an OPDS catalog (its first navigation feed, at the root of the catalog) doesn't have to be boring: it can include links to featured books, lists of all kinds and new releases. Such links can easily be identified by an OPDS client, and their content displayed directly next to the core navigation of the catalog.
Content should always be a swipe away from navigation, and using such techniques, content providers can craft great experiences where they curate the content and group them in a way that makes sense and is easy enough to explore.A modern OPDS client should go beyond OPDS as a catalog format
About a year ago, I wrote a post called "A new modular approach to ebook distribution" (https://plus.google.com/u/0/107252663012827113536/posts/VGruSpVbd5n
) which introduced the idea of using callbacks and shelves/subscriptions separately from a catalog.
While OPDS was initially created as a format to browse, search and acquire content, it has outgrown its definition as a "catalog format" almost two years ago when we included the concept of a "shelf" in the 1.0 version of the specification.
A modern OPDS client should support both callbacks and shelves: they would both dramatically increase its usefulness, and would help to connect OPDS to the real world.
Imagine walking into a museum, that offers a free ebook guide for its current exhibit.
The visitor would walk into the museum and through several means (could be a NFC tag, a QR code, a webpage on the museum's wifi, in an app that geolocalized the device) could obtain an OPDS callback.
Callback is a complicated words to describe a message that contains a bunch of links and metadata. Instantly, the OPDS client would download the free ebook and would offer the user to add a full catalog where several other resources are available: videos, an audio tour of the exhibit or other ebooks from the museum store. That's the power of an OPDS callback: it's meant to open doors for you, a simple click and you get both your download and cool new resources to explore.
In a similar fashion, shelves are meant to simplify your experience. The first time that you buy an ebook from a retailer, you could get an OPDS callback that contains both your title and a link to your brand new shelf. From that moment on, any new purchase would show up instantly on your device and since OPDS is all about openness, this would extend to several sources at the same time: your favorite bookstore, your university's library or a book club for example.A modern OPDS client should help you find what you want
Most of the so-called application store do a terrible job at discovery. It was recently announced than on Apple's AppStore for example, close to half a million apps have almost next to zero downloads.
Browsing through a catalog with hundreds of thousands of items is next to impossible, even on a large screen, if you don't offer the right tools.
Facets are designed exactly for that goal, to drill down into a catalog and apply criterias that will help you find what you want.
Let's say that you'd like to visit Paris. A search for the keyword "Paris" or even "Paris guide" might return a lot of unwanted results. Good faceted search, can easily help in such cases and offer the user to limit the search to certain categories (Travel guides), price range (under 5$) and formats (EPUB).
Without facets, we're stuck with browsing though pages and pages of content, unable to drill down into a catalog.A modern OPDS client should be an open door to explore new things
Some of the current crop of OPDS clients makes it fairly easy to add new catalogs to explore: just click on a link that starts with opds:// and you can start exploring.
But most of them still limit the ease of adding new catalogs, and most of the time you end up having to enter a URL manually or limit yourself to the preloaded choices.
I believe that we can do better than that and make it completely seamless to discover and add new catalogs to explore.
Callbacks that would add a new catalog would be a good start, but the current OPDS specification allows a lot more than that. New catalogs could be discovered as you browse the Web (included in HTTP headers or in a webpage), specialized guides could list interesting catalogs and geo-aware OPDS clients could offer new suggestions as you visite a new place.
User added catalogs should be treated exactly like the preloaded ones, with the ability for the user to organize their selection however they want.A modern OPDS client: Android edition
We've worked on a few mockups of what such a client could look like on the Android platform.
These screenshots are just a suggestion of how some of the things detailed in this post might work, and we'll probably try to do something similar for other platforms in the near future.
Each screenshot has a comment that explains how things work, and what makes them different from the current crop of OPDS clients.