
Software is an essential requirement of our day today lives. Most people use various devices to use software such as smart phones, tablets, etc. They pick taxis, order food, withdraw cash, and make appointments through various types of software comfortably. There are many software engineering firms available in Sri Lanka to cater the demand generated for software. These firms develop software not only for the Sri Lankan market but also for the international market. In the process of developing software for business purposes, engineers should focus their attention on users. Ultimately, the user should be interested in using the software to fulfill the requirements he or she has. Due to the busy life pattern we all spend, none of us does not like to face any difficulties while operating software. The difficulties faced by users destroy user interest and results in damaging the business. This article addresses qualities of software that are to be developed for users of the next generation. Possession of such qualities will help in generating user interest in software while improving businesses.
- Minimum User Actions
The first factor is how to provide user-software interactions in an effective way keeping the number of actions by users to a minimum. We have seen users having to perform many clicks or having to navigate through many user interfaces to receive what they need. This wastes users’ time while also producing a delay in getting the desired output. It gradually decreases user interest in the software. For example, most of the times, an ATM user who wants to withdraw money has to spend a considerable amount of time inserting the card, entering the pin number, pressing buttons to select language, withdrawing money, etc. The user gets tired due to having to perform many actions to achieve a simple requirement. This should be addressed in a better way by removing unnecessary actions that are to be done by the user. Features such as voice recognition, face recognition, and thumb recognition can be integrated for user verification instead of card or pin number. Furthermore, it is better to use a single user interface effectively for arranging functionalities frequently required by users.
- Standardization
There are many software applications used by people in a day. These apps designed and run by competitors in a particular field offer the same service. For example, people, who have accounts in different banks, use different banking software to perform their daily transactions with relevant banks. The users may face difficulties when they use different apps for the same set of activities owing to the different standards these software applications have. Accordingly, it is necessary to maintain one standard for software applications. Another example is booking taxis through mobile apps: if one app offered by a company is not responding due to the unavailability of taxis, people naturally shift to another app offered by a different company. Here people try to apply the same experience of the first app to use the functionalities of the second app. Then the user is likely to experience inconvenience due to the two different standards in the two apps. In the above statement, ‘standard’ refers to application components, responding style, basic functionalities required, etc.
To illustrate the importance of ‘standard’ further, software applications developed for tourists can be taken into consideration as well. The tourist who needs to reserve a hotel for his tour is likely to feel inconvenienced by having to use several apps with different standards offered by a various number of hotels. When the tourist shifts from one hotel app to another hotel app, he/she expects the same standard of the previous hotel app. When we standardize software, it is important to decide the main requirements and how those requirements should be implemented across several applications. This is also influenced by the type of the business the app offers. For example, all the banking applications should follow one standard so that users do not struggle or are not disappointed while using the app.
- Validation Messages Provided by Software
Validation messages provided by software applications have a significant impact on their users. They signal actions done by users in the course of using the app. These responses influence the behavior of the software user, and we experience several styles of responses/messages provided by software applications. Some of the responses negatively impact on users and it could result in an inconvenience. For example, let us take an instance where a validation message saying “Your order can not be processed” is displayed, while the user is performing an operation in the software application. This message negatively impacts on the user and he/she will be surprised because this message does not provide suggestions for the user to complete his or her order. This will reduce user interest in the software and sometimes it is required to start the operation from scratch instead of continuing from the point it stopped. Software engineers should be more careful in designing validation messages of software applications in order to complete the operations in a way that maintains user interest. Another example is when people search for taxis for booking, the software app continues with the search without giving any response. This is a bad experience for the user, if it is an urgent situation. Accordingly, a better way is to provide a response for the user without wasting the user’s time. One sample response is “Your requested Taxi Type A will be available within 10 minutes or Use Taxi Type B, if it is urgent”. This response guides the user to the next step without disappointing him/her.
- Connectivity
People connect with different software applications in their day-to-day life for different purposes such as ordering, making appointments, reservations, etc., yet it can be seen that there is no connectivity between applications. Users have to feed the same user data to all software applications repetitively at the time of registering for each and every app. This can be eliminated by connecting applications through a common platform. Upon completing that, it is adequate to use one identification method to get the user data stored in a particular platform. This will avoid repetitive entering of user data into software apps. For example, when we use a food ordering application, it is enough to enter NIC or any other form of identification data. It will help in accessing user data such as name, address, mobile number from the common platform and will fill it for new applications. Here it is required to connect the applications to the common platform through Application Programming Interface (API). This also helps in maintaining the same user data set across all software applications. This will also avoid the creation of fake user accounts.
At the end of this article I would like to pay attention of software engineers on developing software applications with qualities which I have focused for next generation users. It will be more comfortable and time saving of users who interact with software applications in day today life.
Dr. Thisara Weerasinghe (Head – Computer Science – School of Computing and Engineering – National Institute of Business Management, Colombo 07)
Source : Ada Derana