The (admittedly quiet) uproar about Twitter and Facebook moving away from supporting RSS feeds (e.g,
Twitter and Facebook Both Quietly Kill RSS, Completely) has had an effect. Facebook has put back links to the RSS feeds for public pages, see Facebook Listens. RSS Added Back to Pages. Will Twitter be next?. Thank you Facebook.
In comments to the earlier post, a Facebook engineer noted that developers prefer the JSON APIs. True, and non-developers and non-Facebook specific apps are shut out by a proprietary API. Both Facebook and Twitter are big enough that they might think that of course everyone will support their API.
Amethyst may support the Twitter API in the future, but we can support Twitter’s RSS feeds immediately. RSS’s expected 1 hour refresh is not the best match for Twitter’s near real-time nature, but it is an easy first step. I think of a ladder with doable distances between rungs and an easy first step. Too many people think when they add another rung (“raising the bar”) they have to cut off the bottom rungs to do it. Supporting RSS feeds is not terribly resource intensive. I see little to gain by dropping legacy support and something to lose by excluding potential clients.
With RSS feeds, Amethyst can support Twitter immediately. And we have a lot of work invested in reliable RSS in the face of timeout, redirections, not quite standard RSS/XML, etc. Doing the same for just one non-RSS source is not inviting without some proven interest. The next rung is relatively easy, formatting the Twitter RSS feeds more like the typical Twitter client (i.e. no redundant title and description). Straightforward, though not as easy as it looks; the changes reach half way through the Rails stack,from HTML templates almost all the way down to the database. Moving to support of Twitter’s real-time nature and the Twitter native API requires changes all the way up and down the Rails stack. It is made more inviting because several envisioned changes require the same deep changes.
Amethyst is over 5 years old. Many reasonable current uses just didn’t exist back then, e.g. supporting smart phones and other mobile devices.