All too often we see websites in which it appears that the design of a form was an afterthought. We see forms which are visually confusing, inaccessible and even downright unusable. A form is often the first point of contact for a user to interact with your business or brand – so why would we want to put obstacles in the way of something this important? How many times has your form unwittingly become a barrier to what could have been your next big sale? These questions and more, we needed to explore.
I should start by saying that we, as an agency, endeavour to be the best at what we do and quite often this leads us to challenge the accepted norms. We feel this sets us apart from the others – those who think as design as purely a commodity; something to be sold time and again without thinking about the consequences for its client and end users.
Times change, the internet evolves – and with it, the way that people use websites has evolved. Knowing this is key to understanding how people use and interact with elements of a website.
We wanted to re-think the way in which forms would be used and to create a standardised form design which we could use on future projects. As an agency which focuses heavily on design, we know that great design should focus on experience, but balance creativity.
With this in mind we needed to design a form experience which was:
We discussed what best practices we knew to be true, what information needed to be captured on the form and what the user needed to see to understand and complete the form correctly.
Using our combined experience, tried & tested methods and common sense – this was our process.
Starting with pencil and paper, we went back to basics and began by thinking about what a form was at a very high level.
Looking at the basic form field types, we looked at how we could apply a set of basic rules to these to create foundation & consistency.
How would the form elements look? Could we use colour coding to denote clarity and consistency? Would validation messages instantly convey understanding? Would the validation work the same across all the field types? How would accessibility concerns be addressed?
These are some of the questions we needed to address to be confident we were doing what was best for the user.
Thinking firstly about the layout of the form, we sketched a basic form structure. Knowing that users initially scan a web page with their eyes before making any kind of decision, we knew that keeping the form as linear as possible was common-sense and so we tweaked the form layout to reflect this.
The reasoning behind this is so that the user has a clear goal – they can scroll down the form and know what they must do in order to get from A to B.
We knew that having the user look vertically would keep the correct momentum – giving a sense of progression, whereas too many columns of fields would have the user looking horizontally (perhaps numerous times) – this would work the users eyes too much, potentially giving the user a sense of confusion and a lack of progress.
However, we also knew that sometimes this could not be avoided and so we relied on Form Grouping to help with this (see ‘Keeping it interesting’).
Knowing that people initially scan and not read a web page, we also know that ‘the longer the sentence the greater the strain’ – thus, if a sentence of text is too wide, the user will struggle to reach the end of that sentence and may even lose their place.
Whereas if your text sentence is too short, your user will find their eyes moving from left to right too much trying to keep up, making the reader work harder than is necessary, thus breaking their flow. It is estimated that most users will only read around 25% of on-page content.
It is, therefore, important get your point across as quickly as possible. Again, this is even more critical if your page is conversion led.
We decided to apply this rule to form field widths. Where we only have 1 column of form fields, we would also make sure that the form fields were not the full width of the page / container – as this can not only look terrible and but would not be good for usability.
Who wants to deal with a select field that is 1000px wide? Think about all that wasted space inside the element. That being said, there is a balance to be made when you have lots of space and only a small form – but that is an inherent challenge of design (and what keeps design so fascinating).
Just as we wanted to reduce the complexity of the form and keep the users eyes motivated, we also needed to consider the overall length of the form. By this, I mean the number of fields the user will need to complete before being able to submit the form successfully.
Common sense dictates that if the user becomes bored, their concentration will drift – this is true for forms. If the user lands on a page and scans down the page to find a very long form, this has shown to put some people off immediately. Again, if your form is conversion-led, then this could have dire consequences for your on-page goals and ultimately your service or product.
Thus, we needed to keep the form length to a minimum. For those forms that need to be field-heavy or for those users that dare tackle such a form behemoth, there are certain design techniques we can leverage to make our form more usable and less daunting, these are:
This technique is a way of giving feedback to a user about which stage they are currently at within the form process. This is often used on forms with multiple steps (such as multi-page forms) and is a great way of showing the user where they are and how far they have yet to go.
See below for an example of this type of technique.
Whilst signposting can be a clear indication to the user about where they currently stand, there is another powerful technique known as Form Grouping. This technique leverages the ‘Gestalt laws of form perception’ and more specifically the ‘law of proximity’.
This law posits that when we perceive a collection of objects, we will see objects close to each other as forming a group. What this essentially means for our form is that by placing form fields into groups (based on similarity) we can essentially indicate which fields are related – thus providing the user with a clearer view.
HTML already provides a semantic structure for this called a ‘Fieldset’ – this is used to visually (and semantically) group related elements within a form, so from a design perspective it made complete sense to leverage this on the visual side too.
We can further improve upon this by adding visual cues to the form groupings. These visual cues can include group headings – something as simple as ‘Personal Details’ or ‘Employment History’ – therefore adding a title to describe what information is expected from the grouped fields. By adding a border around these groupings, we can further remove any doubt of which fields are related.
Splitting a form across multiple stages can have its advantages and disadvantages, and can ultimately help guide the user through an otherwise lengthy or complex form. There are 2 main ways a multistage form can work; on the same page and across multiple pages.
Again, there are arguments for and against either of these options – we’re not going to go into this in this article because it is outside the scope of what we are trying to do.
Once we had considered our form’s layout we then moved onto the visual design of it’s elements. We weren’t so much concerned with the exact styling of the elements, rather the design & placement of the user feedback and validation in relation to the form fields.
Because we were designing a form which could be re-used and form the basis of future forms, we needed to keep the exact styling to a minimum – this being left to the per-project design and branding stipulations further down the line.
We opted to add a pleasant border-radius to the inputs, then added a 2 pixel grey border. The text label & placeholder colour was matched to the same colour as the 2 pixel border, this then set our default state for our input style.
It was imperative that we provided clear feedback to the user and so we looked carefully at the styling of various input states. We designed for the following:
As you can see, we utilised colour coding and a change in border width to show a change in field states. Further consideration was given to designing for the visually impaired – see the ‘Making it accessible’ section for how we tackled this.
Validation is a cornerstone of form design – without it you risk confusing the user. Some simple visual feedback to the user shows when something isn’t valid and is the difference between a user happily submitting a form and giving up because they simply can’t figure out where they have gone wrong. Remember; don’t just show the user where the issue is, you also need to tell them what the issue is.
We came up with the following:
People tend to think of forms as an arrangement of text and boxes, whereas a form could be anything. The whole point of a form is to capture information from the user – so shouldn’t this be the ultimate goal? I mean, this is obvious – isn’t it? Sure, but sometimes something so obvious can become secondary to a maverick idea, poorly executed creative or just simply a CBA (Can’t Be Arsed) attitude.
Forms are not just great at giving the user a chance to provide some details about themselves – they are also a fantastic tool for letting the user make a choice. Multiple choice questions are a great example of this and are typically represented by a series of radio buttons or checkboxes. Is there anything we could do with our form to make this choice more usable? We designed a great alternative:
Another great alternative to the standard form we all know and love is what codrops (http://tympanus.net/codrops/) calls a ‘Natural Language’ Form. An example of this can be seen below. The idea being that you change the details of a structured sentence to build up to a completed response – ready to submit.
This can be an extremely intuitive way of gathering information from the user as it essentially guides the user to answer specific questions within a structured & finite sentence. There is no room for error, no textarea allowing for vague answers or explanations.
This approach can be used with select inputs to further constrain the user to a set of predefined variables – this is not necessarily a bad thing, as it keeps the form succinct and the potential for vague responses to a minimum – capturing only the information which is needed.
Making the form accessible was at the front of our minds from the minute we started this project. We knew that to make the form as inclusive as possible we would need to combine accessibility with usability and creativity.
Note: We’re not going to stray into development territory here so any accessibility considerations at the code level will be discussed at a later date.
From a design perspective, we had some ideas about how best to tackle the issues of colour blindness and visual impairments – we would use colour coding and iconography. This is a much-used technique for forms but is also one which makes complete sense in its simplicity.
For visual impairments such as those with poor vision, we would use the colours green and red to make a distinction between fields which were completed correctly and those which needed some attention.
Colour blindness was also a concern and so we added a green tick and a red cross to further clarify the difference between a fields status – a tick for OK and a cross for NOT OK.
Another issue with forms we see regularly are those which have no input labels and instead use placeholder text as labels within the form fields themselves – see below for an example.
This is bad. Why? Because the input label is there to inform the user about what information is required from them. What happens when the user clicks into the field and the label text disappears? What if they start typing and then forget what information was required? Does the user need to enter their name or their shoe size? There’s no immediate way for the user to regain that vital information.
Sure, they could delete the contents of the field and click out of focus, thus regaining the placeholder text – but this is very unintuitive and quite frankly silly. Why would we put the user through that?
No, take it from us that this is an example of how not to design a usable & coherent form.
We needed to make our form fields as informative as possible, arming the user with as much information as possible to complete the form smoothly and without issue. We would have both a field title and an example of the information required set as the placeholder text. Example below:
Our team is always thinking ahead and when it came to the responsiveness of our forms, this was no different. At each stage of the form design process, we considered how the form would behave responsively – our main considerations were:
We created a mockup to visualise how the form would look on mobile, see below:
The key to making something work across platforms was to keep things simple from the beginning. Adding design complexity needlessly would almost certainly have posed problems for a responsive form design.
We rounded off our form design process by considering how we could make the form even more powerful and intuitive for the user.
As we’ve said before, the web has changed. Websites are more advanced and forms have evolved alongside. Modern forms are an important part of many conversion goals. Whether this be for capturing as many users details as possible or for increasing e-commerce sales. Surely, if we could tailor the form for every user, this would make the form an even more powerful tool.
We decided to leverage advanced form analytics and for this we wanted to use a 3rd-party service – there was no point re-inventing the wheel when there are some fantastic services out there waiting to be discovered.
It may sound strange for a design-based article to drift into statistics, tracking and analytics – but anything that allows us to make informed design decisions to improve our form is not only a positive thing but is essential for our design to move forward.
So, having identified some potential services, we made a comparison based on each of their offerings – we wanted a service which would allow us to:
After comparing services, we decided to use a service called Formisimo. This service stood above the rest as it clearly offered everything we needed. The Formisimo service provided very simple integration – just requiring that a code snippet be added to a form, which our developers kindly added onto the form for us.
We logged into the Formisimo system and, when we started testing our new form, slowly began seeing test data feed through. Immediately, our team saw the power in these advanced form analytics and we knew that this would give us even greater visibility on our forms usage.
Being able to track users from start to finish was pretty amazing. Through internal testing, we could see at which form field a user decided to abandon completing the form – allowing us to consider why this was and what we could do to ensure this was reduced.
Reducing dropouts is clearly important and we found that using the Formisimo system we could even see if a user is struggling to complete the form – offering help by showing a helpful on-screen prompt.
Armed with a new, considered form design and some powerful form analytics, we were confident we had created a form for the user. One which put the user first and allowed us to leverage the latest techniques and ultimately pass these benefits onto our clients.
How do you design forms? Do you follow trends or go your own way? Let us know by commenting below!