3 ms·
HN, it's been six months since I launched NewsBlur (http://news.ycombinator.com/item?id=1834305 http://news.ycombinator.com/item?id=1834305) and I've been worki
by conesus 15y ago
HN, it's been six months since I launched NewsBlur (http://news.ycombinator.com/item?id=1834305 http://news.ycombinator.com/item?id=1834305) and I've been working nearly every single day in my free time to bring this API to light.
As some of you know, it's entirely open-source on GitHub (http://github.com/samuelclay http://github.com/samuelclay) and a number of NewsBlur's users subscribe to NewsBlur's GitHub history, so there's this crazy meta quine-esque feel to coding in the open.
Building an API is hard. I didn't realize it'd be so many moving parts that don't care to align, but comb it over a few dozen times and it's finally there. This is the first API I've built myself, so the obvious things aren't so obvious. Like don't build endpoints that are named /reader/load_single_feed instead of the more RESTful /reader/feed/:id.
If I were to be perfectly RESTful, I'd have PUT and DELETE methods on the same endpoint URLs. But for now the API exists as a bunch of discrete endpoints that each have their own quirks. Smoothing them over is something that will take some experience and some real-world battle testing.
I'd like to think that this goes to show that anybody can build an API (and a service beneath it). I think the consistent message I've had to deal with every single day, even as hard as it got sometimes/always, was to not give up. It's a bit easier now to not give up, but those first few months, when everything broke and nothing worked, and the night would pass and I'd wake up to dead robots, were tough.
Lend me your thoughts. I'd love to hear feedback so I can make this API/service better and improve my own education in the process.