It’s never easy to make high quality software. But different products can face different challenges. Here are some challenges we face at Superthread.
Superthread has a large “surface area”. Lots of different screens with lots of elements on each screen. Spaces, boards, cards, pages, views, the notifications inbox, settings, etc. This isn’t the case for all software. For example, many mobile apps have one or two central screens where people are expected to spend most of their time.
Each of the major screens in Superthread is different. But it’s important to make them feel similar. A coherent interface is easier to understand. It leaves a good impression on people who use Superthread every day.
As we add more features to Superthread, this becomes harder. For each screen we add, we’ve got more to keep in mind when we make them all feel similar.
One way to improve this is to build the interface out of standard components where possible. Especially for “commodity” elements like buttons, there’s little downside to this approach. Buttons should feel the same across the app. An example of a bigger challenge is screen layout. A different purpose often means a different layout. It takes a careful approach to make two screens with different layouts feel similar to each other.
A small product and design team also helps a lot with coherence. As I write this I am the only designer at Superthread. Yes, there’s lots for me to design. But it also means that the design approach for the entire app is in one person’s head. That’s a powerful advantage when you want to make the app feel coherent. The more people you add, the more inconsistency can slip in.
Some applications, like Superthread, are information dense. Their screens are full of information. Often so much that people can feel overwhelmed if it’s not carefully designed.
Sometimes this problem isn’t as bad at first. In Superthread, most information is added over time by the people who use it. When they first start to use Superthread, the information density is lower. As they add more spaces, boards, cards, pages, and people, the information starts to pile up.
Hopefully by that point the people are so familiar with Superthread’s interface that they don’t get overwhelmed. But we can’t rely on this.
First, if a new person joins that Superthread workspace months or years later, they’ll be unfamiliar with the interface and be faced with a mountain of information. How can we make sure they’re not overwhelmed?
Second, there are many things we can do to make the information more manageable, so we should. Even expert users benefit from screens that are easier to read and understand.
One way to approach this is to have clear visual hierarchy. Are the important things on the screen the most obvious/easy to find? Do the less important things fade into the background until you need them?
We also need to make hard decisions about priorities: which things are actually the most important? It’s common for people to have different opinions about what is more important. If all of their opinions affect the product, you’ll probably end up with a confused mess.
We can use details like colour and animation to direct attention to what’s important. But if we use them too much the app can be more overwhelming, not less.
Interestingly, as people become familiar with an interface they often want higher information density. Now that they know where everything is, they want to be more efficient. They want to see more information at once.
But you can’t make the interface more dense for everyone. The people who aren’t as familiar would suffer. One way we can approach this is customisation. If you let people hide information, for example, more of the information they care about fits on the screen.
Not all software is used every day. You might only renew your passport online once every ten years. Passport renewal is important. The website should work well. But if it does have problems, people don’t need to put up with them often.
Unlike the passport website, Superthread is “everyday” software. Like your calendar and email, it’s designed to be used daily.
This is important for quality. People might experience even the smallest problems many times a day. These small problems are sometimes called “paper cut problems”. A single paper cut on its own is probably fine. But 1,000 paper cuts is bad.
We need to make sure that Superthread doesn’t have any of these “paper cut” problems. Otherwise people will be less and less satisfied with it over time. This hurts retention, and word of mouth.
Common interactions are a good area of proactive focus. For example, you can drag and drop a lot of things in Superthread. If the drag-and-drop interaction isn’t smooth or easy to understand, people might get annoyed. They might find other ways to do the same thing. If people avoid it because it doesn’t feel good, it’s a waste of our effort to support drag-and-drop around the app.
Another area we can focus on is efficiency. If you do an action once, you probably don’t mind if it takes longer than it should. If you do an action ten times a day, you notice if it’s inefficient. For example, people assign cards to people many times a day in Superthread. It’s important that we make that action as efficient as possible.
Even if the standard interaction is as efficient as it can be, there might be more we can do. Our keyboard shortcuts are a common example. Someone might work more quickly with a keyboard than with a mouse. In Superthread you can tap the “A” key when you have a card open. This will instantly open the assignee drop-down.
Quality takes a lot of effort. You need to be aware of all of the issues, take the time to fix them, and make sure new issues aren’t added as the software grows.
It’s easy to focus on other areas that have more immediate impact. But quality is an issue that creeps up on you. By the time it’s easy to notice, it’s often too late to fix it without a lot more effort.
No credit card. No learning curve. You’ll be up and running within minutes.