You may have noticed that I’ve removed the Twitter badge from the “Latest” section above the weblog. I got a number of complaints that front page access had slowed to a crawl, and it seems the Twitter javascript badge was to blame. Twitter itself is often somewhat slow to load, and their own AJAX posting interface usually shows a significant lag between clicking “Update” and actually seeing the post come up in the stream.
Part of the problem is with the very concept of a javascript badge, as detailed by Jeremy Zawodny and Ed Eliot. Generally, any time you have an element loading data from a third party live and in-browser, you have a critical point of failure which can lock up loading of anything after it on the page — and those Twitter and Flickr badges come right at the start of the main content. Ideally the remote content provider should provide a static, cached copy of the content stream on a separate “feed” server for badges, updated on a frequent schedule from the DB, but you can’t control how a third-party does its content. I wonder if those Twitter feeds are updated straight from the db on every load, or if the server is just slow.
Anyway, I’ve been wanting to integrate the Twitter messages and Flickr mobile photos into the weblog as a single stream of content. Maybe this Feeds widget they included with MT 3.3x will do the trick. Maybe some day I’ll have the time to actually fiddle around with it.
Update: Flickr is having a massage. See what I mean?