Jeff Mesnil
Weblog · About

"Read Lature": A Web Application to Save Articles and Read Them Later

August 25, 2009

As an exercice when I learn a new programming language or a new environment, I develop simple applications to get a feel on the language, the platform, its libraries, etc. When I lack ideas for these applications, I redevelop applications that I use.

In order to learn Clojure and Google App Engine, I have developed Read Lature, a web application to save articles and read them later (very similar to Instapaper)1.

The idea is simple: I want to keep reference on articles or blog posts that can be interesting but I don't want or don't have time to read them immediately. I do not use bookmarks for that (either using my browser bookmarks or delicious): my bookmarks are long-lived while I want to keep a reference to these articles only for a short period (and keeping them open in tabs does not scale).

To save articles, you just need to drag a bookmarklet to your bookmarks bar. When you find a good article or blog post, you click on the bookmarklet to save it. It will be added to Read Lature so that you can read it when you have some time. Once it is read, it is automatically moved to the archive. Articles can also be starred for further readings.

The second way to save article to Read Lature is to use Google Reader. Setup a custom link and you can send articles to Read Lature directly from Google Reader (as explained in the instructions).

I mainly use Read Lature to save articles and read them later on my iPhone when I am away:

Reading from the iPhone

The application is hosted on Google "Cloud" and leverages Google accounts for user credentials.
To try it, go to Read Lature, login using your Google (or Gmail) account, and follow the instructions.

The application is written using Clojure, Compojure and jQuery and is less than 500 SLOC (75% is Clojure code, the rest is JavaScript).
Read Lature code is released the code under Apache 2.0 License on GitHub.

I will write later a review of the book "Progamming Clojure", that I have just finished reading, and some thoughts about Clojure base on my experience with it so far.

  1. So similar in fact that I first named the project Instapapure for "Instapaper in Clojure" but I did not like it and renamed it Read Lature (for "Read Later with Clojure"). Naming projects is a dark art that I do not master...