More Usable URLs: Twitter.com

URLs are consistently the least usable aspect of our interaction with web-based information services – which is terribly unfortunate considering their prominence in how we access, share, and interact with these services.

With that in mind, let’s take a look at how Twitter’s URLs could be more usable – by either being more logical, more readable, more share-able, or a combination of all 3.

Here’s a standard Twitter URL:
http://twitter.com/garrickvanburen/status/161277022

Let’s break this apart:
/garrickvanburen
The person’s Twitter account we’re interested in – very clear1.

/status
I’m not sure what ‘status’ is – seems like a very system-centric term. For the sake of this conversation, let’s assume it’s a synonym for ‘note’, ‘message’, ‘news’, ‘memo’, or the collection of things I publish at Twitter.

/161277022
This is the individual ‘status’ identifier. Presumably, it’s the primary key ID of this ‘status’ within all the ‘statuses’ in Twitter’s database – making this ‘status’ ID global – not nested within ‘garrickvanburen’. Again, very system-centric and kind of backwards – if we assume URLs should go from largest logical entity to smallest nested entity.

A RESTful URL structure would dictate the following:
/Plural Version of Resource Name
/Individual Resource Identifier
/Plural Version of Sub-Resource Name
/Individual Sub-Resource Identifier
/(et. al.)

If we mapped Twitter’s existing structure against this model we’d have:
http://twitter.com/people/garrickvanburen/statuses/161277022

We can see, Twitter’s URLS aren’t exactly RESTful, and since they’re not – let’s look at some ways to make them more logical.

Proposal 1: Logically Long
http://twitter.com/garrickvanburen/twitter-suggestion-put-the text-of-the-tweet-in-the-tweets-permalink.
This is the most usable and readable for both people and machines. It has the huge benefit of having the entire message in the URL (the mind reels with possibilities). WordPress does a great of making legal URL strings out of a weblog post’s title.
Benefits: Highly-readable, logical nested structure, great for search engines
Detriments: Long (though Twitter’s built-in limits provide a maximum length)

Proposal 2: Globally Short
http://twitter.com/1612770222
This is akin to my WordPress URL Shortening Hack
Benefits: Short
Detriments: Almost no information provided makes this the least usable and equivalent to the shortened URLs you find throughout Twitter.

Proposal 3: Personally Short
http://twitter.com/garrickvanburen/5954
Where 5954 is the number of the individual message in the pool of all my messages.
Benefits: Short, encourages numerically navigating through a person’s messages.
Detriments: Numbers are always less usable than words.

The great thing about these proposals is they’re not mutually exclusive. In fact – different URL structures bias different usages and contexts. In the same way different formats (HTML, RSS, XML, Text-only, etc) providing different presentations of the same webpage to different devices are more usable – different URL strings pointing to the same webpage are as well.


1. Identi.ca’s URL structure doesn’t include the person’s name [example]- making the number less confusing, but the URL itself less usable.

A Proposal for Shorter Google Maps URLs

I was adding a link to a Google map into my iCal and noticed Google is encouraging me to share the the map URLs in email and IM.

google_share_map_url

But there’s a problem with the Google Maps URLs.

They’re +/- 155 characters.

Here’s the full URL:
http://maps.google.com/maps?oe=utf-8&client=firefox-a&ie=UTF8&q=the+red+pepper,+plymouth,+mn&fb=1&split=1&gl=us&cid=1854680882426337660&li=lmd&z=14&iwloc=A

This URL is neither short, nor easily memorable, nor easily guessable. Which means it’s a completely un-usable – and barely shareable URL. Plus, something tells me this breaks both email and Twitter’s box.

CampaignMonitor says we don’t even get to the geocode.
google_map_url_campaignmonitor

Really Google!?

Even something like this is more share-able (in that it’s short).
http://maps.google.com/1854680882426337660

For the exact same character count, we can make it more guessable and more memorable (therefore more usable).
http://maps.google.com/RedPepperPlymouthMN

Yes, this is the exact same complaint Dave Winer had 5 weeks ago in Solving the TinyUrl centralization problem. Hell, if I’m only 5 weeks behind Winer, I’m cool with that.

Short URLs Re-defining SEO

It’s conventional search engine optimization wisdom that URLs should contain words, separated by either dashes or underscores. This approach improves the readability of the URL – making it more usable for people while simultaneously giving internet robots something to work on.

