Increasing the barrier to entry by simplifying the process

The more we browse the web the more our experiences influence how we design and develop our own products. We isolate and extract the best experiences and replicate them to help guide and inform users as best we can. But are we really in the best position to decide what works and what doesn't? The simple answer is, no!

Over the last few months I have been working on a major new section of a website and I was recently invited to sit in on one of the user testing session that was set up to test the work I had done.  In the run up to the user testing sessions we had identified that parts of the user journey were quite complicated for new users and decided to pre-empt any confusion by implementing IntroJS so we could highlight the main parts of the product and tell the user what they were expected to do. 

The cardinal sin of programming is to allow any developer to test their own code as by the time we get the code to a point where we can test it we have been through the process several times and without much thought we will put in semi-valid values that will allow us to continue to the next step.  Building and testing the user journey falls into a similar category as by the time we get to the point of being able to test the journey we have a clear interpretation in our minds of what the system is supposed to do but, and here is the key point, is this how a user would actually use it?

We had some expectations of what would come out of the user testing session but the biggest feedback was something completely unexpected.


Our implementation of IntroJS was meant to highlight the 4 or 5 most important points of that page and as the user navigated the website the IntroJS dialogs popped up to advise them what that section was about  We quickly saw that our testers did not read the messages and instead were trying to interact with the highlighted component.  We had not anticipated this behaviour and our testers were quickly getting frustrated that they could not do what they were expecting.  

This was then compounded with them treating the IntroJS dialogs like an irriating advert as they clicked Next, then Next, then Skip so they could summarily dismiss the dialogs and get the playing with the system underneath, all without reading any of the help messages that were trying to explain what was going on.  Once the IntroJS message had been dismissed our testers were able to work their way around the system, albeit with a few puzzled looks as they figured things out, but in general they were a much happier campers.

The feedback we received at the end of these user testing sessions was largely positive but a few of our testers did mention that if this had been a live product rather than a testing session we would have lost them very early on in the process and by the one thing we had put in place to try and make the process simpler.

It also worth mentioning that although IntroJS has been highlighted as the main issue in this instance, this is down to our implementation of it and is not representitive of IntroJS itself.


I am a web developer specialising in web driven applications using PHP, MySQL, Symfony and Zend and I am currently working for the The Drum in Glasgow, Scotland.

Most days I can be found frantically coding away with EuroDance in my ears and consuming what I hope to be a never ending supply of coffee... happy days!

Want more like this?

Keep up-to-date with latest news from Inside the Agency using any of the following services


Digital Ocean

Chris's Reading List

BFF @ SoundCloud

Our friends at SoundCloud embarked on a journey a few years ago that changed their system and moved it from a monolithic Rails application towards an ecosystem of microservices. Read more

The Drum

The Drum

Google'€™s AMP is bringing some much needed speed to mobile but the transition won'€™t be easy for publishers

A week after launching, the Google-led Accelerated Mobile Pages (AMP) initiative has raised more questions than answers for publishers... Read more



Quick Tip: How to Permanently Change SQL Mode in MySQL

MySQL 5.7 introduced some awkward changes for older codebases and tends to break apps. Here's how to temporarily (or permanently) lower the strictness level Read more



How to Build Your Own Dependency Injection Container

Andrew Carter builds a Dependency Injection container from scratch, showing you how that rocket science is really just fireworks strapped to lego figures! Read more



13 Reasons Your Organic Traffic is in Decline | It's Not a Penalty

The landscape of search engine optimization has changed drastically in the last 3-4 years. Even as it changes, a lot stays the same. It has been very challenging to see a multitude of friends and colleagues approach me with problems that often seem beyond repair with clients that they have worked with for years. Read more



WordPress Sites Now Support Google’s AMP To Make Mobile Pages Load Much Faster

Google has some big plans when it comes to making the web faster on your mobile phone. The company just added AMP-enabled pages in its mobile search results... Read more