I’ve got an idea…

I love it when I get a note like this from internet superhero Dave Pell. It normally means I’m going to get a chance to help build something I’m going to love.

Home Page

Our latest project together is Delivereads. You may have read about it already on Daring Fireball, Gizmodo or the TypeKit blog. If you haven’t, here’s the 30 second overview:

  • Some articles that are available online are too long to comfortably read in your browser, they’d be better to read on your Kindle.
  • Dave wanted a way to send these articles to his own Kindle, and thought that others might be interested in them as well.1

Yep, I certainly wanted to receive Dave’s selected articles on my Kindle. The system would be pretty straightforward to create… let’s do it!

The basic workflow is pretty straightforward:

  1. Dave does the hard work finding the great content. When he does find something, he uses the Delivereads bookmarklet to add it to the system.

    Article List

  2. When adding the article, Dave can add commentary to it as well. This commentary will be included in the Kindle delivery.

    Article View

  3. Once a good selection of articles is ready, Dave creates a delivery and selects the articles he wants to be included. These can be re-ordered as desired (using drag and drop).

    Editing a Delivery

  4. Once the articles are set, the commentary has been added and everything is ready to go, there are both preview and test-run features to make sure that everything is just right. The preview allows for a quick review on the web to find any obvious issues, then the test run sends the delivery to Dave so he can proof it before it’s sent out to everyone. As we all know, there is no “unsend” button for email, so being a little careful here is important.

    Viewing a Sent Delivery

  5. Once everything is reviewed and ready, Dave hits the magic button and you get the deliveread on your Kindle.

    Users List

The articles that you receive on your Kindle go through a few transformations before they are ready to send. The first step is to grab the article content. The articles are then arranged in the deliveread, along with the table of contents, commentary and various “back” links.

We went through a lot of revisions and tweaking to try to get the deliveread format right. What we have now is basically:

  • Table of Contents
  • Intro with article list and commentary (your Kindle opens to this page)
  • Article 1
  • Commentary on Article 2
  • Article 2
  • Commentary on Article 3
  • Article 3
  • Unsubscribe instructions

There is a link to the table of contents at the beginning and end of the article, and a link to original article on the web at the end of each article. We chose to intersperse the commentary on each article after the first article. We do this because these are long form articles and by the time you get to Article 2, you have likely forgotten the commentary from the introduction. However, the links from the introduction and the table of contents go directly to the article (skipping the interstitial commentary) since you likely have that context already. Dave and I are definitely open to feedback and suggestions that might improve the service or deliveread format, so if you have ideas please let us know.

The Delivereads service is built on our Oxygen web application platform. This provides a very robust set of web application features and best practices so that when we build a web application like Delivereads we are able to focus on building the bits that are of high value instead of spending time on user management, permissions, collision detection, item revision history, etc., etc. We’ve created a wide variety of apps, services and web APIs with Oxygen and it is proving to be an excellent platform.

Does building a service like Delivereads sound like fun? It is! Join our team, we’re hiring! (Previous blog posts: PHP Web Developer, Technical Project Manager)

  1. Dave is a great curator of content. [back]

This post is part of the project: Delivereads. View the project timeline for more context on this post.