Heal Your Church WebSite


Teaching, rebuking, correcting & training in righteous web design.

Making a case for MixedCase URLs

O, be some other domain name! What’s in a domain name? that which we call a domain By any other ip address would resolve as sweet?

With apologies to Shakespeare, I’d like to talk very briefly about a very large and important topic: domain names. The other day, I received the following question from CK:

We’re planning a new website for our church, and since many of our ministries are all requesting lower case URL’s I thought I’d ask your opinion on it.

From a usability standpoint, what’s the right thing to do?

InitialCaps
alllowercase
camelCaps

An excellent question, made even better when equipped with clarifying examples. But before I answer this question, let’s quickly first review what a domain name is and what it does … in a plain English way sure to ostracize me from those of you who read pure geek.

Basic Mechanics

A domain name is a human-readable way of remembering an 66.79.179.178. In other words, when I type in the text “healyourchurchwebsite.com” into the address of my browser, a message is sent to a server that returns the numeric IP address … which then goes through a series of other network requests and resolutions until my glorious web site appears on your computer screen.

Usability

But CK’s question was, what is more usable:

Like any good church-goer, let’s first see what St. Nielsen has to say from the Book of Useit.com:

“do not use MiXeD case text in URLs since people can’t remember the difference between upper-case and lower-case characters: all-lowercase URLs are usually preferred (domain names are less of a problem since they are case-insensitive – usability would increase if webservers would ignore case in resolving URLs)”

I guess the above makes me a heretic, or more accurately, a half-heretic. Let me explain.

Unlike Dr. Nielsen, who has deep training and experience in all things usability, I come out of a computer programming background; a world in which case sensitivity and source code maintainability dominate naming conventions. For example, when creating an integer variable that represents the age of a dog, I might declare it as iAgeOfDog instead of iageofdog, the former being more readable than the latter, especially when awash in a sea of cryptic code.

But unlike like many computer languages, domain names are not case sensitive; good thing too. If you thought cybersquatting is a problem now, imagine the legal havoc reaped upon the Internet if RedlandBaptist.org resolved to a different IP address than redlandbaptist.org.

Heresy or Common Sense?

So which way is more usable? I say both. Why? Consider how Jesse James Garrett concludes his article entitled ‘User-Centered URL Design‘:

“Some might argue that, in a perfect world, URLs would be used only by machines, hidden entirely from users. But in our imperfect world, users have come to depend on URLs to communicate key information as they navigate through the Web. Systems that don’t take this user behavior into account pull the rug out from under users who have come to rely on readable URLs. Recognizing that people really do read URLs – and, in turn, making those URLs easy for people to read – is really just an extension of the user-centered philosophy of design. It’s all about creating systems that work the way people work, rather than the way technology works.”

Basically, what I interpret this to mean is that if at all possible, make domain names work for both parties … that is the computer and the human. For example, though short URLs are usually better, there are times when a long one works, e.g. HealYourChurchWebSite.com. Yet because of its length, and because of my experience as a computer programmer, I know that mixing the case makes the URL easier for the human to identify and read.

That said, I think it is a good practice to make sure the underlying HTML rendering remains lower case. Yes, it is code, but it is not a variable name but a constant … and since most browsers and servers are written in lower level languages such as C, it is better to not confuse them conventions employed to facilitate the frailties of the human. In other words, doing it this way may also save you some grief when dealing with older browser and domain name servers (DNS) that may still be mixed-case impaired (in other words, trust me on this one).

Mixed-case Compromise

So CK, to make a long answer short, here is how I would render a short URL:

<a href=”http://www.useit.com/” title=”Jakob Nielsen”>useit.com</a>

Here is how I would render a long URL:

<a href=”http://www.healyourchurchwebsite.com/ title=”Mean Dean”>HealYourChurchWebSite.com</a>

One other thing, I’ve used the term URL synonymously with domain name which is okay, but may cause you some confusion when you first come up against the term URI — which describes an Internet document such as this particular article. For more information on how to effectively use URI’s, especially where mixed case issues are involved, I suggest studying the articles “How to Succeed With URLs” and “Designing URLs for Usability” … yeah, see what I mean by human frailty?

Finally, since I’m bucking Nielsen on this one I suspect one or three of you might have an opinion one way or the other. Don’t be shy, leave a love note … just make sure you present your case in a way where we can all learn from it. Meanwhile, I’m going to see if I can purchase some indulgences from Father Flanders before it gets to hot here.

