Woke up on Friday morning (read: lunchtime) after a to-4am code-a-thon with a startup project I'm working on, refreshed and ready to take a well-deservered early weekend of rest and relaxation.
:) Right.
Needless to say, the first thought I had when I woke up was "wouldn't it be cool if..." and the rest, as they say, is two days of pure hackery. I give you the end result: TweetSnap.
It's a really simple premise: enter your Twitter username, get an image back which you can put on your site to show your latest tweet.
It's designed for people who uses websites/etc which don't allow the typical "insert javascript snippet for AJAXy awesomeness" but does allow you to hotlink images (great example: forum signatures).
I haven't looked to see if anyone else has done this yet, mainly because I just did this for fun and I don't really care :) But try it out, give me your feedback. Temperamental results to be expected while on shared hosting :)
For the techies:
- Rails 2.1 w/ a minimalist MySQL DB
- Image generation done with RMagick 2.5
- XML parsing with Hpricot
- Message parsing a combo of htmlentities and a custom lib (supports characters like ø™¡)
Very very cool, what did you program in? Have you had any previous experience with Twitter API/RSS feeds? Reason being if you are pretty versed in rss feed pulling/image generation the backend is done pretty quickly, as most of it is just knowing how to do it. I'd imagine you spent more time on making it look pretty. Does it automatically filter out replies and such?
Rails 2.1. No previous experience with the Twitter API, but I'm used to building RESTfully designed applications (which Twitter is). I chose to pull the XML version of your timeline as opposed to the RSS version, because the information is purer.
First day was getting it to work, second day was design. Replies aren't filtered (although I'd like to do that at some point, for the moment I'm happy to keep it simple).
Biggest effort went into RMagick, which was incredibly frustrating. On the second day I rewrote the majority of the stuff I wrote on the first day so that it was better organised and less of a mess.
Sorta :) The biggest slowdowns are the generation of the image and the Twitter request. When an image is (successfully) generated, it's written to a file.
The next time you query that user, it'll return that file unless it's been longer than a certain amount of time (currently set to 15 minutes). If it has been, a request is made to Twitter. If they've updated their message, a new image is generated, otherwise the stored file is used.
The time between updates is stored in a single handy constant that I can alter to adjust for bandwidth.
The link you generate shoots back tweetsnap. People might want it to point to their twitter stream. This is an interesting tradeoff between what people would want and what will make this spread.
I think the solution is to make the tweetsnap link have a link to the user's twitter stream. For example:
The href leads to a page that shows the same form to make your own tweetsnap widget, but the page could have a side bar that grabs the last few tweets from @tipjoy and a link to http://twitter.com/tipjoy
Hmm. That is nice, but I would put back the form to make your own. Make the link to the twitter user's stream an afterthought. Probably not that big of a deal either way.
Further expanding on what you've done there, what about doing "mood avatars" based off tweets? Essentially a mashup of Twistori/Tweetsnap?
What I'm thinking basically is, people can upload their normal avatars to your site, which you use as the backdrop for your image.. and based off emotions that they tweet (love, hate etc) it can overlay a translucent colour on it?
So in effect, changing the mood of someone's avatar, based off their Tweets?
Yeah, I thought about letting people upload their own backdrops, or providing more than one. But I'm keeping it simple for now; it's much easier to add a feature than to remove it later.
We had our fun with image hackery with featurelist. A lot of users discuss things on forums, etc, where they can't post javascript/flash, so we created little banners like this so users can get other people to vote for their feature requests:
nice work. not sure where but something like this was around when people thought Virb was cool and people needed images of their tweets as it didnt allow JS etc
:) Right.
Needless to say, the first thought I had when I woke up was "wouldn't it be cool if..." and the rest, as they say, is two days of pure hackery. I give you the end result: TweetSnap.
It's a really simple premise: enter your Twitter username, get an image back which you can put on your site to show your latest tweet.
It's designed for people who uses websites/etc which don't allow the typical "insert javascript snippet for AJAXy awesomeness" but does allow you to hotlink images (great example: forum signatures).
I haven't looked to see if anyone else has done this yet, mainly because I just did this for fun and I don't really care :) But try it out, give me your feedback. Temperamental results to be expected while on shared hosting :)
For the techies:
- Rails 2.1 w/ a minimalist MySQL DB
- Image generation done with RMagick 2.5
- XML parsing with Hpricot
- Message parsing a combo of htmlentities and a custom lib (supports characters like ø™¡)