But with people sharing URLs within places – like Twitter and Facebook (and … and … and …) – places with a default social context, we’re seeing a URL’s context trump its readability as a significant usability factor.

Who is sharing and how they describe what they’re sharing is more important than the readability of the shared URL itself.

Leaving the search engine robots blocked out completely (disallow, nofollow, etc) or piecing together a pile of redirect URLs (which may or may not exist tomorrow, e.g. RE07.US).

Additionally, the share-er’s pays for each URL with their social capital. ‘Good’ URLs (as deemed by each individual follower) raise the share-er’s capital while ‘bad’ URLs lowers.

Throw in the proliferation of other difficult to index assets like images and video – and we’re talking about an internet that’s not Search Engine Optimized, but Social Engagement Optimized.

WordPress URL Shortening Hack

My last post, Publishers Shorten Yourself, got me thinking about easy, low-tech ways to provide a short url for WordPress blogs.

Turns out, just 1 line of code is needed in the .htaccess file.
RewriteRule ^(d+)$ http://[YOUR-BLOG-URL]/?p=$1

Add it in just after RewriteBase so your .htaccess looks something like this:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(d+)$ http://[YOUR-BLOG-URL]/?p=$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

To use this short URL in your templates do one of the following:

If you want to use the same domain your blog is on, use this:

<a href="<?php echo get_option('home'); ?>/<?php the_ID(); ?>"><?php echo get_option('home'); ?>/<?php the_ID(); ?></a>

If you have a different, perhaps shorter domain, use this:

<a href="[SHORT-DOMAIN]/<?php the_ID(); ?>">[SHORT-DOMAIN]/<?php the_ID(); ?></a>

Note: You will have to add an additional redirect to the .htaccess file of SHORT-DOMAIN, but that’s not problem, because it’s very similar to the WordPress redirect we started with.

And like that you’ve got a short url, for every post in your WordPress blog. No more worries about whether or not a specific URL shortener will be stealing your referrers or even be around tomorrow.

Picky Password Policy Pet Peeve

Back a few years ago, I was setting up some web apps for a friend and needed his password..

“Oh, try my non-sensitive password: ‘basketball'”

Sure enough, ‘basketball’ got me in.

That exchange was a reminder that there are different degrees of security and different comfort levels of risk associated with each of those degrees.

One persons’ ‘basketball’ is another’s ‘vaj/YfS35S)*’

This difference even exists between the service provider and the person using the service – as J Wynia describes.

Computers are really good at generating random, unguessable strings, people aren’t.

If a service has any character requirements on a password, that service should – upon request – generate passwords fulfilling those requirements. Otherwise, take what the people want to use as their password.

This Email is Bloggable Signature

I’ve been thinking about when to send an email verses blog. I’ve decided on a loose guideline: if more than 3 people would find something useful, I’ll blog it. If not it’s an email (or, even better, an instant message)

Somethings, like mailing lists, don’t map well to this guideline. To cover that, I’ve followed Ross Mayfield’s cue and added a “this email is bloggable” flag to my email signature.

This message is blog-able:
[x] yes [ ] please don’t

Notice this is a simplification from Mayfield’s 3 checkbox version – to me “please ask” really means “please don’t”. While reading his Email 2.0 post, I realized the sig could be simplified further. To minimize confusion, I don’t include the bloggable flag in private or “please don’t” messages anyway. That, and “please don’t” never felt right. In addition, if I don’t explicity grant you permission to use a private or semi-private email message publicly – then well, you won’t. Cause that ain’t Web 2.0 cool.

Thus, I’ve revised my flag to read:

— Feel Free to Blog This Message —

Consumer Software is the New Enterprise Software

Recently, a colleague asked for a recommendation on an enterprise asset management system.

Frankly, I’ve only had bad experiences with enterprise level software. My major complaints have been;

  • Too hard to use
  • Too expensive
  • Doesn’t map to existing business culture and processes

I ask what this system will be used for; sharing digital photos remotely.

There’s a requirement to annotate the photos for easy searching, there’s a requirement to alert other team members when new photos have been uploaded. The photos won’t be at high quality – they just need to be higher resolution than a black and white fax.

