Tag Archives: web

rev=”canonical” and extra burden on services

With debate about rev=”canonical” being the next best big thing in land of Twitter and shortening services, I wanted to throw in two extra things to consider:

eggs 2
Image by Dystopos via Flickr

How can we trust the rev=”canonical” URL? Who’s burden it is to prove that they’re correct URLs. What to do with misconfigured rev=”canonical” targets?

The proposal states that they should return 301 redirect, but this means three things for service like Twitter to check:

1. Hit original URL and parse HTML
2. Get the new URL and check if it has 301 redirect
3. (optional) in case 301 redirect is not there or is maybe other type of 3xx, does it go and check for original URL.

What to do in case of rev=”canonical” is the same URL that was just parsed, just like ArsTechnica does now. Do we say fine, lets use that long URL or we then decided on 3rd party URL shortner? (Marko points out that they’re using correct rel= and not rev).

What do you do when you can’t resolve the domain or something goes wrong in our oh-so-stable interwebs? Does HTML need to be valid or we just use regular expression to find the rev=”canonical” part?

Second question is, do we really expect services to accept this extra burden?

Off-loading tiny url generation to 3rd part service like bit.ly gives you an URL, but doesn’t guarantee you there’s anything behind it. You can easily shorten http://foo.foo into a bit.ly link.

This means that suddenly an operation that once took a single call to bit.ly, now takes at least a few magnitudes more CPU and network resources as pages need to be accessed, parsed and checked for validity. While this might be possible for smaller services, I highly doubt Twitter wants to implement this any time soon.

Any alternatives?

There might be a cheat Twitter and other services could use. If we’re so afraid that we’re lose the links, it seems that they should be kept in a database under the control of the service.

This doesn’t fully solve the problem of long term URL maintainance, but at least it’s under the control of the same provider who stores the original context (e.g. twitts), enabling them to give you nice exports and faster expansion together with one less (perceived) liability.

Reblog this post [with Zemanta]

Usability reflections: Power of consistency (ted.com)

Videos from TED are something of incredible nature. Each being about 20 minutes long, also perfect to watch while traveling, especially on the plane when 20 minutes is just about right before flight attendants starts serving something or turbulence happens. I’m usually doing this while multitasking on a number of other pre-trip issues, yet for some reason the process was frustrating me, so I decided to investigate why it was so hard to download a few files.

Sample of two of their pages look like this:

ted.png

Closer observation reveals the fact that the order of download links actually changes. On first page download to iTunes is the first option, while on second it is second. This minor change actually confused me quite a bit. Cognitive reasoning goes along the path:

  • On the first video page, find the download link
  • Initiate download process
  • Return to video menu and select another video
  • On second video page, move the cursor to the same spot as in first video menu (second option)
  • Right before clicking, realize on a subtle level that the option is not as expected
  • Breakdown

After the breakdown, user has to start reading the contents of the page once again, in order to figure out where the actual download link is. Even though this can be perceived as a minor breakage, it still breaks users flow. Since the flow is already broken the page itself can not mend it easily since when user opens the third page (not pictured), what are the chances for download link as the first option? What about fourth and fifth?

One also has to consider the consequences on clicking on a wrong link, in this case Video to iTunes (MP4). This option actually starts iTunes (if installed) and starts downloading automatically which is not something that user expects, adding greatly to the confusion and lots of click to undo the operation.

Lessons learned

Site in question could greatly optimize their page flow together with ability to easily download files, if the links would be distributed around the site in a consistent ordering.