When I read that Google Reader was being shut down, I had a mild panic attack. And I never bat an eyelash at web services being shut down, bought out, or otherwise decommissioned. I loved del.icio.us and when it was bought out and dismantled, I built my own replacement. When I got really frustrated at how needlessly complicated WordPress truly was, I built my own replacement. When I thought maybe it'd be funny to ditch the internet and build my own, I prototyped it out.
But Google Reader is something I use almost every hour of the day, at work and at home, on every computing device I own. I absolutely love the Reeder client for iOS and Mac. It's one of the very few apps that I've ever shelled out money for and thought "damn, this is worth it". But while I normally read through feeds on Reeder, I don't mind the web interface for Google Reader at all. It's simple, minimal, and shows me what I want to see, in a format that makes sense. I read hundreds of articles every day via RSS. The interface needs to be simple and it needs to work well.
I love RSS because it's what I've referred to as a "higher-level standard" that only makes the web more fun, accessible, and extendable. The RSS and Atom standards are pretty easy (although somehow lots of people fuck it up). After all, RSS feed aggregation itself is simple. It's just not scalable. Very quickly you have thousands and thousands of posts being stored locally on your server, growing to millions as your user base grows. And fetching and parsing all of those feeds is expensive. But it's worth it â the alternative is visiting all of those blogs/sites/whatever one at a time, manually checking for updates, having nothing to keep track of what you have and haven't read.
So I built FUCK READER. It took a couple of days. Here's what it looks like right now:
It's insanely fucking simple, as the masthead implies. I hate social media sharing features. They're clutter. I can copy and paste a link to Twitter if I really need to. Here are the features I really cared about, and are present in my reader:
- Easily mark whole feeds as read, or individual posts as read (without having to actually open the post).
- Infinitely scroll through your content. Pagination is old.
- Star a post and it stays around forever.
- Use clean fonts, lots of white space, while respecting whatever style the post content may already have. (I decided on the basics: PT Sans and PT Serif.)
That's really it. I have some more features that I care about, and I'm working on them, but RSS readers don't have to be more complicated than what I just laid out. Here are some more advanced stuff I'm going to try to incorporate:
- Responsive design, so it looks great on desktop, mobile, whatever.
- An API, probably compatible with Google Reader's API. Some apps are opening up their syncing compatibility based on Google Reader's API, which sounds great to me.
- Mobile finger gesture recognition, like how Reeder lets you swipe articles to mark the as "read" or "starred".
- "View by day" listing, for when you're a couple days behind on the reading.
- Feed-level error reporting. On Google Reader, sometimes my feed URLs would be 404ing and I'd have no idea.
Pretty simple stuff. Again: it's a goddamn RSS reader, there's no crazy social web 2.0 crap to go on here. I want to read my fucking feeds, that's all.
The Technical Stuff
The front-end of FUCK READER is built in PHP with a little jQuery for some tricks. It's stupidly simple. A MySQL database stores the feeds, posts, users, and state info. I can already think of ways to use Raik or MongoDB to store things better. The feed fetching mechanism is all Ruby, primarily utilizing feedbin's fantastic feedzirra gem. I had tried building my own feed fetching-and-parsing in PHP, Node.js, and Go, but gave up because many RSS and Atom feeds are malformed or otherwise extremely difficult to parse.
I have not open-sourced FUCK READER because I just don't really want to yet. I want to hammer out a few things before I make the code public, but I definitely will. I have no plans of letting everyone use my instance of it, which I'll get to later.
Of course, when I saw that Google Reader was gonna die, I sought out alternatives. However, none of them appealed to me. They don't seem to appeal to many people. Here are some thoughts:
- Feedbin. Almost was my pick, but I can't justify spending $20/year on something I could build myself in a few days. It looks simple, it's friendly, and it's not obsessed with crazy features. Bulletin.io is similar, but again, why would I pay for this?
- Feedly. I'm still confused by this one â a Chrome extension? An android app? Weird tagging? "Cards" instead of posts? No thanks. Feed Wrangler gave me a similar vibe.
- Digg Reader. Only came out a couple of days ago, and I loaded it up as soon as I got the invite. I wasn't impressed. It was simple, but it's obvious they're going to cram it with weird pseudo-Digg-and-social stuff really soon. I have no interest in contributing to that.
- Newsvibe, The Old Reader. Ehhhh what? A little sloppy, a little trying-too-hard. No thanks. I don't need to tag my shit, I don't need to organize it, just give me a list.
- Tiny Tiny RSS. I set this up and played around with it, and it was okay, but it was clunky and wasn't as customizable as I had hoped. Again, I thought: I can spend time learning and customizing this, or I can just build my own.
- Fever. What am I buying, exactly? How are you taking my temperature? I was too confused to look at this for more than a few minutes.
- Readable.cc, Feedspot. TOO MANY FEATURES, or too much sharing, or too much holding-my-hand.
I've spoken to several people who have tried out these or other ones on the many lists of Google Reader alternatives, and most people have walked away from them disappointed. I'm starting to get some pretty positive feedback from people about mine, so I'm happy so far. But ultimately, I'm just trying to please myself with it.
Right now if I made FUCK READER totally open to anyone, it'd be unsustainable very quickly. I'm currently running it on my Linode box, which has a few sites on it sharing the same server. I've elected to make FUCK READER free, but invite-only, to share among friends and a few interested parties. I have no intention of letting it run amok on Hacker News or Reddit or some crap like that. I'll open source it, eventually, if people want to install it somewhere for their own use. Unless somebody wants to give me some money to spin up another Linode instance for it.
So how do you get an invite? Ask nicely via @cylegage, maybe.