First, how many photo sharing sites are there? a dozen?, including shutterfly, ofoto, smugmug, and snapfish, picasa and open source projects like Gallery. Not to mention sharing is built into Apple’s iPhoto. As a happy customer, my first instinct was to recommend Flickr.

Needless to say, this problem has been solved for Joe Everyman. If we consider thousands of disparate registered customers one big enterprise, these apps have proven to be stable, reliable, on a multitude of platforms. Flickr’s pro account is $25 per year. For 10 team members, that’s only $250/year. I don’t know of a more reliable, easier to use client-server enterprise application that costs less than $250/year. Seems like a small price to pay for an application that’s continually being updated and provides the same volume of capabilities.

Let’s not even look at photo sharing, in the text publishing side there’s TypePad, on the project management side there’s Basecamp, in the email list management side, there’s Campaign Monitor (happy customer).

None of these services were build with The Enterprise as an explicit target. They were built to make a task easier for everyone. As such, there’s a better than even chance someone in your enterprise is familiar with these or similar tools. The benefit to an enterprise is clear, employees already know how to use them.

And they don’t cost an employee’s annual salary.

Kayak and PinPoint Changing the Face of Online Travel

A couple years back, I helped Orbitz.com redesign their shopping process. During that time, if you wanted to book travel the major players were Expedia and Travelocity, with Orbitz aiming to be the more usable, better-looking alternative.

Today, those three players are equally mature and equally less than compelling. They don’t capture all airlines and have yet to offer the recreational traveler’s dream: give me the cheapest flight to Brussels, anytime, any day, in the next 1, 3, and 6 months.

Enter Kayak.com. Think of it as Froogle for travel. Just the bare-minimum needed to start a travel search. If you want something a little sexier, check out Pinpoint Travel. Pinpoint uses Kayak’s engine and leverages the new AJAX web application model making a very interesting and helpful interface – like Google Suggests. Also, by asking me questions about my personal preferences, Pinpoint does an excellent job of keeping me engaged while it’s searching.

On the downside, AJAX relies heavily on Javascript so Pinpoint isn’t accessible and for some odd reason neither is Kayak.

Fake Data to See if Anyone’s Paying Attention

When putting together a prototype for usability testing, it’s best to use realistic data. If you’re evaluating the readability of a search results screen, put in the actual results. If you’re evaluating a check-out process, make all the information throughout the entire process real.

Then, after, tweak the data just slightly. Make it humorous, make it unrealistic, throw in a knock-knock joke.

I’m a big fan of this. It’s an excellent way to find out what people pay attention to and what they completely disregard.

In his post, Amazon’s Time Machine, Seth Godin ponders:

“Why don’t they slip in ridiculous items or funny descriptions? It’s not like they’re going to run out of shelf space or have a problem with inventory.”

It’s an interesting question. Ridiculous items or funny will polarize customers. Some will love it, some will hate it. It’s a big company that can walk away from disenfranchised customers.

Cost of Stolen Towels Comes Out of Marketing Budget

A couple years back, Amazon attempted two things:

  1. Advertising in print and on television.
  2. Charging for shipping.

They found little return on the first, and a found a huge backlash against the second.

Amazon now finances their Super Saver shipping with their advertising budget: NY Times – Amazon Tries Word of Mouth

Holiday Inn just took a page from Amazon’s playbook.

About the Towels We Forgive You, documents guests’ stories of ‘borrowed’ Holiday Inn towels. An excellent idea, capturing the enthusiasm of their most brand-passionate guests and giving the proceeds to charity.

Yet the idea is only being half-executed.

I agree with David Paul at Perceptional Analyzer when he says:

“I think hotels should encourage guests to take a towel or robe anyway. They take it home, use it, see the logo all the time. What better way to stay top-of-mind for when people are making their next travel plans? Sure there is a cost involved, but it’s called the marketing budget.”

I see a similar phenomenon in talking with clients. They want to proceed with a project, and aren’t able to support it in their discreet budget. While other, related budgets have a surplus.

Should redesigning a website or software product come out of product development’s, customer service’s, training’s, or marketing’s budget? Yes.

As should the customer research driving the redesign. As all those departments are intertwined in your customer’s mind, building a passionate customer base will help all those departments. In this cooperative environment, to paraphrase Seth Godin, everyone gets a Free Prize Inside.