URI Freak (gebruikersvriendelijke URI’s)

Noem mij een URI freak (of tegenwoordig moet ik misschien IRI freak zeggen, maar laten we simpel beginnen), maar ik vind dat URI’s zo eenvoudig mogelijk en vooral human-readable, kortom: gebruikersvriendelijk moeten zijn.

Zoals Anne van Kesteren in zijn artikel URI (IRI) design het, vind ik, treffend zegt:

The little things that make a website better, like [..] guessable URIs [..] often don’t get the attention they deserve.

Ik wil de uitvoerige discussie in Anne’s post niet hier opnieuw voeren maar ik vind het onderwerp belangrijk genoeg om het nog een keer te vermelden.

In de door Info.nl onlangs gebouwde website van het Milieu- en Natuurplanbureau heb ik de volgende richtlijnen voor de gebruikte URL’s opgeschreven:

  1. URLs moeten stabiel zijn en niet veranderen.
  2. URLs moeten betekenisvol zijn voor de gebruiker (“human readable”). De structuur van de site moet gereflecteerd zijn in de URL.
  3. URLs zouden niet langer moeten zijn dan 80 karakters.
  4. URLs moeten de onderliggende website technologie (.NET, J2EE, PHP, HTML) niet verraden. Dit ook vanwege richtlijn 1. (bij de introductie van ASP.NET braken bijvoorbeeld veel URL’s omdat de extensie veranderde van .asp naar .aspx)
  5. URL navigatie moet mogelijk zijn. Door de achterste delen van een URL er af te halen moet de gebruiker een nivo hoger komen in de site.

Deze richtlijnen komen gedeeltelijk uit het artikel van Peter Hilton: Web site Architecture, Design guidelines intended to help create a viable web site design in which Uniform Resource Locators (URLs) are never changed. maar voornamelijk ook van de erg goede mensen met wie ik heb gewerkt aan het architectuur concept voor de over enige tijd te bewonderen (en erg mooie) nieuwe Rabobank website.

Richtlijn nummer 5 (door Peter Hilton benoemd als “URLs should be ‘choppable’”) hebben we bij de MNP website niet gerealiseerd overigens, wat ik persoonlijk een beetje jammer (maar ook weer niet bijzonder vervelend) vind. Als je bijvoorbeeld naar http://www.mnp.nl/nl/publicaties/ surft dan krijg je een 404 te zien. Ik denk niet dat veel gebruikers “op URL nivo” gaan navigeren maar ik denk wel dat dat voornamelijk komt omdat bijna niemand in de webwereld zich iets lijkt aan te trekken van navigeerbare URL’s en omdat de browsers hier weinig aandacht aan besteden. De Go Up Firefox extensie is hierop een uitzondering.

Behalve het W3C, Anne van Kesteren en ikzelf zijn er gelukkig nog wel meer mensen die zich hier druk om maken. Zie bijvoorbeeld het artikel van Davy De Pauw “Gebruiksvriendelijke URL” en het artikel van Till Quack “How to Succeed With URLs“.

De discussie over wel of niet extensies gebruiken in URL’s (meestal gaat het dan alleen over (X)HTML pagina’s binnen een site) is ook interessant vind ik. Ik denk zelf dat er weinig mis is met de .html extensie en dat is ook wat we op de website van het Milieu- en Natuurplanbureau website gebruiken (en wat ook op bijvoorbeeld de ABN Amro website wordt gebruikt), maar ik zie ook wel wat in het niet gebruiken van extensies voor HTML pagina’s, zoals tegenwoordig wel de trend lijkt te zijn (zie bijvoorbeeld Flickr). Peter Hilton zegt hier bijvoorbeeld over:

The best idea is for URLs not to have a file extension at all, as there is no need to indicated the content type in the name of the file: this is already handled in the HTTP headers.

Maarja, dat is niet het enige argument om van extensies af te zien, zoals ook al te lezen is in de discussie bij Anne’s URI design stuk. Beheersbaarheid van de website (in ons geval erg belangrijk omdat de klant de site beheert m.b.v. een Content Management Systeem) en de discussie over files vs directories (zie discussie bij Anne’s artikel) speelt hier ook mee. Eigenlijk heel jammer dat we hier nog een “subjectieve” discussie over moeten voeren omdat het zo’n fundamenteel en eigenlijk vrij simpel probleem is en we ons eigenlijk veel beter bezig kunnen houden met het maken van mooie websites. Oja, vandaar freak.

