Archive for 2009

Yearly Archive

Academic paper titles have a tendency to be a bit staid, cautious and flat. Admittedly, this is a pattern I haven’t yet broken out of myself. Perhaps it’s because many non-English speakers are forced to publish in English (as English is the lingua franca of science). Or perhaps it is just prudent: since other researchers will often only cast a cursory glance over paper titles to decide which papers to read, or which sessions to attend at a conference, it generally pays to write clear titles.

In any case, I’ve been on the lookout for some creatively-named papers. Because they are rare, papers with clever and/or funny titles stand out easily among the deluge of stuffier titles. Here are some of my favourites:

  1. “Gorillas in our midst: sustained inattentional blindness for dynamic events” By Daniel J. Simons and Christopher Chabris
    In Perception, 1999 volume 28(9) pages 1059–1074.

    Presented the results of the classic experiment in perception and selective attention involving people passing a basketball around (which you may have seen used for a road safety awareness ad). The title is a play on Gorillas in the Mist.

  2. “A Very Modal Model of a Modern, Major, General Type System” By Andrew W. Appel, Paul-Andre Mellies, Christopher D. Richards, and Jerome Vouillon. In POPL 2007, pages 109–122.

    (Say three times fast.) This title is based on a similarly tongue-twisting song from the musical The Pirates of Penzance.

  3. “Secret Ninja Formal Methods” By Joe Kiniry and Dan Zimmerman. In Formal Methods 2008, pages 214–228.

    Joe and Dan report on their experience with trying to make formal methods invisible to students while they learn good programming practices. Extra marks for giving their presentation in full ninja getup.

  4. “The television will be revolutionized: effects of PVRs and filesharing on television watching.” By Barry Brown and Louise Barkhuus. In Proceedings of CHI ’06, pp. 663–666.

    A reversal of the title of Gil Scott-Heron’s poem, The Revolution Will Not Be Televised.

  5. “HT06, Tagging Paper, Taxonomy, Flickr, Academic Article, ToRead.” By Cameron Marlow, Mor Naaman, danah boyd and Marc Davis.
    In HYPERTEXT ’06, pages 31–40).

    The writers themselves suggest this might be the “least memorable title in ACM history”, but I disagree — this immediately jumped out at me as a sly nod to how people use tags.

I might never reach you
Only want to teach you

Daniel Sandler is experimenting with using twitter for comments, and makes some very good points about comments on the web in the process. Essentially, he pulls in the content of any tweet that references his post’s full URL, TinyURL, or even just the TinyURL hash. This has the very nice effect of forcing people who want to comment on his post to own their words. Their comments will be public to their own audience, and so are more likely to be constructive and civil.

Twitter comments on Daniel’s website.

Tying your tweet to a particular page online is awkward though, due to Twitter’s 140-character limit. URLs were designed to be expressive, but not necessarily space-efficient (compare them to DOI or ISBN codes). Twitter’s recent rise has driven the increased use of URL-shortening services like TinyURL and bit.ly, which were originally designed because of the limitations of email clients that weren’t able to correctly break up an URL that was wider than the 80-character wide text columns used at the time.

We seem to have replaced one limitation with another though. By feeding all URLs through minimisation services, readers lose all context about the page they are about to open — is it a video? What domain is it on? Have I visited it before? There are some links that I would be disinclined to click on when using my iPhone, but with minimised URLs, you don’t know what you’ve got until it begins to load in. Plus, there’s the nightmare scenario that the URL service dies, and since their databases are kept private, all that information is lost.

I think URL shortening services could be obviated if Twitter started treating URLs a little differently. There are two main audiences for twitter tweets: mobile phone users who receive tweets as SMS messages (this is the original reason why twitter has 140-character limits), and users who visit the twitter website, or use one of the myriad desktop and smartphone applications to keep up with tweets. These users are not concerned about the character limit in the same way. I would expect this group of people to be growing faster than those who get tweets via SMS.

Ideally, Twitter would disregard URL content as part of the character limit. If you think about it, the URL http://tinyurl.com/cxt59m (this page) conveys almost no information whatsoever. It could as easily be replaced with some single-character replacement in SMS messages (whose users are much less likely to actually follow links than web/applications users anyway). [On further reflection, it is clear that this wouldn't work as I imagined, as the target URL for these single character links would still need to be encoded somewhere as part of the message.]

On the web, and in applications, URLs shouldn’t need to be minimised at all. Twitter clients could truncate URLs for display, but all the URL content should stay available to be used by those clients that want it.

