A little over a week ago I decided that I wanted to get more familiar with RESTful APIs, so I thought I’d make a Twitter application for my own personal use.
That was a mistake.
I thought I could read Twitter’s documentation and get started pretty quickly. After a few hours of trying to understand how to get my credentials to pass through to their service correctly, I got frustrated, and gave up on trying to do it myself. All of the examples that I found either pointed toward using a native library, (TweetSharp by Daniel Crenna) or they referenced the old version of Twitter’s API that didn’t require oAuth.
I could have moved to oAuth’s website to learn what I needed, but I wanted to finish this project quickly, and I had already wasted a lot of time. So I grabbed TweetSharp and started working with it. It took a few hours, but I had a passable working Twitter client that could send tweets, retweet, modify tweets, favorite them, and even reply to specific tweets. I was fairly satisfied with that, and the layout looked fairly nice, too.
This was all in preparation for making a “Furnarchy Module” called Tweetarchy. Back in 2009, my friend Eric and I took over an open source project called Furnarchy from the original creator “Cluracan”. It’s for an online game called Furcadia. In an effort to get more people to use Furnarchy, we brainstormed several ideas and came up with the idea of allowing people to “Tweet” from within the game client itself. That lead us to creating the original Tweetarchy module.
Unfortunately it wasn’t long after our release that Twitter shut down that version of their API and moved over to using oAuth for all of their API calls, which left us up a creek. Back then, I was only developing websites, and not very good ones, even. Eric had a lot of other stuff on his plate at the time, development wise, and neither of us could make head’s or tails of the way Twitter was implementing oAuth. So we let that project fall by the wayside, in the idea of keeping Furnarchy functional through client updates that invariably broke our core software.
6 years later, though, I got the itch to get the module working again. Within the next week, I hope to release the module, (Open source, on GitHub.) – The code won’t be pretty, necessarily, but it should work. And that’ll be enough to start with.