5 Ways to Make a Better Software

Has it happened to you?

Example of Software designed by Programmers

Example of Software designed by Programmers

Your company implements a new software system, and it’s hard enough that you have to learn how to use something new. Add to that, the customer interface is difficult to use. It doesn’t all fit on your screen, and the menus aren’t clear. You’re spending half of your time scrolling across your screen and getting the wrong prompts because you misunderstood the menu.

As a software designer or developer, you’ve worked really hard to design a great piece of software. From specs & requirements, to mockups & wireframes all the way to the final design. You and your team have spent countless man hours making the project something that you can be proud of. You’ve tested, you’ve found bugs, and you’ve fixed them. The software runs like a dream and most importantly, it does everything the stakeholders or customers want it to do.

The thing is, you’ve done all of that testing from the developers point of view. This is an essential point of view when you’re in the development process, but, chances are, your end users aren’t developers. Out of all the apps on the market today, a stunning six in ten don’t have a intuitive user interface-which means those products aren’t being referred to other people, or upgraded to pricier versions sold via OEM deals etc.

Here are some tips to help implement a more positive user interface for your software.

1. Do End-User Testing

In designing software, one of the most commonly overlooked parts of the process is testing the user experience. Yes, your software is great-maybe it’s even revolutionary. But no one is going to make full use of your software if you’ve made it difficult to use, or not bothered to test. Testing of the customer interaction experience is something that should be considered a mandatory part of your software design and development process. There are literally thousands and thousands of design flaws in all kinds of software, but let me just give a small example of what I mean when users experience was missed in part or in whole.

Case in point example:

When Windows 8 Preview was released, Developers rushed to try out their new beloved Operating System. During this time the one of the most search phrases trending was “How to shut down Windows 8”. Even I was searching for this piece of functionality being a power-user!

Common Users Stress Point

Common Users Stress Point

Think about that for a moment. Users did not know, or couldn’t figure out how to shut down a Windows 8 computer. I’m not talking about new Windows users, I’m talking about Windows Power Users class of people who burn ISO’s and just whizz past installation screens. These users don’t need manuals and they figure it out just by poking around. In this case, they had to resort to the search engine for the solution.

Of course they found the solution and users had to perform only 4 steps to shut the new Windows 8 OS down but the hundreds if not thousands of engineers working on Windows 8, thought nothing of it. They felt it was like second nature to shut down Windows.

Once you know where the Shut Down button is located, then it’s not a big deal but the initial frustration caused, has a long lasting effect on how people view your software.

How can you avoid this type of mess?

  • Step away and let someone else use the software while you record it. (stay silent)
  • Setup your own Consumer Preview that has a hard coded expiration date.
  • Take the feedback seriously rather than defensively (for some, this is equivalent to someone criticizing your child)

You need to “step-away”. You’re too close to the system. You’re not the end-user.

2. Narrow Down to Focus!

Sitting down and building a client profile will help you determine how your customer is going to experience your product. I once downloaded a beautifully designed cocktails app that let you input what you had in your bar/kitchen, and would give you cocktail recipes based on ingredients. However, you couldn’t just enter “vodka” or “gin” you had to enter “Brand Name Vodka” for the app to work. So as you can imagine, it would take a long time just to enter an ingredient as I had to take the time to read my brand names and then correctly enter them. I did not purchase the app at the end of my free trial period because their user interface requested information I didn’t have time to give them. It wasn’t useful to me, and didn’t give me a positive user experience. Even though I was sold on the eye-candy of the app, usability was a negative experience. Total time on app: less than 3 minutes!

If you make any software, you obviously start with a target market in your head. You just can’t say “Everybody can use this.” Of course everybody can use it, but if you sit down and think about it, every software has a target market. Focus on that market first and then expand to the “Everybody.” Chances are, you’ll never get to “Everybody.”

For example, If your software is geared towards busy professionals, keep that in mind. They need to access things quicker; they need the information to be at their fingertips, the time to access the data they need constantly needs to be shortened. These things are important to that group.

  • Figure out your target.
  • Point your “Features” gun to be laser-focused on this target market.
  • Until you hit a good revenue stream on this target, don’t worry about the other targets.

