Twitter Public Timeline
I've created a new RIA as my 1st foray into the world of the twitter API.
It periodically grabs public tweets and displays them with the newest at the top of the page.
I'm not done with it yet, but it's a good start.
I'll try to add new features as I get time.
An explanation of some of the design decisions around the HTML and CSS is here.
I really enjoyed designing and coding the application.
I was able to learn new things along the way, including my first encounter with the twitter API,
and my first encounter with an obscure bug in IE8 DOM manipulation that prevented me from using <P> tags
in the tweet layout.
It involved quite a bit of research, and a lot of debugging, but was worth encountering,
just for the feeling of satisfaction I got when I found and fixed the "problem".
Initially, I thought about parsing the tweet using regex and creating hyperlinks in the tweet display to all the embedded URLs,
tweet targets, and other information provided in the twitter data.
It all seemed rather nifty at 1st glance, but at some point it all started feeling like over-engineering and feature creep.
Since clicking the link will currently take the user directly to the twitter page that does all that,
I decided to leave most of the extras I was dreaming about as an exercise for another day.
One unrequested feature that did make it into the final product was the 3 second delay between tweet displays.
The original prototype did exactly as instructed: It would load all the tweets into the page,
then do it all over again 60 seconds later.
On the plus side it was simple to manage, but on the negative side I just didn't like the display action...
In plain words, it was sudden, jumpy, and just seemed ugly.
20 tweets every 60 seconds isn't exactly hard math to figure out.
My second iteration involved refactoring around a revised timing mechanism which slowly displayed a feed full of tweets during
the same 60 second time interval. Now the tweets seemed to stream
in live, and it became hard to judge when an old feed had been depleted and a new feed had begun.
This one small aesthetically pleasing change in the display mechanism seemed to make all the difference in the world.