Making small considerations for your end user, can lead to a fantastic product.

Software has always been the medium that bridges the gap between humans and machines. Machines(including computing ones) have always needed humans to run them. From axes to hammers, wheels to cars, calculators to computers – the intention has always been that these would be used or operated by humans. It’s simple really, the power over a machine must belong to the user while simultaneously achieving a purpose. As our lives today are surrounded by machines making our jobs easy – Humans in all aspect of lives have had to increasingly engage with more digital software.

What does this mean for a Product Manager? – Simply put, the success of your product will always depend on two things – Features and Design. Your product features specify the purpose of the software; and design (not just visual but architectural ) defines the user experience. What most often differentiates a successful product from a failed one is not the set of features that are being offered to the users, but the user experience defining the human interaction of the application defining it. This is not say that Features are not important – a beautifully designed ( including architectural design) product that has poor functionality will not please many users. Some of the best apps and products out there are also some of the best examples of user-experience focused software.

In the world of mobile and web applications – how important is this human focus on software? Complex web and mobile applications that require the user to interact with various aspects in the:

User Interface need not only be beautiful but also needs to be intuitive, interactive as well as well as simplified. Moving beyond the visuals – the complex application must also be robust, and be able to handle exceptions and errors gracefully while prompting and guiding the user in a non-obstructive manner. Now imagine an application that does none of what I just described above. An app full of features, that does not handle exceptions, puts annoying conditions on their users, breaks down in case of errors and does not consider a users human reality in the applications’ implementation design.

Each new product aspires to address a gap that exists in the market or it may try to replace or compete with an existing product. In this scheme, each product is designed to bridge the gap. There is however another ‘gap’ that must be considered while creating the product, the gap between the reality of the products actual usage by humans and how they are designed to be used. There are two ways this gap can be bridged:

a) Training people on the software / app.
b) Making software people friendly and intuitive or as i’d like to say Human

Usually, a combination of the above two strategies is useful. What makes users learn a new software application is clearly driven by the incentive of using the software. On enterprise softwares, the incentive is often to obtain a skill to enhance productivity at work. On more personal software apps – for example games, entertainment and lifestyle apps etc, the incentive is more personal in nature.

Some of the things that make a users life easy while using a software are :

a) Extensive help documentation this is particularly useful for enterprise level software
b) Tool tips – that allow quick and easy access to information that assists users all the while they are navigating the application.
c) Keeping distractions low and organizing various app sections into meaningful groups

From an architectural perspective, this would mean:

Speed and efficiency – achieved through code compactness and code re-usability, ie. a focus on reduced throughput. – Impact on User: Less waiting time.
Reliability – achieved through robust infrastructure and scalability of the application.
Impact on User: Ensures availability of service on demand, always
Robustness – minimizing the number of unhandled errors, achieved through a dedicated focus on Quality Assurance
Impact on User: Reduces frustrations of users in case of errors, hand-holds the user to help them get the right way to proceed.

At SourceFuse, our objective is always to guide our clients and every potential customer – towards what makes for a successful product. Which is why we build teams that focus on marrying both; a bottom-up approach for User Interface and User Experience and a top-down approach for System Architecture and best practices of application development, because we know that we are always building software for humans.