Like I imagine the majority of those users who migrated from a Windows PC to a Mac, Firefox has been my primary browser for the last five years (since Firefox 0.8 came out in February 2004). It’s so long ago now in web years that it’s hard to remember, but on Windows, back in those dark days, there really weren’t any options beyond the standard Internet Explorer 6 install.

Microsoft had lost interest in maintaining their browser, having secured 90% of the browser market. For web designers, this was a disaster. When Firefox emerged it was almost instantly better than IE in every regard, so it was an obvious choice. Nowadays, the three most advanced browsers — Firefox, Chrome and Safari — each have many strengths on which to recommend them.

Safari 4 iconWhen Safari 4 was released as a public beta in February, I decided to give it a try for a week. You all thought I was mad, many of you requested to be transferred to another peanut factory, but I’m still using it here two months later.

Safari’s main strengths are speed and stability. If you’re a tinkerer, a Firefox install has a Windows XP-style half-life, after which its performance continuously degrades and it becomes significantly more prone to crashing. I tried opening the Safari feature page in my new copy of Safari and my many years-old Firefox, and the difference in performance ellicited an honest-to-God laugh-out-loud. That almost never happens! (I should say that I’m open to the idea that I am wholly responsible for Firefox’s poor performance by loading my profile with too many extensions and customisations. One badly-written extension or Greasemonkey script and the browser can begin to drag.)

Safari is ahead of the game in other ways too though. Full-text search of your history with rendered thumbnails of each page is a killer feature. These are indexed by Spotlight as well and can be searched from apps like Launchbar. The Chrome-style new tab screen is excellent for keeping track of pages that change over the course of the day. The lack of a progress bar when loading a page is a very interesting departure which I find myself liking more as time goes on. The new tab bar does take some getting used to, and has been discussed at quite marvelous length elsewhere. I would favour one of the proposed mockups which give more space to the window controls.

There were two things about my Firefox setup that I did really miss when switching: keyword search from the location bar, and delicious integration. In Firefox you can just type directly into the location bar and it will do a Google search. Even better than that is using keywords to search specific sites — “wp Bell pepper” to open a Wikipedia page for example.

Kewurl example

Safari can’t do any of that out of the box, but there is a SIMBL plugin that manages this very nicely, called Keywurl. Delicious support is provided by the Delicious Safari extension, which does the job admirably. Boom.

Twitter has really taken off in the last few weeks. If you haven’t signed up yet, and are sick of hearing about it, I sympathise. I didn’t understand what the point was at all until I signed up, originally just so that I could follow a few interesting people better than I could using RSS. Eventually, you’ll see a conversation going on and want to join in.

From a web architecture point of view, Twitter is particularly interesting because it is, to my memory, the first web 2.0-ey application that doesn’t really need a website. They’ve done such a great job with their API and backend that there are dozens of excellent applications and plugins for just about every publishing platform. I read and post from a bunch of applications — Tweetie on my iPhone, and Lounge and Tweetdeck on my laptop — and very rarely actually visit the Twitter website.

I guess this is a matter of partly good timing (now that smartphones are common), and partly that tweets are perfect iPhone-sized data.

Some ordered lists are better presented in descending order. For example, my publications list works better in reverse-chronological order so that the most recent work appears at the top of the list, and is numbered highest-to-lowest.

Ordered lists in HTML are created using the ol element, but there’s no way to present a list in descending order. (It’s in the HTML5 spec, but might be a while before it’s generally usable.)

The JavaScript solutions I found to achieve this were all a bit rubbish—adding spurious numbers to the margin and generally messing up the semantics of the list. So I wrote a quick function that finds each ol element on the page that has the class “reversed”, and changes the “value” attribute of each li to the number it would have in a native reversed-order presentation. It’s not semantically perfect, but it degrades gracefully and will do until browsers support the HTML5 incarnation of ol. The JavaScript looks like this:

function reverse_lists() {
    var olists = document.getElementsByTagName('ol');
    for (var i = 0; i < olists.length; i++) {
        if (!olists[i].className.match(/\breversed\b/))
            continue;
        var items = olists[i].getElementsByTagName('li');
        for(var j = 0; j < items.length; j++) {
            items[j].setAttribute("value", items.length - j);
        }
    }
}

You can download a .js file with this function and upload it to your server. Apply the code by calling the function after all of your list elements (the first script element can be put in the document’s head if you have control over that):

<ol class="reversed">
    <li>Most recent item.</li>
    <li>Less recent item.</li>
    ⋮
</ol>
<script type="text/javascript" src="reorder.js"></script>
<script type="text/javascript">
    reverse_lists();
</script>
And in your place an empty space
Has filled the void behind my face.