16 Comments

  1. I understood CK to be asking about the part of the URL after the domain name. For example, http://mychurch.com/minitries/children/ VS. http://mychurch.com/Ministries/Children/

    The domain name of a URL is not case sensitive, BUT everything after the domain usually is (at least it is on my linux machine–IIS may not be case sensitive because the Windows file system isn’t). So, mixing of cases is problematic! I suggest sticking with all lowercase.

  2. I think the key factor it taking the “user” into account. If the “user” is a computer system, keeping it all lowercase at this point in time is the better alternative. As a printer and designer of stuff humans read, anything is better with upper and lower case. Neilsen’s own book title should be enough to convince even him of this!

    So where the link appear on the page, where people read it, use upper and lower case, where only the computer reads it use lower case only, the same as your example.

  3. Right on the money, CS. But he addressed the overlying problem, which was usability with URL’s (domain name and path) with respect to case, and gave some great references for more research.

    The new website in question is actually a port of a current website, so we also need to think about what will happen when we change the case of an existing page.

  4. I’ve been reading and enjoying your site for a month or so now, and greatly appreciate your work and point of view. I was moved to post today after your “St. Nielsen” comment almost made milk come out my nose (well…it would have, if I had been drinking any…).
    I have to also disagree with Nielsen on this one, and side with you. On long URLs, the mixed case COULD theoretically make it more prone to typing/memory mistakes, but I’d argue that it makes it much more likely that folks will read and remember it correctly in the first place. And, of course, one would hope that our site navigation is so intuitive that no one would have to remember anything but the domain name in the first place…uh…well…enough said. Keep healing!

  5. In my opinion, more important than the use of all-lowercase characters in a domain is the ommission of the outdated www subdomain. See http://no-www.org/ for more information. They write:

    “By default, all popular Web browsers assume the HTTP protocol. In doing so, the software prepends the ‘http://’ onto the requested URL and automatically connect to the HTTP server on port 80. Why then do many servers require their websites to communicate through the www subdomain? Mail servers do not require you to send emails to recipient@mail.domain.com. Likewise, web servers should allow access to their pages though the main domain unless a particular subdomain is required.

    “Succinctly, use of the www subdomain is redundant and time consuming to communicate. The internet, media, and society are all better off without it.”

  6. Just so you know, any windows server (apache or IIS) is case insensitive.

  7. Hey guys, thanks for pulling the plank-outta-my eye for my oversight/overkill of the question …

    … yes, we need to cover URLs and case issues, though I tend towards lower case … more on this in a bit.

  8. Since I use hotmail I have noticed that when you are browsing your mail account the URL will start out with something like (letters are x’s and numbers are 0′s)http://xx00xx.xxx00.hotmail.msn.com/cgi-bin/HoTMaiL?

    Obviously it appears the service likes to make you think of the TM as a trademark but really doesn’t serve much else of a purpose. In fact, the L doesn’t even make any sense being capital. My take is there should be a good reason to change the case of a letter from lower to upper case or else don’t do it at all.

  9. Good article and good discussion. There seems to be some confusion concerning URI vs. URL. This article may or may not help.

    I am in favor of all lower case, even though I use camel caps when writing in C or Java. Keeps it simple. CK mentions that this is a site rewrite. In that case, the answer is clear: do not change the case of your URLs. Makes no difference if they are upper or lower. Don’t change them.

  10. Great topic. Though I tend to side with Jakob Nielsen in most matters, this issue is a bit more complex than I originally thought.

    Mixed case (initial caps) are easy for users to scan and memorize, more natural than all lower case strung together. But lowercase URLs are better for computers, I’m told.

    BTW, I have a new blog site, that contains some web site questions you Dean, or your commentators may be able to help me out with.

    http://www.vaspersthegrate.blogspot.com

    My questions deal with web site visitor orientation, effects of prolonged computer screen reading, and deconstructionist philosophy and its relation to the Internet, web writing, hypertext, email, computer viruses, etc.

    Any comments on these topics will be appreciated.

    Thanks for bringing up this interesting topic.

  11. Having been thru the pain of migrating from IIS to apache (I much prefer apache – even on windows) I have to agree with whoever says “all lowercase.” Why? Windows is case-insensitive – it reads R just the same as r. So, when someone makes a loverly page on a windows server called MyBestPage.html and puts it up on a windows server, it doesn’t matter if someone remembers MyBestPage.html or myBestPage.html or mybestPAGE.html – it can be found.

    Now – go out and move that little gem over to a *nix box, and forget to tell your ftp client to be sure to maintain case sensitivity… and also move a couple of pages that link to MyBestPage.html (which by now is mybestpage.html). Watch your links go to lala land.

    So – out of frustration, I’m always stomping around with my web-editors hollering: “No spaces, no caps, no special, funny characters!” – try that in French, spanish and english.

    Just my $.02 worth.

  12. Daniel: The original name of the service was in fact spelled HoTMaiL, to emphasize the fact that it was based in an HTML interface.

  13. Daniel: The original name of the service was in fact written as HoTMaiL, to emphasize the fact that its interface was HTML-based.

  14. I agree that lowercase, no funny characters, is the only safe way to go. It’s very frustrating to not find what you’re looking for because the case is wrong, and there could be tons of possibilities if you’re trying to guess/remember.

    I wonder, though, if a .htaccess file could be used to make an Apache server case-insensitive.

  15. You can make Apache on *nix case insensitive too, so long as it has the mod_speling module (most do). Just put this in the config file:

    CheckSpelling On

    This will handle case issues, as well as simple mispellings.

    Consider this as the actual

    http://www.siouxfallscommercial.com/team/

    Now try these:

    http://www.siouxfallscommercial.com/Team/
    http://www.siouxfallscommercial.com/taem/

  16. Loved this article.
    Can I really play devils advocate and ask how the great website I intend to launch godisnowhere.com should be branded…

    Bet most of you read it as
    GodIsNowhere.com rather than
    GodIsNowHere.com

    Remeber People READ stuff. Computers PROCESS stuff.

    Rgds,

    Phylip