Unstructured Supplementary Service Data (USSD) is a proven service delivery channel for many businesses in low income countries. Internet connectivity in these countries is relatively low compared to the rest of the world. Based on some UN figures, Africa and Asia have 39.3% and 53.6% internet penetration respectively. Many businesses, especially financial services often adopt USSD as a service channel due to its cost-effectiveness and wider reach. This article shares tips on how to improve user experience on USSD applications.
-
Keep Language Simple.
USSD is limited to 182 characters per menu (some networks have a lower number). As a result, there's limited space for texts on a USSD app compared to a web or a mobile app. Given this limitation, it is very important to keep your menu text simple. Use short action words that are easy to remember. Eg: Open Account; Transfer Money; Buy Airtime; Search Event: [Action Verb] [Noun]. Avoid long sentences that may have more than two words such as Please Create Your Account (Create Account is better). You should also avoid long menu item list to prevent your menus from being truncated on certain mobile handsets. One major advantage of USSD is reach, the challenge with reach is that not all the handsets that consume your service are equal. On one hand, you will have handsets that are smart and may not have any problem displaying your menus. On the other hand, you will have low-end handsets with smaller screens that cannot display the entire menu to users thereby cutting off some texts that are below the fold. Hence, it is advisable to keep your menu list reasonably short - a maximum of 5 items per menu should suffice. In case you have more important items; you can place them beneath major menu items. This may present another problem of too many levels to navigate but the choice remains yours.
-
Auto-dialing
As already mentioned, USSD increases reach. With reach, comes all kinds of users: both literate and non-literate; who have their special needs. It is most likely that many non-literate users may be numerate. For example, an 80 yr. old non-literate grandmother in the village may know that to send money, you dial * 170 #, then select 1, then enter amount and finally enter the number you want to send the amount to. She may not be able to make sense of the phrase 'Transfer Money'. Auto dialing can help non-literate users who are more numerate to use only numbers to perform transactions. This allows users to skip menu navigation by just dialing numbers. For example, * 170 * 1 * [amount] * [number to send to] #. This feature may also be useful for regular users who are familiar with your menu flow and may find it boring navigating the menus to perform transactions. They can skip menu navigation to save some time by just auto dialing.
-
Pagination
Pagination allows users to navigate back to previously visited USSD menus. By default, USSD doesn't allow users to navigate back to previous menus. Special characters can be reserved for paginated menu items to link back to a previous menu. Eg # Home, * Back.
-
Speed
Speed is a critical feature of USSD applications. Poor speed can be a nightmare for users of essential services like banking. It has other rippling effects such as session drops and may even cause users to make serious mistakes. If USSD menus load faster, then sessions are less likely to drop and users can quickly perform transactions and get on with their lives. Many factors are out of control for USSD service providers: the handset brand, the operating system of the handset, the telecom operator and sometimes an aggregator. You have the responsibility to implement your service in a way that will mitigate any errors that are out of your control. You should do your best to optimise your application's performance to deliver the best speed to your users. General techniques used to optimize application performance can also be leveraged to make your USSD application performant such as caching and better server configuration management.
-
Session Storage
Some services have so many menu levels to navigate. These long levels can sometimes cause sessions to drop abruptly. USSD doesn't store sessions on the mobile handset so it is very annoying for a user to retry after a session drop and experience it again and again. To mitigate this bad experience, user sessions can be stored on the server-side so that in case of a session drop, a user can redial and begin from the last menu activity.