Building Big Big Tweet

Some story on big big tweet.

A few weeks ago I had this idea for a tool which would allow me to easily post multi-tweet tweets on twitter. Here’s the original sketch:

I was pretty convinced the front end could be pieced together in about a day.

Overall, I’m pretty happy both with what I learned, and what I put together in 1 weekend and 3 nights of yui3, python, google app engine, twitter api.

yui3 was, as always, a pleasure to work with. The new grids system is great. Learnt about the synthetic valueChange event, which is handy when you are watching a textarea. yui3 is full of all sorts of wins, so if you’re doing front end app development and haven’t checked it out, you’re doing yourself a disservice.

Pretty pleased with the code to break up the text into tweet sized chunks. I think i’ve finally broken through to where recursion feels natural to think about. You can see the full script, in context. There’s room for improvement, but it doesn’t smell too bad. :)

Bonus points to yui3 - I did 0 testing with mobile, everything worked on ios the first time i tried it. an android browser crashed :) I’ve disabled preview-on-typing in mobile - that feature didn’t make sense for the screen size. And that seems to have fixed the problem on android.

Last month I was introduced to google app engine, - I didn’t have much to do with the backend work at the time (pretty much copy paste), but I liked what i saw. So I decided to give it a shot for this project, and I have to say I love it. It’s dead easy to get started serving up static files, comes with a good tool (os x) for running your app locally and deploying. No hassle server. It’s possible I might hit the quota limits, but that would be a good problem to have.

With (very) little knowledge of python, I was able to glue together a working backend - twitter oAuth (thanks mikeknapp) + api, user session(thanks dound). Overall, I find myself liking python, and had a fairly easy time of it. The biggest hiccup was missing that you need .items() on a dictionary when iterating. And that I lack experience with python debugging. i <3 named args, and think doc is just a swell idea.

One part of the idea is I want an easy to play with twitter framework, where I can just focus on the front end. In the end, I think i succeeded, and when I find the time & know a bit more I will extract and clean up that portion with some clear instructions for deploying. I think it might be handy for some people.

The final tool pretty much matches what I first imagined.

I ended up removing “edit individual tweets before posting” functionality - seemed unnecessary. The auto-splitting worked better than i thought it would, so the preview seemed enough. Link shortening also works pretty well. There’s a few other features that I’d like to add at some point - direct messages being top of the list.

As for the next step, but I’m thinking it might be fun to find a designer on forrst.com who likes the app idea, and would like to do a reskin, and run an a/b test against my design.

You can go ahead and kick the tires - you don’t have to login to try out the multi-tweet preview function. Just start typing.

Let me know what you think.

ka-kaw!

ps: you can follow @big_big_tweet for updates, or me, for general nonsense.