En dan heb je in de J2EE wereld nog de hele discussie over welcome files en het feit dat het servlet URL mapping mechanisme in de web.xml J2EE deployment descriptor wel heel erg belabberd is (de Resin servlet engine heeft hierom bijvoorbeeld een eigen servlet mapping matching mechanisme verzonnen). Een vriend van me vond dat ik niet zo moest zeuren en gewoon de .ed extensie moest introduceren (om een onderscheid te maken tussen statische .html files en .html URI’s die mappen op een controller servlet (en uiteindelijk op een JSP)). Maar laten we over J2EE maar niet beginnen hier…

Tags: , , , , , , , , , , ,

6 Reacties op “URI Freak (gebruikersvriendelijke URI’s)”

  1. Tom zegt:

    Mee eens, Edgar. Zelf heb ik overigens het idee dat het minstens zo vaak voorkomt dat een dead link het gevolg is van een website die opgehouden is te bestaan als een dead link die voorkomt uit een technologiewijziging.

    Bijzonder handige extensie dat Go Up, bedankt voor de tip!

  2. Edgar zegt:

    WordPress zelf doet het vrij netjes trouwens. Als je begint bij http://open.info.nl/archief/2005/06/28/uri-freak-gebruikersvriendelijke-uris/ en stap voor stap omhoog gaat, gaat het alleen fout bij http://open.info.nl/archief/ (geen mooie 404 pagina trouwens, moeten we eigenlijk ook iets aan doen).

    Hetzelfde fenomeen wat we ook bij de MNP website hebben trouwens. Er is alleen een archief per jaar zoals: http://www.mnp.nl/nl/publicaties/2005/index.html maar geen algemene “archief” index pagina: http://www.mnp.nl/nl/publicaties/index.html.

  3. Sintax: online portfolio van new media designer Davy De Pauw zegt:

    [...] len moet de gebruiker een nivo hoger komen in de site. Meer kan je lezen in het artikel URI Freak (gebruik [...]

  4. Vincent Partington zegt:

    Goed verhaal. Gelukkig zien steeds meer CMS vendors in dat URLs met rare nummertjes, komma’s, queries, etc. niet fijn zijn. Het helpt hierbij dat Google daar slecht mee omgaat.

    Ik vind alleen die slashes aan het einde van de URL een beetje raar aandoen. In Apache kan je die ook weglaten en de content negation het laten oplossen:
    http://httpd.apache.org/docs-2.0/content-negotiation.html#negotiation

    Vincent.

  5. Edgar zegt:

    Met dank aan Kars nog even de opmerking dat Jesse James Garrett in 2002 al een goed artikel schreef over User-Centered URL Design. Hij heeft het daar ook over de “user-hostile URLs” die veel content management / presentatie systemen gebruiken en noemt de Microsoft site als een mooi voorbeeld van hoe het wel kan.

    Wel jammer dat de URL van het artikel nog wel ietsje gebruikersvriendelijker kan. De term “000058″ zegt een gebruiker niet veel.

    Tenslotte, het verraden van de gebruikte server-side technologie (in dit geval door de .php extensie) brengt niet alleen de duurzaamheid van de URL’s in gevaar maar het brengt ook een zeker beveiligingsrisico met zich mee. Een kwaadwillende weet nu in ieder geval alvast dat hij zijn “PHP-hacking” toolset uit de kast kan halen.

  6. open.info.nl » Archief » XTech 2006 zegt:

    [...] Tom Coates – Native to a Web of Data: Designing a part of the Aggregate Web Al eerder gepresenteerd op de Carson Summit: The Future of Web Apps (presentatie) maar leuk om een keer in het echt te zien. Een erg goed verhaal over waar het echt over gaat in web 2.0: een web van data. Zelf vond ik het stukje in zijn presentatie over URLs erg leuk (“Use readable, reliable, and hackable URLs”) ook omdat ik me daar ook wel eens druk over maak. [...]

Laat een reactie achter