The Fine Art of Balancing Usability with Functionality

When it comes to developing software, there’s no such thing as one-size-fits-all. In fact, one of the toughest jobs for any developer is to create software workflows that are simple for beginners, but also scalable enough for advanced users. In today's article, we’ll explore how to strike this delicate balance.

This software balancing act really comes down to two things: usability and functionality. The former refers to making applications easy to use from the starting blocks, so even brand new users can navigate the software with relative ease. The former, on the other hand, refers to providing the maximum number of functions to the user – thereby making the software more powerful and, arguably, better at its job. So let's jump in and explore some strategies that developers can use to keep this balance on an even keel.

Strategy #1: Cater to both audiences

Perhaps the preferred solution for users and developers alike, the first strategy we’ll discuss is the idea of building the software with no restrictions at all, and then locking down advanced functions. For example, imagine a piece of software for connecting to the internet; for most users, it’s a matter of typing in the Wi-Fi password and clicking a button. But advanced users may want to configure DNS settings, static IP addresses, and so on. In this case, it’s easy for a developer to create a menu of functions in a dedicated Advanced section accessible by a single button. To spin this another way, developers may even want to create two modes which users can toggle between: basic and advanced. This way, the decision is with the user, making the software more flexible.

Strategy #2: Signpost the software

Love ‘em or hate ‘em, there’s no denying that tooltips and other forms of text guidance in software perform a valuable function. This form of signposting is particularly handy when it comes to guiding users who may be new to the application. In fact, in many businesses, UX (user experience) designers are being paired with UX copywriters whose job it is to write this text that informs and instructs users in how to achieve their goals in the software. In the best cases, this text-based content can be bolstered with videos and only made visible when the user explicitly asks for assistance – hence the necessity for clickable tooltips. By signposting applications in a smart way, developers are able to make even advanced functions accessible to beginners – effectively striking the all-important balance between usability and functionality.

Strategy #3: Keep things simple

There’s a reason that those UX designers we mentioned earlier exist, and much of it has to do with some developers’ tendencies to ‘kitchen sink’ software development. It makes sense, doesn’t it? If you’re developing a tool to perform a specific task, you naturally want it to carry out as many ancillary functions as possible at the same time. But from a development (and user experience) point of view, this can lead to cluttered interfaces which can be off-putting to users. One solution to this problem is to focus on usability first, by designing a UI which caters to the core function of the software, and then add options which increase functionality at the request of the user. For example, imagine you have a list of rows where users can type in up to 100 product names. You could include 100 empty rows to give the user room, but it may be better to start with 5 empty rows, then add a simple + button to manually add more empty rows. This is just one small example, but it speaks to a design philosophy that manages to balance usability and functionality in a very real way.  

Do you have any pet peeves when it comes to software ease-of-use? Whether you're a beginner feeling a little swamped or an advanced user frustrated with lack of functionality, we'd love to hear from you in the comments below or via social media. And of course, if you'd like to know more about the smart way that our team at BTC develops software, explore our website now or call any time on 0208 144 3900.

5 Things to Consider When Driving Adoption for New Software

Nobody likes change, and nowhere is that more true than the world of software.  Consider the public reaction when popular sites like YouTube or Facebook change their layout. But just because something is new doesn’t mean it’s something to avoid – and in many cases, it would actively help the user.

Low adoption rates can be the bane of any software company, but there are plenty of tactics you can employ to drive greater adoption without too much added stress. Here are some easy ways to boost your software adoption.  

1. Position your software as a ‘push’ or a ‘pull’

Broadly speaking, there are two different ways that new software will be adopted by staff: either it’s ‘pushed’ on them by company policy, or they’re ‘pulled’ towards it by virtue of the fact that it genuinely helps them do their job. When trying to maximise new software adoption, it’s always a good idea to focus on the benefits to the user – both in the short and long term.

2.  Ensure your users actually need it

Before you even consider a change in software solutions, be sure that your users really need it. Generally speaking, you should avoid making changes for the sake of making changes. One idea is to run a survey prior to development to identify the level of need for the new software. If workflows are working just fine as they are, you’ll have your answer – and vice versa. 

3.  Find your champions

It is inevitable that some users will be more engaged than others; leverage this by convincing them to become your ‘champions’ who are willing to promote the benefits of it, train other users and provide comprehensive feedback.  Be prepared to offer 'sweeteners' such as specific features that they will benefit from in order to get these users on board.  Front-line champions are vital to successful adoption.

