When most people think about user experience (UX) they think about front-end designs. But UX encompasses everything a user sees and feels while interacting with your product. This includes how the product actually performs, not only how it’s designed to look.
The key to climbing the Experience Success Ladder is delivering a high-performing, reliable, and secure experience. This doesn’t just mean creating cutting-edge designs. It means building a backend that supports those designs and is capable of adapting to the changing needs of your users.
To do that, you need great communication from the first sketches to the final code review. In a world where new features and technologies pop up daily, it’s important to stay focused on maintaining the quality of your core product and the environment that supports it.
Here are four ways that back-end development can help you build and maintain the kind of meaningful user experience that will lead you to success.
Great UX Boils Down to Performance
How your product performs day to day is the essence of your user experience. When users spend an inordinate amount of time dealing with bugs they start to create the wrong mental model of your product. They think it’s broken or it doesn’t work how they thought it would.
Where do we see performance lag the most? Usually in the one place where you need to make a strong first impression - first page load times. When users hit your site or application they expect it to load within two seconds. At three seconds or more, abandonment rates shoot through the roof.
Nobody sets out to build heavy pages with slow load times. Software products and websites grow over time. Charts, videos, photo galleries, plug-ins, and widgets creep in slowly and lead to death by a thousand cuts. One day you wake up and realize your product is moving like a three-toed sloth.
How to Optimize Performance and Boost UX
While there is no one-size-fits-all approach, there are a couple of fundamentals to keep in mind. Work closely with your full team of designers, developers, product managers, and business owners to find the solutions that are right for your product.
Consider Progressive Page Loading Based on User Actions
If most of your users don’t immediately scroll below the fold, then why worry about delivering every piece of content right when the page loads? It’s a big drag on user experience to make everybody wait for content that only some people want.
Apps like Facebook, Instagram, and Twitter have changed user expectations with seemingly infinite scrolling experiences. We’re now accustomed to scrolling at our own pace and letting the system catch up with us.
Consider how you can use progressive page loading to your advantage. Think about less popular actions you can move to the background while users explore their first-priority content. By coordinating your front-end design with back-end delivery, you can set the right expectations for your users while still delivering a seamless experience.
Optimize API Calls and Data Structures for Better Response Times
This requires that you understand the problem your users are trying to solve. Once you see the problem from their perspective, you can better decide how to efficiently access and deliver the data they need without overly taxing your servers.
Look for ways to trim the data that isn’t needed and save it for another API call or remove it altogether. Batch the most used data together and cache it on local systems as much as possible. Save less important data for specific user-generated requests.
Every little bit counts when making calls to the server. We’ve seen time and again in user testing that the speed of the data retrieval has a bigger impact on user experience than how pretty it looks when it finally arrives.
Reliability Issues Can Kill UX
Reliability is a baseline expectation that won’t earn your product a lot of bonus points, but it can certainly kill your reputation if it’s bad. It’s tempting to think of reliability as black and white. Either something works or it doesn’t. But reliability is relative. If things fail often enough, users will assume that your product doesn't work and there’s no hope. They’ll give up on it.
Users want to know that your app, service, or website will be available when they need it. Nothing reflects worse on your company than the feeling that your users and customers can’t rely on you. This is as basic and simple as uptime. How consistently are you up and running without major issues or problems?
This isn’t about being perfect. Software breaks down. It’s bound to happen. Things go wrong and your users understand that. But you need to do everything in your power to make downtime as painless as possible.
Users are evaluating you based on how you respond to challenges. They want to see that you’re responsive and they want to feel that you have everything under control. How you communicate and handle problems speaks volumes about your capacity to serve your users and customers over the long haul.
Reliability issues usually come from a flaw in the underlying technology and infrastructure or in your own code. Either way, it’s important to address even the smallest problems that can chip away at your reliability.
People feel anxious about using unreliable products, whether they admit it or not. Like any tool, they want to know that your product will work and they won’t be able to break it. That’s what ultimately motivates them to keep coming back.
How to Build Reliability and Preserve Your UX
If you have a product, you should expect it to go down at some point. It’s really a question of “when” and not “if.” You can manage this by building consistency in some core areas.
Provide Clear and Consistent Communication to Users
Communication won’t fix all your problems, but it will make them easier to handle. You can plan for system-wide issues ahead of time. You can craft effective error messages and set them up to appear based on specific technical triggers. These messages help reassure users that the problem is with you, and not them, and that you’re working on it.
Communication can also guide users to their next steps. Telling them when you expect to be back up and running and what other solutions can you offer can prevent a short-term problem from building into a long-term issue.
Build Availability Trackers for Critical Functions
Some products are so critical that users’ jobs or lives may depend on them. Things like utilities or business-centric applications need to be available 24/7 to keep processes running. These situations call for an availability tracker that shows in real time how the system is performing and reassures users that all is well. A tracker like this can also be crucial to determining if a problem or issue is local and temporary or system-wide and long-term.
Users need a central source of truth that will tell them if the system is down so they can find another way to work around the problem. The last thing you want when something goes wrong is to keep your users guessing and wondering what’s going on.
Synchronize Across Devices
We’re no longer in a world where you can assume your users will only access your product through a single device. You need to deliver a consistent and reliable experience across a variety of devices. Automatic data synchronization is a baseline expectation for most users. Forcing them to sync their own data, or not offering that at all, can tank your user experience.
Great UX and Security Are Not Mutually Exclusive
Security is often seen as a direct trade-off with user experience. In general, the most secure applications in the world tend to have terrible user experiences, and the best UX ideas are often considered big security risks.
The reality is that most products exist somewhere in the middle. It’s about finding the right balance between managing security risks and getting the most ROI possible out of your UX.
The good news is that it doesn’t have to be a question of choosing between two extremes. There’s almost always a way to creatively improve UX and stay within specific security constraints.
The best example of this is the dreaded password. We’re all familiar with the process of creating and recovering passwords and we’ve all had some terrible experiences.
It’s true that nobody wants to have their account hacked, so it’s not something you can ignore. But there’s a big difference between your Reddit account and your bank account.
You can optimize user experience by easing up on some of the password requirements that don’t actually increase security. The friction you take out of the process will help the general perception of your product and increase security for your users.
How to Increase Security While Improving UX
Like in any industry, people in product development copy each other without questioning why. Here are some ways we’ve tried to break the mold with our clients to help improve their products while keeping them secure.
Build a Culture of Security
Too many product teams and companies think of security as a legal question. This breeds a culture of gatekeepers who will answer questions on the basis of one set of security-focused criteria. They’ll often lock things down even more than necessary out of a reasonable concern for caution. But if everybody from design to development is aware and educated on security principles, you can get a lot more creative in your solutions.
Make Security a Default Setting
You don't want to force users to remember to install security updates or otherwise go in search of the newest update to your product. This not only puts a huge burden on them, impacting user experience, but it leads to a lot of holes in your security. Make it easy for users to feel and stay secure in the environment you’re building for them. That security will improve confidence, which is the lifeblood of good user experience.
No matter what, invisible technical dependencies on the back end will always impact visible user experience on the front end. From automatically-generated error messages that seem written by a robot, to form fields that don’t work right, you can’t anticipate every problem.
For example, take a super common feature like exporting a set of data as an Excel spreadsheet or in simple CSV format. This seems straightforward, but what if it’s a particularly large dataset? That can increase the time it takes to process the request. What if your user has a terrible internet connection? Nothing you do to speed up the export can make up for that.
You could create messaging that estimates the amount of time the download will take and shows a loading page. That’s a good front-end solution. But it could create a heavy load on backend API calls or the user could have a bad internet connection.
A collaborative solution might acknowledge the request and then send an email when the download is ready. This kind of elegant workaround requires more than a front-end design or a back-end solution. It requires collaboration and careful planning of resources.
How to Best Deal with Everything Else
It’s important that backend developers work hand-in-hand with front-end designers on a regular basis. They need to understand the technical specs as well as the intention behind the design. That will help them make the right decisions to contribute to the success of the product.
Likewise, front-end designers need to understand the technical limitations of the product. The two need to be in constant conversation to find the best solution that solves several problems at the same time.
We Can Help You Fix Your Backend and Build a Better UX Environment
At Drawbackwards, we’ve spent a lot of time getting to intimately know the ins and outs of a wide variety of products and services across all industries. We know how to anticipate and quickly identify the most common problems and offer proven solutions. We also have the full stack systems background and knowledge to work with your developers to efficiently find the best solution.
We can go from concept to execution quicker than you might on your own. We know the difference between a reasonable recommendation and wishful thinking. If somebody tells us it can’t be done, we’ll push back a bit to ask why and understand the underlying problems and assumptions. We use our product sense to not just take no for an answer but to also offer real solutions that can actually work.
Good UX is not just about design. It’s about having good product sense. It’s about having gone through enough trial and error to know which solutions stand the best chance of working.
We also work collaboratively. It’s easy for a dev shop to get stuck in a cycle of fulfilling one-off demands with no time to look at the big picture. We work across silos to bring all parts of the product team together and identify the solution that will achieve the best user experience.
We’ll help your team tap into the true value of UX maturity by helping them consider the entire ecosystem with every decision they make. Let’s talk about how we can help you build a long-term UX mindset so you can build a product that will last.