Functionality: bug-free, user-friendly and smart features
Functionality and great usability are some of the core principles for software developers here at LiteBreeze. This article primarily targets our technical team.
Bug-free, user-friendly and smart functionality and design is ultimately what makes your client successful. And what makes your client successful, makes you and the company successful as well.
Developers naturally tend to concentrate on technical details, and too often overlook the end-user experience. As a developer you spend hundreds of hours working on a software project and therefore know it like the back of your hand. This makes it harder for you to notice any user-unfriendly hurdles that still exist.
New end users on the other hand, will have no pre-existing knowledge about the system you’ve developed. In today’s world people have grown used to extremely user-friendly software. They might only be willing to sacrifice a tiny bit of time trying to understand what you have developed.
If they come across a feature that is not user-friendly and gets stuck, they may give up and move on to an alternative solution such as a competing client’s application.
Focus on the user and all else will follow says it really well. It is the first point in Google’s philosophy of “10 things we know to be true”:
Focus on the user and all else will follow: Since the beginning, we’ve focused on providing the best user experience possible. Whether we’re designing a new Internet browser or a new tweak to the look of the homepage, we take great care to ensure that they will ultimately serve you, rather than our own internal goal or bottom line. Our homepage interface is clear and simple, and pages load instantly. Placement in search results is never sold to anyone, and advertising is not only clearly marked as such, it offers relevant content and is not distracting. And when we build new tools and applications, we believe they should work so well you don’t have to consider how they might have been designed differently.
Put yourself in the shoes of the client, their customers and end-users. Try to see things from their perspective.
How do they use their existing systems? What do they spend/waste the most time on? How can we improve their experience?
Don’t underestimate your own experience. You may have worked on many complex projects and possess much know-how that your client does not. You are the expert.
Many clients may not be aware of what user-friendly and smart features CAN be developed. Take initiative.
Your success with this concept starts with delivering bug-free functionality, then making it user-friendly and ultimately implementing true smart features independently. How can you reach the next level?
Level 1: Bug-free functionality
As mentioned in the value maximization concept, minimizing mistakes is the most rudimentary and effective way of gaining your seniors’ trust.
Bug-free features and careful testing sure sounds obvious, but if you’re in a hurry you may overlook testing your code carefully, from different angles and with different data.
Beware of getting used to seniors who test carefully and provide you with detailed bug lists; never come to rely on them doing your job for you so to speak.
In addition to the benefits listed in value maximization: minimizing mistakes, careful testing is extremely important because it:
- Avoids value destruction: A buggy feature can be a big value destroyer and cause huge losses; imagine a broken sign up process causing the client to lose new customers, incorrect invoices being sent to customers or a broken mass-mail feature that results in lost credibility. If we’ve made mistakes that have big impacts on the client’s business, the client will understandably request us to pay for part of their losses, which can translate into huge costs.
- Ensures timely delivery: A non-functioning feature can delay the launch of a system several days for passive clients. A client may take a day or two to set aside time to sit down and test and if they find a critical bug they need to test again. Avoid this potential source of frustration.
- Saves high-value time: Never rely on someone senior – like project leaders or clients – to test your features for you. Beware of expensive upward delegation. When you deliver bug-free features you will save valuable time that the client can put into running his actual business.
- Gives you better projects: Buggy deliverables would make your client lose confidence in your abilities, reducing the chance that they hand over more work. The work they do hand over will be simple and smaller projects instead of the large challenging projects that we wish to work with. So when you test carefully you will help us win bigger and better projects.
Level 2: user-friendly features (usability)
Minimize the number of steps/clicks required for end-users to carry out a task. Make the interface clear and easy to understand. Guide the end-user through the system.
The system should be intuitive for an end-user and they should never have to ask themselves how to accomplish a certain task in the system, or where to find a feature. This is especially important for the most frequently used features.
Level 3: smart features
Reaching this level means that you have an in-depth understanding of the client’s business and you come up with creative ways of adding great value (utility/usefulness).
You design features in a way that save end-users an aggregate of hundreds or even thousands of hours overtime; an enormous return on investment for your client. You find features that help your client get more customers, retain more customers and sell more to existing customers. Over time we can charge according to the value that you create.
Here is a list of real project examples:
1) A personal finance tool that allows end-users to see how they spend their money by importing bank statements: Instead of letting each end-user categorize their transactions themselves while importing a statement, a category would be auto-suggested to the end-user based on how other end users had categorized transactions with the same description.
Imagine how many total hours are saved for the end-users if 1000 end users won’t have to manually select a category for 1000 transactions every year. That’s potentially two million select box clicks saved per year! And more importantly, it would take a user ≈10 seconds to find the right category for each transaction, which means 2800 hours of saved end-user time per year.
2) Our custom recruitment system was improved with a set of smart features to allow the recruitment team to focus on actual recruiting instead of administration:
- Automatic CURL import of candidate databases saving them from the tedious job of manually copying over data.
- An email feature with templates so that recruiters very easily could email a personalized email. The feature was helpdesk-like so that a recruiter could easily see previous communication history.
- Online aptitude tests allowing us to convince more candidates to take our tests while minimizing administration.
3) Norwegian job advertisement website: There are existing job advertisement websites in Norway that some business users may already have posted their jobs on. We let employers fetch the data they have already submitted to another site by simply entering the URL of that job post. Because submitting the actual job post is the major hurdle of getting started as a business user.
The design is the first impression and therefore important for:
- The client’s success and ability to attract customers.
- Our ability to convince hesitant high-value leads through a neat portfolio of case studies (guidelines).
We can ask for input from top freelance designers. Especially for large, important and budget-insensitive clients. Plan the types of interfaces from the start and make the design consistent to save time.