Could USSD have a place on the web?
USSD stands for Unstructured Supplementary Service Data. It is used by GSM phones to communicate with the service provider. Ugandans for example dial *131# to check their prepaid account balance. Ugandans and I assume the vast majority of developing nations use USSD as the main way to access their mobile account information.
Ubiquitous though it is, USSD has a number of limitations that make it seem archaic, something you only use when your users are primarily feature phones owners instead of smartphones owners or have lousy internet connections. This article explores how USSD could be used to improve the user experience on the web and in turn the web can improve the user experience of USSD apps. Let's start with how USSD user experience might be improved with the web.
Improving USSD with the Web
One major limitation of USSD is that the user might have to remember complex codes. For instance on MTN Uganda dialing *165*2*1*1*2000# will let you buy 2000 Ush worth of airtime with your mobile money account, That is not particularly user friendly to remember. Most people will walk through the USSD menu, entering *165# waiting then entering 2, waiting, 1,waiting,1,waiting and so on.
<a href="tel:*165*2*1*1*2000%23">Buy Ush 2000</a>
A link to a url like the one above when clicked in a mobile browser will open the dialer prepopulated with the ussd code *165*2*1*1*2000# this means you can have a link like Buy Ush 2000.
Taking advantage of the web, it is possible to build richer interactive interfaces that build the longer form USSD code for submission.
For an simple Example of this at work for MMI codes check this out on mobile https://yote.app/@obel/USSD/Universal
This might actually save the USSD service provider money. Some networks charge USSD per unit of time. The longer the USSD connection is open the more the network charges the service provider. By not opening the connection until the longer request has been built, money could be saved.
How USSD can help the web.
Perhaps surprisingly, USSD can actually help improve the web experience. USSD will work as long as there is GSM network coverage, even if there is no internet coverage or active data subscription. Progressive Web Apps (PWAs) tend to be built to “fail gracefully” when there is no internet connection. USSD could provide access to remote services even when the internet connection fails. So a PWA e-commerce app might allow you to complete a purchase using USSD instead of an internet connection; No fail needed, graceful or otherwise.