This year I took place in the Book Blogger Holiday Swap which was pretty awesome. My giftee is way more on the ball than I am (also: a cheater, opening things christmas eve!) and blogged already.

I was lucky enough to receive a great book, some chocolate, and a book mark!

Holiday Swap Gift Received.jpg

As you can see, I've already ripped into the chocolate! I think I'll start into the book after I finish re-reading one of my William Gibson books. I think it will be great for my sporadic reading during my daily commutes!

Thanks Carrie K
I read David Sklar's post to the PHP Advent calendar this morning, and as the title rather clearly points out, I disagree with his conclusion.

Before I go any further I'd like to clarify something in the title, namely the word "functional". I'm using this meaning from dictionary.reference.com:
having or serving a utilitarian purpose; capable of serving the purpose for which it was designed: functional architecture; a chair that is functional as well as decorative.

If you define a URL's purpose as simply being an instruction to a browser or other application, then sure a URL such as this one qualifies:
http://www.realtor.ca/map.aspx?&vs=VEResidential&beds=0-0&baths=0-0&minp=0&maxp=0&area=Montreal%2c+Quebec&trt=2#acr:false;ac:false;baths:0-0;beds:0-0;fp:false;gar:false;pmin:175000;pmax:200000;rmin:0;rmax:0;openh:false;
pool:false;stories:0-0;buildingstyle:;buildingtypeid:;viewtypeid:;waterfront:false;forsale:true;forrent:false;orderBy:A;sortBy:1;
LisStartDate:;mapZ:12;page:1;mapC:45.49792488715173, -73.56531143188478;curView:0;

That said, the only purpose of a URL isn't to give an instruction to a browser or other application. It's an indicator to the user, telling them what the page is about, and one they use quite a bit[1]. It's an address that does still need to be typed on occasion, or at the very least copy/pasted into a variety of mediums. It should be a destructible resource that users can use to navigate the site and obtain what they're looking for.

Compare:
store.example.com/plv2/product.php?refid=4AF82BC932

and
store.example.com/toys/dolls/barbie


In the first case you're stuck, there's no options to you for navigating the site beyond the on screen options. In the latter case you can move from looking at Barbie, to looking at all dolls, to looking at all toys, to looking at the entire product line of the store rather easily. I will concede that not all users will think to navigate in that manner, but some will, and they have the option.

In conclusion: URLs are more than some text an end user clicks on, and having good ones has more worth than letting the developer look cool in front of their peers: It's an actively used resource. Having clear, functional URLs is a worthwhile goal for any web property.




[1] Jakob Nielsen's Alertbox, March 21, 1999: 2007 update at the bottom.

p.s. I may receive a beating shortly for the rather ugly URL this blog post possess while standing on a soap box shouting for better URLs. Software I build myself does include more functional addressing, compare wonderproxy.com/servers/Miami/ and wonderproxy.com/servers/ (I'm working on the case sensitivity thing).

Hi, I’m Paul Reinheimer, a developer working on the web.

I co-founded WonderProxy which provides access to over 200 proxies around the world to enable testing of geoip sensitive applications. We've since expanded to offer more granular tooling through Where's it Up

My hobbies are cycling, photography, travel, and engaging Allison Moore in intelligent discourse. I frequently write about PHP and other related technologies.

Search