4.  Keep your roadmap open

It’s never fun to fumble around in the dark, and the same can be said for software. To get users both using and engaging with new software, it’s a good idea to be open and honest about the product’s roadmap. By signposting key features that will be available down the line, you can encourage users to make the most of software now, so that they can hit the ground running when the ‘killer feature’ they really want is introduced.

5.  Focus on a smooth user experience from day one

Software is always easier to adapt to when it just works. There are few better ways to guarantee low adoption than to provide software which is buggy, crashes often, or just doesn’t work the way it’s supposed to. Smooth adoption happens when you create that magic balance of software that improves workflows, and does it in a way that’s fast, smooth, and easy. 

These are just a handful of ways you can improve user adoption of your software. For more ways to make software even easier to use, get in touch with us today. 

What Makes BTC Different?

Building a business from the ground up is no small task. But with a little technical know-how, a pinch of luck, and a lot of hard work, Better Technology Consulting is truly here to stay. In today’s blog post, we’d like to explain a little about where we came from – and exactly how our past helps us stay focused on our future.  

Better Technology Consulting (BTC) is the brainchild of a technology geek who spent years as both a City trader and management consultant.  After getting bored of the "intangible" solutions that many consultancies were selling with little measurable impact, he soon realised that he could leverage his experience and channel it into developing real solutions for a huge range of companies, particularly by streamlining and automating processes through smart use of technology.

Smart. Simple. Focused.

So how exactly does BTC set itself apart from the pack? Well, we like to think there are multiple answers to that question, but there’s one that’s at the heart of every project – and that’s client-focus.

We don’t mean simply looking at what a business needs strategically in the long-term, but also looking at a more granular level by engaging with the users themselves. It’s amazing how quickly core issues can be identified when we see them first-hand.

Here’s a good example of this: one of our national clients had a few problems with a shared MS Excel spreadsheet that its sales teams were using. Put simply, there were too many people trying to use it at once, which made it slow, unstable and a pain to use.   The client suggested that we upgrade it to an MS Access-based database, however we knew that meant that each salesperson (who could be based anywhere) would need to be using a computer with MS Access installed in order to update their sales.  

After we spoke to the end-users themselves, it became apparent that the ideal solution would be something that could be updated from anywhere, and not require any new software.  Alongside that, a few extra requests cropped up, such as in-built reporting. 

Our solution? To develop a bespoke web-based application that could be accessed from anywhere with a connection to the client’s VPN (for security) and would grow with the team. A separate section on the website would host the in-built reporting and breakdowns and that was updated in real-time, every time a user entered information.  It didn’t take long for our client to accept our proposal and hop on board.

“Start small, and work with agility”

There’s an inherent risk with any software project that what you plan for might not be what you really need. Rather than waiting until the testing phase to discover potential pitfalls, here at BTC we do things a little differently. (And, dare we say it, better).

As part of our standard practice, we get involved in the design process as early as possible. This allows us to crystallise the essence of the project up-front. We start with a small team to keep initial costs down, then quickly create a working prototype of our proposed solution. This part is essential, because if everything goes right, the bulk of the budget can then be dedicated to something we already know will work.

Smart stuff, eh? At BTC, we use the well-known Agile methodology, meaning we develop in bite-sized chunks with time set aside for testing and feedback. This gives clients directional control of development, and keeps everyone on-target every step of the way.

Laying the groundwork for the road ahead

At BTC, we’re not satisfied until we’re sure our software is being used to its full potential. The best app in the world won’t do anyone any good if nobody uses it, which is why we focus on user adoption from an early stage.   We have a number of tools in our toolkit that we use to drive adoption early on, including a focus on the direct benefit to the user, documentation, training videos, and live demos.

We lay the groundwork from the start to ensure that the road ahead is smooth for both the software and the people who are actually using it every day. Even better, our unique design philosophy means that the software we deliver can be expanded and upgraded should the need arise.

It’s all part and parcel of the BTC philosophy, and it’s just one of the reasons that we’re the perfect choice for business software solutions.

The BTC team is always interested in what the community has to say, so please feel free to share, like, or let us know what you think in the comments below. Want to know even more about BTC? Don’t hesitate to check out the rest of our website or get in touch for a quick chat about your project.