Monday 27 April 2009

Always get a Baseline first

As developers, we often spend time optimising, tweaking or redesigning to increase performance. It's fairly easy to measure performance increases when optimizing code or systems, but it's a lot harder to gauge the effectiveness of User Interface changes.

In many cases the UI choices we make are subjective at best. In some cases, our design decisions can actually make things worse, not better. There are some interesting anecdotes about this in this recent post.

In order to make sure we are making the right decisions, rather than just a bunch of assumptions, we need to measure the effectiveness of the current implementation in order to compare with the improved version.

Depending on what it is that you're changing, this could impact on conversions, page hits, or data collection rates. You'll need to decide the best way to measure the effectiveness of the changes, but without data to measure it, you'll never really know if you're doing it wrong.

It seems like a simple idea, but it applies for all optimisation and is often overlooked. A simple rule to follow is to remember to ask "How will we know if this works?" before you implement a change.

Monday 20 April 2009

Eliciting Site Referrals

One of the best ways to increase the reach of your website is through word of mouth. Personal recommendations from existing visitors carry a lot of weight. To make this easier and more frequent, it can be a good idea to give your users a nudge in the right direction with a "Share this with a friend" call to action.

The simplest way for visitors to share great content is to copy and paste a link to a friend (via email or chat). To help this process work well it's a good idea to have readable URLs to encourage clicking. For example http://yoursite.com/item/17326/The_Meaning_Of_Life looks a lot more interesting than http://yoursite.com/item=17326

Another approach to sharing content is the "Send this to a friend" model where the visitor enters a friends email address and the hosting site send the email on behalf. Many web-savvy visitors will avoid this rather than reveal the email address of a friend. In my opinion it's an out dated model that should only be used for "locked" content or simliar special circumstances.

A more powerful way to be recommended is by plugging into social networks or news networks where the link exposure is much greater than one-to-one. An easy way to implement this is via the AddThis.com bookmarking and sharing service buttons. It's a free service that allows a certain amount of customisation and also features analytics of what is being shared. There's a nice introduction video on the tour page.



Bonus Tip
Don't rely on the <title> tag to get the right title shared. To get the title to be picked up properly by Facebook, and a handful of other sites, you'll need to add a Meta Title tag:
<meta name="title" content="Dolphins rampage through Venice" />.

Wednesday 15 April 2009

Analytics Debunks Charlatan

Yesterday I overheard a friend's phonecall with a salesman for an internet listing service. She runs a modest business with her website as the only advertising and bringing in enough customers to keep her booked weeks in advance.

The listing service was claiming that they could increase traffic to her site because they specialised in listing companies in her specialised field. I suggested that she should think carefully before throwing her money their way, since her website is fairly well optimised for search engines.

As it turned out, the listing service had offered her a one month free trial (which had just expired) and had been allegedly sending traffic her way already. I decided to spend a few minutes helping her evaluate the trial.

The first step was to look at their website. Sadly their homepage failed to load as most of the content was blocked by ABP - not a good start. Next we found her listing on their site, mostly content pasted from her homepage, although her business name was spelt incorrectly (twice). By this stage I was feeling underwhelmed.

So we decided to check out the traffic they've been sending to her site. Google Analytics had been in place for some time so we could easily measure the impact. The first thing we did was check the Traffic Sources report. Indeed there were 27 visits in the last month, although they never peaked higher than 2 per day and the bounce rate seemed pretty high to me.

I suggested we check on where these visitors were coming from and see if we could find out a little more about them so we set up a Custom Segment where Source contains the listing site's domain. We could see that almost all of the traffic came from London, except for 3 visits from Australia, coincidentally where the business was based. Digging further into the New vs. Returning Visitors report showed that all but one of the London visitors was the same person returning every day or so to generate traffic.

In my opinion this kind of listing service is a waste of money if you have followed the most basic SEO principals. Needless to say, my friend will not be engaging their services.

Monday 13 April 2009

Repositize it!

If you write or maintain code for any number of projects on an ongoing basis, then you should be using a version control system. If don't already use one, then quite simply, you're needlessly working without a net. Shame on you!

The benefits of using a version controlled code repository include:
  • Keeping track of changes in source code/documentation
  • Maintaining historical versions of source code/documentation
  • Stopping developers from tripping over each other's changes
  • Assigning authorship to changes
  • Storing comments regarding each change
  • Branch and tag management
  • Rolling back to "clean code"

There are a number of version control systems available with the most common being Concurrent Versions System (CVS) and it's assumed successor Subversion (SVN). Subversion is my preferred system due to it's atomic commits (they either completely succeed or completely fail).

Golden rules to using a version control system
  • Always update from the server before you commit your changes
  • Always comment your changes (I like to use the "line 36: fixed text typo" format)
  • Use logins and passwords
  • Don't forget to back up your server regularly

Related links:
Tortoise Windows shell extensions
If you're working on Microsoft Windows you should check out TortoiseSVN and TortoiseCVS. These free clients integrate into Windows Explorer. TortoiseSVN won the SourceForge.net 2007 Community Choice Award for Best Tool or Utility for Developers.

Friday 10 April 2009

HiPPOs and A/B Tests

This 20 minute video from videolectures.net is good food for thought. It's got some great anecdotes about some big industry players and how hard it is to guess how users will react to UI changes. Well worth watching when you get a chance.


Practical Guide to Controlled Experiments on the Web:
Listen to Your Customers not to the HiPPO

Ron Kohavi