For the love of URLs

Aula Polska is a regular meetup of Warsaw’s entrepreneurial community, that I loved to attend until… its website had a facelift. It took a while to realize that I wasn’t seeing announcements of new meetings anymore. They broke their URLs, including the RSS feed I was subscribing to. I scoffed, how dumb! And then I thought “wait a second… did I check the URL for Michał’s Bites’ RSS feed after moving to WordPress?” I was the pot calling the kettle black.

The process that breaks the links around the web is known as link rot – an epidemic deteriorating the online experience:

  • readers, who bookmarked pages, cannot find them back,
  • links from other websites stop working, and
  • search engines cannot crawl the missing pages, so they impose ranking penalties.

Clearly, the damage hits everyone who is ever interacting with your content. Luckily, yours is also the power to save everyone the trouble, by showing some love for your URLs. In particular, when changing CMS platforms:

  • strive to keep the URLs identical,
  • setup permanent redirects for inevitably changed URLs,
  • communicate truly removed pages and offer alternatives.

In March 2013 I had to move Michał’s Bites from Posterous and chose a self-hosted WordPress platform, partly because it allowed me to configure and maintain identical URLs for most pages, particularly the posts and tags. The Safe Redirect Manager plugin took care of the remaining pieces. I forgot about the RSS feed because it’s somewhat removed from sight and only ever accessed by feed readers. Clicking through the new platform, or even running automated link checking didn’t bring it up.

What should have helped were server logs, parsed by any reasonable software like AWStats. Place your new platform online, then keep an eye on the reports, looking particularly at the 404 errors section. You’ll see the most commonly accessed, but missing URLs. Fix or redirect them, if possible.

Some pages will be truly gone – removed and nowhere present in your new website structure. These should correctly return a 404 (not found) or 410 (gone) HTTP code. You can still go the extra mile and make the experience of hitting links like those slightly more bearable.

GitHub's 404 page

It can be fun, self mocking, but on top of that you should provide users with a way to move forward from there:

  • At the very least offer a big, prominent link to your home page.
  • The list of latest, or most popular articles.
  • A search box for the website’s content.
  • Or a list of somewhat related pages to the one that’s gone now, if you can reliably setup that kind of intelligence. Links to random pages help nobody.

Don’t expect miracles – most readers will still bounce back and head somewhere else upon hitting a 404, but at least they may smile, leaving with a pleasant memory. Some might stay and dive into your content.

Remember, the Internet is forever and once you publish something, everybody’s free to link, index and bookmark that piece of content. Help them find it back – by any means they choose – and you’ll be building relationships that last.

Software installations for Noobs and Freaks

“Copying Windows files”, “Getting files ready for installation”, “Installing features” … and so on. Installing Windows 8 is an experience pretty much the same as it’s ever been, where too much information is presented to those who don’t care, and not nearly enough to those who do. On top of that I’m informed that “my computer will restart several times.” Lovely.

Computers used to be the domain of hackers – people, who wanted to push the limits of what’s possible and know all about the machines they were using. Then the PC came along (or the Mac, if you’re that kind of fan) and all sorts of people strolled into the computer world, not always willingly. Most software changed along the way, but the installation processes were mostly left out of the changes.

Every piece of software – as big as an operating system or as small as an instant messenger – should have two modes of installation:

  1. I’m a Noob – I just want the software up and running, as soon as possible. Assume all the defaults, get on with the installation, tell me when it’ll be over (I really don’t care what you’ll do on the way) and show me the workspace immediately afterwards. And yes – this mode should also be the default.
  2. I’m a Freak – I want you to tweak the software precisely to my needs. Show me all the knobs and handles, let me decide what goes where, then show me exactly what the installer’s doing every single step of the way. If I don’t like something, let me reconfigure the process. When done, show me a configuration dialog so I can fine tune the final details.

What we’re getting instead is usually a mix of both. Noobs find the installation process too daunting, to the point where they’re just confused and keep clicking “Next”. Freaks find it mostly unsatisfying, distrustful about the installer doing something they would probably not approve of. Nobody’s happy.

Think of installing software as the “unpacking experience”, like Steve Jobs always emphasized it, and Apple continues to do. It’s the first experience a user may have with your application and you want it to be as comfortable and pleasant as possible. Do your users a favor and design your installation process, just like you design your application.