Not every development team comes with a designer available. Often the developers decide the user experience around a feature or even a whole product.
In my 6 years as a Web Developer, I have been trying to build better user experiences for web apps. A developer (frontend or not) might not be able to decide on a great design but that won't stop the course of the project.
A great design must always lead to a great user experience.
User Experience (UX) refers to the user's journey when using a product or service. It is can cover anything from how well the user can navigate the product, how easy it is to use, how relevant the content displayed is etc.
As someone building a good user experience, you must empathize with the user. Understand how they feel while interacting with your product or service.
I want to talk about steps to take when a designer or a developer chooses to build a good UX. What questions to ask your client, yourself, your team, and make decisions for a better UX.
1. Why are you building this?
The first question is always, "why are you building this?"
To answer this question, you need to understand if it is an essential feature or not. An essential feature is something without which application is incomplete. In that case, you have to make sure it is easy to use and difficult to make mistakes on.
For an e-commerce system, the product and the checkout page are essential features. They would have the most user interactions than the rest of the system. Hence, they must have a great user experience for users to come back and buy things.
Another example is Instagram, with its image upload and editing feature. As Instagram completely depends on users to upload pictures, they cannot have a bad UX there.
2. Look how popular services do this.
At this point, you know how important your feature is. Now it is time to decide what to build. Looking at popular services should be your first thought as a designer or developer. Even when it is your direct competition and your product is changing the way it worked before.
By looking at popular services you get to see their progress from one design to the next. You will find great insights into the feature. And it is a must that you look at many different popular services. What works for them and what doesn't. And remember what works for them will not always work for you.
If you are thinking of a crucial image upload feature you must look at Instagram, Pinterest. Making an OTT video player, look at Netflix, Hulu, and any service that you use.
3. Deliver a familiar experience if possible
We all go to the same store for our groceries every time, we know the vendor, how it works in the shop, do they take cash or online payments. Having a familiar environment makes it appealing over to any other store. There are times when people even deny a more convenient experience for a more familiar one.
By looking at these popular services you identified what was familiar to your users. This will help you decide when building the experiences that users will appreciate.
4. Where to start
Well, that was research. Let's talk about actually building this now. As a developer, you have 2 approaches.
Find a plugin that does this for you and customize
It is time to find a good plugin or library that does it the way you want. There are a lot of options and most of the time they are customizable to your preferences.
Build it from scratch.
Say you can't find what you needed, then you can build it on your own. Consider the capabilities of your platform or framework and try to build what you need. If you are using a design framework, you might already have the components lying around.
All you need to do now is to build it the way you want it. Remember building from scratch doesn't always mean using the most basic components. Use your frameworks wisely, and you can save a lot of time and effort.
5. Make it modular
This applies whether you built it from scratch or used a plugin. Do not forget to refactor it down to a testable or at least a modular form. That makes sure you have more control over it in this application. And also if you find yourself building something similar in the future you will be able to reuse this.
This is true from button components to a chat window, anything can be a requirement in the future.
Best of luck with all your adventures in building great experiences
Are you an Open Source Enthusiast? Please consider subscribing to my newsletter. Join many other enthusiasts on a journey in building and advancing open-source projects