3. Set A Firm Standard

Once you’ve determined your end user, you can set a standard that allows your developers to build parts of the user interface in a way that will be uniform throughout this and future versions of your software. This way, your users don’t have to change their workflow process when they update. While updates are necessary, it’s important to make it as seamless as possible for your end-users. By creating a standard, you insure that your clients will remain happy as you improve their service!

We have seen both small developers as well big companies make drastic changes to their user interface where it has a highly negative effect rather than a positive one. Even though changes are usually made to take complicated user interface to a simpler level, customers who were used to working with the software in a certain way now feel completely lost and deserted. Avoid drastic changes as much as possible, unless stakeholders or customers demand it.

Choose the option of gradually introducing a new user interface or interactions This sends the signal to the users that the developers are listening to the users, trying to keep the workflow basically the same without losing valuable time in the new user interface learning.

Taking Microsoft Office as an example, most people know their way around the ribbon bar introduced by Microsoft with Office 2007. In today’s software space you see a proliferation of numerous software’s using or changing over to the ribbon bar paradigm. When users see a ribbon bar, they automatically feel comfortable with the user interface since they have already been using it in their Microsoft Office version. This is how Microsoft has set a standard.

  • Find your standard. (UI, Customer Phone Support, etc.) It can be anything but adhere to it.
  • Gradual change is much more productive than abrupt. Think twice if you need it.

4.  Use the K.I.S.S. System

Keep It Super Simple. This is a guaranteed way to make the experience positive for your users. When developing options for your menus, are you using terms that everyone can understand, or are you using developer speak? You need to design your product for the end-user. What you put out is going to be different if you’re designing an app for a busy mom whose juggling her schedule than if you’re designing something for an astronaut to use while in-flight. The mom needs a menu that is quick, responsive, and doesn’t require much input from her. An astronaut may need something that allows him to type multiple lines of text or perform complex equations.

Case in point example:

Apple has an incredibly unique way of taking a complex idea and converting it into an easy to understand thought-form for everyone! They don’t tell you any of the technicalities behind it, they just tell you how it can improve your life.

The new ApplePay system introduced with iPhone 6, where you don’t need to carry your wallet anymore and you pay simply by waving your iPhone at the ApplePay terminal & you’re done! Amazing and groundbreaking, right? It sure is. I told my wife about ApplePay and she immediately wanted the iPhone 6. I told that her current smart phone already has the Near Field Communication chip! She looked at me like I was from Mars.

Point being, other smartphones have had these capabilities for years before Apple introduced it. They called it NFC or Near Field Communication. A special chip embedded into the logic board. Who wants to know about Near Field Communication chips when all I want to do is pay & eat my hamburger at McDonalds? This is how Apple simplifies things for the end-users. Complicated jargon not needed, unless that’s your target market.

When developing your own software, check your target market and develop the process accordingly to simplify it for the end users, even small and gradual steps will go far.

5.  Talk to your users, not at them

Have you ever used a piece of software or an app that made you feel stupid? Did you enjoy the process? It can be hard to find the balance between giving clear, concise directions, and making the end-user feel like they should have been able to figure this out in the first place. People are far more willing to keep using a product that doesn’t make them feel bad while they use it, than they are to keep using one that makes them feel dumb. Don’t use condescending language or talk down to your users. Also if your English is not so good, then a proper native translation would be in the order.

Designing a piece of software with a great user interface may require some out of the box thinking. It’s important that you make your product do what you’ve promised it will do, without making the user need to jump through hoops to get it to perform. You need to make it easy to enter information, you need to make the menu language something that is universally understood, and you need to invest in the time and effort that it takes to have outside beta testers come in, with a focus on the user interface. In the end, the product that you release will be superior to the 60% of apps out there that haven’t gone through that important step!

Here are some of the things that I have learned in my software development time to make a great & successful software

  • Consistent and Intuitive User Interface.
  • Fast & Responsive User Interface.
  • Properly handled error messages
  • No Information overload.
  • Regular Updates for consumer software
  • Respond to customer support within 24 hours.
  • Remote Desktop into their PC and solve it for them.

Thanks for reading and Let me know if you have come across really bad software design or have a suggestion on something to add to this article.