For many web applications, especially those in the realm of social media, a great deal of the features revolve around user customization. Users can often upload a profile image, write a small bio, share their location, or give a detailed description of all their life events, favorite things, and breakfast habits. The usual. While many of these features are great for letting the application adapt to better serve the user and give a personalized feel to the product, others are tricky to design around. Limiting the information that users can input makes designing an application easier and makes the experience more uniform when users interact with each other’s content. Is the simplicity of uniformity worth the compromise in customization? For nibl, I wanted to find a balance between the two, where the site will remain beautiful and adapt to anything a user does to customize their experience.
What to Customize
During the redesign of nibl, users can do the basics: profile pictures, add some personal urls, even set a large banner image for their profile page. These things are great because a user can upload just a few things and really change the feel of their individual pages without changing anything structurally. Everything stays in its place, usability goes unaffected. These types of customization are fine, because nibl can use defaults as placeholders until users want to distinguish themselves and spice up their pages a bit.
Some things than can be customized are often tricky to manage, and can be changed in a way that makes the product worse. For example, on nibl, the price tags are orange with white text. If users were allowed to customize these elements for their own items, someone could accidentally make the tags unreadable by using a background color that too closely matches the text. Or worse, someone could try on purpose to hide the price of their content and trick someone into paying more. So when designing nibl, it is more important for users to know that an orange tag is what you click to make a purchase, than it is for us to let users customize that option. There is a little loss in individuality, but is it worth the risk of making something harder for people to use?
Uniformity in common elements across the site makes for better usability and greatly lowers the learning curve of using a new application. If done well, users can navigate and use the site organically, even as new pages, features, and content are added.
Moving Things Around
Another aspect of customization is to let users rearrange things, toggle visibility of things, or change how things are displayed. I’m a big proponent of these interactions with users. Maybe it’s just the design side of my brain getting excited, but nothing makes me happier when I can arrange, sort, group, and remove parts of a site. Users don’t have to be in control of the entire layout of their pages, but being able to customize what they see through filtering or toggle switches gives the user the sense that the product is an extension of themselves.
If you don’t like seeing a notification every time someone likes your comment, turn it off! If you prefer to see things in a grid format rather than a list, switch it! You love a nice spacious layout with more margins (who doesn’t love more margins?), change a setting! A good design will account for all these needs and maybe a few extra you didn’t know you couldn’t live without.
I have always admired many of Google’s products for this ability. In Gmail, I can change the settings from “Comfortable, Cozy, or Compact”, without the whole layout jumping around. Or on Google+ the posts can be set up to be stacked dynamically or all in a single column. Of course all the settings are just for the single user changing them, and do not affect the look and feel for anyone else on common pages.
The Best of Both Worlds
Web designers spend a lot of time analyzing user patterns, effective methods of showing information, and how users interact with content on different devices. With all this information we gather, it’s hard not to try and find some fixed design that accommodates for all users and solves all every need. However, there are often far too many use cases to create some end-all design solution. That’s why customization is important, but really just on the single user level. Sure let them upload a few pictures and details to show the world, but mainly keep the customizations local. Users can change their settings and everyone else is none the wiser. So the proper balance is customization for yourself, and uniformity for everyone else? Makes sense to me.