Usability Tips for Back-Enders using Bootstrap

Jack Bach
5 min readJun 5, 2014

--

This is for those back-enders that are not lucky enough to work with a designer. Bootstrap is a really well documented collection of reusable components, but placing those components in the screen is not an easy task. This post explains how to create an usable User Interface discussing two main points: Layout design and Screens design. Make sure to check the coded examples clicking the links in the image notes.

Designing the Layout

The main objective of the layout is to provide global shortcuts to main sections and actions as well as context. Usually web apps use a top horizontal navigation, a side vertical navigation or both. Lately it is becoming a trend to fix those navigations to achieve a native app feeling.

The Navbar

The most commonly used layout in Bootstrap based web apps is a fixed Navbar — that’s why it has become one of the most recognisable components of Bootstrap. From a usability point of view it is easy to use and to find —it’s a common practice to have a top navigation —, but will fail at its purpose when the list of links is larger than 5 items.

Typical layout of a Bootstrap based web app. In this case it’s use is not recommended because there’s too many links. View live example →

Sub-Navigation

One solution to over-crowded navigations is to find a hierarchy between the navigation items and use a sub-navigation. In the example below I’ve used a horizontal sub-navigation below the main Navbar. The sub-navigation will change depending on which item of the Navbar is selected.

Use a sub-navigation to simplify the Navbar. View live example →

Vertical Navigation

Another solution is to use a vertical navigation in a sidebar. Use nested lists so the navigation is more easy to scan visually.

When the main navigation can’t be simplified, a vertical navigation is the best option. View live example →

Actionable Takeaway: Put a little love on your main layout. More than 5 links in the Navbar leads to poor usability. Try sub-navigations or a vertical navigation in a sidebar.

The Content Area

Most of the usability mistakes I see in websites that use Bootstrap are due to using a wide content area. Working with a 1170px wide grid is difficult even for experienced designers. That’s why I usually set the max-width of the container to 970px, specially if the layout doesn’t have a sidebar. You can see how in the previous sub-navigation example I set the max-width of the container to 970px.

Actionable Takeaway: Set the container max-width to 970px, wide layouts are really difficult to work with.

Designing Screens

The layout lives in every page, it is a frame that stays consistent through every screen of the app and shouldn’t be intrusive. On the other hand, screens — the content of a concrete page — should have a single main purpose in a flow which has a bigger purpose. Start by thinking about the final goal of the app. What will the user accomplish with the app? Then about the purpose of the flow you are designing a screen for. What is this flow for? Then think about the steps needed to accomplish the flow. Every step should be simple and lead to the next step.

Index pages

Designing index pages is difficult because it is thought that all the features of the app should be accessible from it and a lot of information is considered important enough to be in it. In a lot of cases the main purpose of the app is not clear in the index page.

Example of screen that doesn’t have an index page that is not clear. View live example →

The underlaying problem is not knowing which is the key feature of the app. Take the time to find out which is the main feature and the flow allows to perform the main action. Make and assumption based on the vision of the project. Then make it visually obvious. For example, in this example search is considered the main action:

Example of screen that has a clear call to action. View live example →

Actionable Takeaway: Open the index page of your web app. Identify the key action and the element that makes possible to perform this action. Remove everything else. Then start adding the other essential elements one by one, making sure they don’t take more visual relevance than the key element.

Text Blocks, Vertical Whitespace and Columns

  • About text blocks: text lines shouldn’t exceed 80 characters. Use the grid, instead of 12 columns use 8 in wide viewports.
  • About vertical whitespace: let sections breathe. When in doubt, use more vertical whitespace.
  • About columns: If you are not a pro designer, don’t mix in the same row items that are not of the same kind.
Example of screen that doesn’t have a good structure. View live example →
Apply better structure to screen using narrower text blocks and more vertical whitespace. View live example →

Conclusion

The basics of a good web app User Interface are (1) a simple and quickly scannable navigation, (2) a clear index page and (3) simple screens with only a main action that drive the users through flows that let them achieve objectives. There’s much more things that could be said about user interface design, but with this post I only wanted to discuss some of the most common user interface mistakes I’ve seen in Bootstrap based websites.

Next steps

One of the main problems about using Bootstrap is that it looks like Bootstrap. Once you fix the usability problems in your interface, consider changing its aesthetics to match your project’s brand. I’ve created Strapfork to help you with that.

--

--