Note: This is a guest post courtesy of our friends at Intridea
Last year, there were a quite a few of Rails Rumble applications built around Twitter. And that was before @Oprah. We’ve had some experience building applications with, like, for, and around Twitter at Intridea and we thought that we could share a few useful gems (in both the knowledge and Ruby sense) that we’ve come across along the way. We expect to see a huge number of creative Twitter apps coming from the Rumble teams this year.
Twitter’s a great platform for the Rumble. Why? You don’t have to worry about that pesky “empty app effect” when your users sign into the application for the first time. You get to leverage the billions of existing tweets, giving you a huge head start on the competition.
Also, Twitter’s a really easy platform on which to build an app, especially a Rails app. After all, 48 hours is at least two or three weeks in Twitter years. Don’t believe us? Back in May, one of our Intrideans built a complete Twitter on Rails application on stage at RailsConf in about 30 minutes. As Rumble participants, you’ve got up to 4 times as many people and nearly 100 times as long to build your apps. Almost seems too easy!
Your Twitter Toolchest
There are a great many Ruby libraries to interact with Twitter, but if you’re really looking to build a Twitter-centric application quickly, we recommend you take a look at TwitterAuth. TwitterAuth is a full authentication stack that connects using Twitter’s OAuth protocol. It does all the heavy lifting so you can stop worrying about getting users signed up and start worrying about what they’ll do once they are! There are already some interesting apps using TwitterAuth every day in production, like Pix.im, a TwitPic alternative, and TwitterMass.
Of course, Rails Templates are really the way to go if you’re looking to get an app up and running in the shortest time possible, and luckily there’s a TwitterAuth-based Rails template that will get you up and running in no time. Here’s a blog post about it, or if you’re feeling adventurous you can just get started immediately:
rails -m http://bit.ly/twitter-rails yourappname
You will be walked through the setup process and at the end of the process you will be ready to start adding functionality to your app!
Of course, even applications that aren’t quite so Twitter-centric can benefit from some Twitter integration. Here’s a list of some resources that may inspire you to include them in your Rumble application in some way.
- Twitter is one of the most popular gems for consuming the Twitter API, but we also like the simplicity and power of Grackle.
- Floxee is an interesting project that lets you easily create a Rails Engines driven tweet-tracking directory. It’s sparse on documentation, but might be worth a look-through.
- If you’re feeling adventurous, you might consider trying to work with the Twitter Streaming API using a library such as YAJL to parse tweets off of the stream in real-time.
- If you run into some Twitter issues along the way, the Twitter Development Talk Google Group is pretty actively watched even by employees of Twitter (though perhaps not so much on the weekends). Use it as a resource of last resort!
There’s a whole universe of existing OSS out there to connect with, post to, and otherwise fool around with Twitter. This is a small sampling we hope will give you some inspiration to get started on your Rumble app!
Keep in Touch
Of course, another reason that we’re so interested in Twitter, its API, and its applications is because of our flagship product, Present.ly. Present.ly is a private micro-blogging platform for teams with groups, file-sharing, and a fully Twitter-compatible API. If your Rumble team is distributed across the country, Present.ly might be a great way to keep in touch during the competition. In fact, you can even hook it up to GitHub to get every commit your team posts during the competition live in your feed.
As we sign off, we’ll leave you with a list of Twittering Intrideans who will be competing in the Rumble this year:
- Adam Bair (@adambair)
- Michael Bleigh (@mbleigh)
- Brent Collier (@brentmc79)
- Pradeep Elankumaran (@pradeep24)
- Joe Grossberg (@grossberg)
- Brendan Lim (@brendanlim)
- David Naffis (@naffis)
- David Potsiadlo (@davidpots)
- Chris Selmer (@cselmer)
- Ping Yu (@pyu10055)
We’re looking forward to seeing the awesome stuff the community comes up with for the Rumble, and best of luck to all the teams. We’ll see you on the Rumble-field!