Christian Heilmann

Author Archive

TweetEffect – find out when people followed or left you on Twitter

Saturday, January 17th, 2009

I’ve just finished uploading and fixing TweetEffect a web app that allows you to check which of your latest http://twitter.com updates resulted in people following or leaving you:

TweetEffect Screenshot

With the demise of Qwitter there was no real update mechanism to know when you lost followers, this might be a step to fill this gap. TweetEffect does not tell you who left you, only the number of people. The reason is the draconic rate limiting of Twitter. This is also the reason why the app largely runs in JavaScript and only does checks server-side when you provide a user ID on the URL. This allows for bookmarking and sharing with others.

Check out some examples:

What do you think? Anything else to add?

Displaying useful tweets on your blog (second version using YQL)

Friday, January 16th, 2009

Back in September I showed a solution how to display filtered tweets on your blog using Yahoo Pipes which is in use on this page in the sidebar on the right.

There were a few issues with it: the data returned was pretty big and slowed down the page (yeah I could delay this after page load, but size down the wire is size down the wire) and I only used the last 20 updates, which – with my twitter pace – meant that a lot of times there wasn’t any ‘blogworthy’ tweet available any longer.

So, I dug around and realized that instead of analyzing the RSS feed of your tweets it makes much more sense to use the API, in detail the user timeline which allows me to get up to 200 of the latest tweets using the count parameter.

This is awesome, however, as the API repeats all my information in every status (I guess to cover changes, like location) the result can get very large, right now for example the JSON output of my twitter updates is 120KB – not good.

By using YQL I can easily cut this down to the bare necessities using the following command:

select status.text from xml where url = 'http://twitter.com/statuses/user_timeline/codepo8.xml?count=200' and status.text like '%§%'

Using this with JSON output and wrapper I only get the updates I need as a 1.2KB large JavaScript file!

The HTML and JavaScript solution doesn’t change much:




Now I got a faster useful tweets badge with information that stays longer. Easy.

TTMMHTM: Plane rescue, useless super powers, clipboard hack

Friday, January 16th, 2009

Things that made me happy this morning:

TTMMHTM: API updates, YDN Tuesdays, YUI on GitHub and good vibes

Thursday, January 15th, 2009

Jeff Croft hates standards! Typical designer, eh?

Thursday, January 15th, 2009

I just had a wonderful time on the train home reading Jeff Croft’s Two Thousand Twenty Two post, following the whole trail of comments is like watching a TV show. I got to the end although there is a distinct lack of explosions, car chases, gracious nudity or even kittens!

In essence, Jeff (who is a top chap to meet in real life – let’s not let personal hygiene become an issue here) makes fun of an interview about HTML5 that he read:

Today, it was brought to my attention that HTML 5 Editor Ian Hickson, in an August 27 interview with TechRepublic outlined a timetable for the “new” spec, which began life back in 2003. Hixie suggests HTML 5 will reach the “Proposed Recommendation” stage sometime in 2022. Go ahead, read it again. It’s not a typo. Two thousand twenty two.

As a result, and mocking the, shall we say, adventurous outlook of seeing 2022 as an foreseeable goal young Jeff in his innocence managed to kick off a trail of comments that must have registered in some earthquake pre-warning centre in Southern California. He dared to say that he is done with reading specs and that today is more important:

I care about right fucking now. My clients care about right fucking now. Our users care about right fucking now. The only people that really give a damn about two thousand twenty two are people who write timetables for a living.

Potty mouth language aside, there is some truth to that. I was also pretty impressed with the following:

We’ve all learned a lot through this standards movement. We are now capable of identifying a good idea when we see it (like the namespacing of experimental CSS properties, for example). We are equally capable of knowing when something feels inelegant (like maintaining different code bases to achieve the same thing in multiple browsers). Our bullshit radar is strong these days. We don’t need a spec to tell us whether something is useful or not (XMLHttpRequest was incredibly useful, despite not being a ‘standard’).

Check out the post and especially the long trail of comments. It reads like the oh so classic misunderstandings we have to deal with every single day on the web: humour and sarcasm and irony do not translate in online reading unless you really lay it on thick. There’s the “oh I understand, I really have nothing against you personally”, there’s the “read the thing again, you missed the point”, there’s also the “people will quote this wrongly” which is sadly enough the case.

So, before you bring the pitchforks and torches: Jeff is not a traitor to the cause and he is not the “designer that doesn’t get standards as they want their own stuff all the time”. It was a funny sarcastic remark that shows just how inbred a lot of discussions around standards have become.

A standard to me is an agreement between several parties to deliver a certain task to make it easy for all parties involved to deliver to the best quality with the least effort. It is something to take out the random element of any delivery and battles having to learn the details before delivering a job we should be able to deliver easily as we’ve done it before. Not more and not less. It is about aiding working together, making handover very easy or even obsolete and making sure that what we build works where it is supposed to work.

What messes with our goal is that we are moving fast and innovating a lot whilst the market we cater for is less happy or able to keep up with our pace or doesn’t see the need for being up-to-date. This is the real issue that needs solving.