Last week I described my plans for a reader app that I've started building, called Yakread. On Wednesday it reached the point where I decided to go ahead and let anyone sign up. You can do so at yakread.com. Think of it as an open beta.
To summarize what it does: you can subscribe to various content sources (currently newsletters, RSS, and Pocket bookmarks). Yakread merges it into a single feed and uses a ranking algorithm to pick five links for you (see the bottom of that gif). You select a link, read it within Yakread, repeat. The algorithm gets smarter the more you use it.
(By the way, after you set up a @yakread.com email address, you could even use it to sign up for The Sample 🙂)
I've been using Yakread myself for several days now, and I'm extremely pleased with it. It makes reading medium-/long-form content as easy as scrolling Twitter.
There are three more essential features Yakread needs before I consider it "complete," at least for my own use. First I need to make the ranking algorithm actually improve itself. Right now it's mostly random. After it loads all the possible links it could show you, it chooses the next one with this process:
- 50% of the time, select a random unread bookmark from Pocket.
- The rest of the time, select a random newsletter or RSS feed that you subscribe to.
- Then select a random post from that newsletter/feed that you haven't read yet.
Each batch of links is selected by repeating that process five times.
So the next step is to make the algorithm look at the links you click on and the ratings (thumbs up, thumbs down) you give. For example, instead of picking a newsletter at random, we'll first look at the past performance for each newsletter. Maybe newsletter A has been included in 10 previous batches, and two of those times, you clicked on it. If newsletter B has also been in 10 previous batches but was clicked four times, then newsletter B should have a higher chance of getting selected again.
That's honestly about it. The algorithm won't be too fancy. I may add a few other things, such as:
- Give more weight to newsletters that send less frequently or that have been selected fewer times in the past. If we have a new post from a newsletter that only publishes once per month, that might be a better recommendation than a daily newsletter that gets selected regularly.
- Give more weight to newsletters with recent unread posts. If you've already read all the recent posts from newsletter A, and newsletter B just published a new post you haven't read yet, we should probably give more weight to newsletter B (even if newsletter A still has some old posts you haven't read yet).
- After a newsletter is selected, instead of selecting a post at random, give more weight to recent posts. Maybe we do it logarithmically (i.e. new posts are more likely to be selected, but old posts still have a chance).
- Continuing last point: posts that have been selected for previous batches should get less weight than posts that haven't been selected yet. To illustrate: it seems like an obvious strategy to just show the most recent unread post. But if you don't click on that post, what do we do in future batches? It would probably be a good idea to show it again occasionally, but we should also give more preference to the previous posts that you haven't seen at all yet. Hence the logarithmic thing.
Update: since writing this post on Saturday, I've finished implementing most of these algorithm updates. I'm currently working on ebooks, discussed next.
After that, I'll make it work with ebooks. Yakread should let you upload an epub file (if it's DRM-free), and then the ebook will get split up into a number of posts. The algorithm will treat ebooks as a separate category from bookmarks or newsletters/RSS feeds. Perhaps it'll do something like this:
- 80% of the time, select either a Pocket bookmark or a newsletter/RSS feed.
- The rest of the time, select a random ebook.
- Then select the next post in the ebook that you haven't read yet.
And maybe there'll be a settings page where you can set your current position. So if you upload an ebook that you're already half-way through, Yakread will start at the correct position.
And finally, I'll add Twitter. If you connect your account, we'll import a list of the people you follow. Then we'll bundle the tweets into larger "posts" (i.e. the opposite of what we'll do with ebooks). For example, if you follow an account that tweets a lot, maybe that account will have a daily post that includes all their tweets from that day. Their threads will be included in full (somewhat similar to all those bot accounts that will compile threads onto a single page for you), but if you want to read replies from other accounts then you can click through to do it on Twitter. I haven't thought much yet about how the algorithm will deal with these tweet posts.
The idea here is to make Yakread help me spend less (but not zero) time reading tweets and more time reading books.
Currently I'm in the "scratch my own itch" phase. I opined about this a few weeks ago I think, but to recap, I've been wary about going full-steam ahead on yet another new product, instead of like getting a job or something. (Preferably "or something"). So rather than treat this as a business right away, I'm currently focusing on only my own needs. If I take care of that, then I'll be OK whether or not Yakread is also successful commercially.
But after the algorithm + ebook + Twitter stuff is complete, Yakread will have mostly fulfilled those needs. So at that point, assuming I'm still feeling sufficiently gung-ho (and I will admit, I am feeling pretty gung-ho as of writing this), I'll start trying to grow Yakread. There are a whole bunch of things that can be done, for example:
- Make the landing page more complete.
- Set up a daily email for Yakread users that includes your current batch of five links. i.e. it says "what do you want to read today," you click one of the links, and boom, you're on yakread dot com. (Many consumer apps solve the retention problem by making an iPhone app and sending you push notifications, but I vastly prefer staying in the web + email ecosystem, at least for now.)
- Integrate with The Sample so that new users can have a batch of five links to choose from immediately, even before they add any of their own newsletters/bookmarks/etc.
That last point is so great that I have to emphasize it with another paragraph. Even if a new user never connects any external content sources, we can auto-subscribe them to The Sample right away. And The Sample is great at helping people find a bunch of stuff to subscribe to. Plus, The Sample's one-click subscribe links already work seamlessly with Yakread, since Yakread is just another email client. People can sign up for Yakread and start reading great stuff without ever having to do anything other than "look at the list of five links, pick the one that looks most interesting."