Android's Achilles' Heel - The Sim Toolkit

Quite a few people, myself included, believe that Android is going to become absolutely huge in Africa.  Here in Rwanda, smartphones are becoming more and more prevalent for the upper tier consumers.  Though the Blackberry is the only smart phone sold by local carriers, it is not uncommon to see unlocked iPhones as well, no less a status symbol here as the rest of the world.

Of course the beauty of Android is that at any moment one of the carriers here could start selling them, unlike the iPhone, Android is open for anybody to sell on any network.  As a matter of fact, I have it on good authority that the biggest carrier here, MTN, will start carrying some Android handsets soon.  And as the price continues to drop, I'm sure they will become just as popular here as they have become in the West.

That is if it wasn't for one giant gotcha: Android's terrible support for the Sim Toolkit.

Now if you live in the States, you might not even know what the STK is, so a bit of explaining is in order.  Put simply, the STK allows carriers to load a simple set of menus and 'applications' on your SIM card.  Again, on your fancy iPhone, you may question the need or purpose for such a thing, but that's because you are still years behind and using a credit card.  Here, where credit cards are virtually unknown, the present and future of payments is Mobile Money, which is almost always delivered via.. you guessed it, the STK.

See, the STK works on virtually any device, from a $5 Alcatel to a $200 Nokia, these phones all implement the GSM standard and therefore allow anybody, both rich and poor to access services like Mobile Money.

Except if you have an Android handset.

Earlier versions of Android, up to 1.6, actually included a rather rough, but functional Sim Toolkit application, but at some point it was dropped, and even Google's own latest and greatest ROM's for its Nexus One and Nexus S handsets lack it.  As a matter of fact, I don't know of any devices running Android 2.3 that include it.

Thankfully, CyanogenMod has been forward porting the Sim Toolkit for a while now, and sure enough, Cyanogen 7.0 still has it.  But it is a buggy and unpleasant experience.  I tried to activate MTN Mobile Money today using my Nexus One, and half way through the process just gave up and used my $5 backup phone instead.  I can access most menus using Cyanogen, but only by force quitting the Sim Toolkit after every request.

I'm not the only one commenting on this, the web is full of people screaming that their fancy new $500 smartphone is too snobby, too highfaluting, to play with the rest of the world.

So here's a clue Google:

If you want Android to be relevant anywhere apart from the West, then start thinking about how we live day to day.  Build a browser that does wire compression before sending it down (oh hai Opera!), give us finer control over when background data is used, give us USSD API support, and for god sake's, implement a 20 year old standard so we can use the services that make our lives more convenient than yours.

32 responses
I have an HTC Desire running Android 2.2 and I do have a Sim Toolkit in Settings...
I think it would be interesting to see how NFC fares on in mobile money.
@quattrofan: In Settings? Are you sure it is the Sim Toolkit? If it is installed it would just be in your Applications 'drawer'. It is possible HTC loads it on some devices, my primary point is that it is both unstable and not supported on the official Google ROM's for their reference handsets, the Nexus series.

@nicholasgot: NFC is going after a pretty different market. That is trying to displace credit cards in the west. You aren't going to see NFC readers become popular anytime soon in Rwanda, there is no infrastructure to support it. Mobile Money works today (look up mPesa), on a wide scale and on even the cheapest devices. All you need is a working Sim Toolkit.

I can confirm that HTC Desire running Android 2.2 has SIM toolkit
I have an i9000 running a custom 2.2.1 Rom (www.romkitchen.org) and the SIM toolkit is one of the options to install with this rom.
Only the google experience Android will not support standard STK, that is to say, to this date, 3 mobiles HTC Magic, Nexus One, Nexus S, not a single of them reaching big volumes.
All the other Android, especially those coming from ODM / OEM, will integrate standard STK natively. Which makes of Android a clear winner when it comes to open OS in Africa.
Did you try with LG's android handset?

I'm UICC engineer of LG handset. as you know UICC means USIM and it includes SIM Toolkit.

I agreed your opinion about lack of android's STK support. but handset maker try to improve native STK service of android's and these days it almost same with feature phone.

Hello
I agree that Android needs to include a good USSD Browser with open APIs, for example one provided by Myriad (http://www.myriadgroup.com/Mobile-Operators/~/link.aspx?_id=9A9066BF0B86423B9...) but I do not think it would help much providing support for an outdated technology like SIM toolkit (more than 10yrs old!). Relying on SIM based apps or techno means very long deployment cycles and going back to the walled garden approach of WAP. Who wants to wait 2 yrs to have a new app deployed ?

You can perfectly implement mobile money transfer through USSD combined with a nice app, and since USSD is operator controlled you can add security to the transactions. But putting back the SIM in the game will only lead to longer delays; just look at NFC, specs have been around since 2005-2006 but since it required apps to be stored on the SIM it introduced an additional compatibility layer and prevented take off.

So yes Google, provide support for USSD, make some deals with operators to allow app developers to use it for apps (as well as SMS as data bearer) !

@cybronics .. I am specifically talking about the African market here, which is huge, and already hugely behind using the SIM toolkit. There's no denying this, and there's no changing it anytime soon either. The installed user bases in Kenya alone are huge and the number of transactions taking place are mind boggling.

In essence, you are making the wrong argument, the SIM toolkit is here to stay, at least for a good while.

That said, it isn't across all handsets. Huwaei and SafariCom have launched a $100 Android handset that does include a SIM toolkit, it's just a mystery why the Nexus series specifically don't support the SIM toolkit.

@nicolas pottier I know the african market, I worked at a startup selling "value added services" to african operators for several years; we later merged with a swiss company building Over the Air Sim platforms so I know what I am talking about.
Specificities of the african market:
- people tend to have several SIMs from different operators to minimize costs, but usually have only one handset as they are expensive
- they are 99% prepaid and buying a SIM is cheap, they do not hold onto the same subscription for very long
So SIM toolkit, which is tied to the SIM card is not the right solution. USSD or SMS services are more portable. Plus all the SIM toolkit apps are developed by the big SIM vendors (Gemalto, G&D/Smarttrust, Oberthur) who are located in Europe or China. This prevents local developers/operators from building their own services independently.
The only interest of STK is that it works (or should work) on all GSM handsets the same, on your 10 years old Nokia 3310 as well as your brand new android phone. If you like having a text based interface that is.
So yes Android should provide "legacy" APIs to allow applications to use SMS, USSD or even voice bearers more easily and operators should provide APIs to their servers so that developers can build adapted services.
@cybronics Come move to East Africa and use any of the mobile money solutions without the SIM toolkit. You can't, end of story. We can all wish that mPesa worked via USSD, or that MTN used some other technology, but they don't, and they aren't likely to switch very soon.

That's that, sorry.

@nicolas I have been a few times in west africa, where they have orange money services. I do not contest that operators are still pushing the SIM as their last "castle" and that SIM card manufacturers are running around saying "Only the SIM is secure!".
So I agree that operators need to provide a solution to allow access to legacy services using STK. That may mean a simple downloadable app that use can get for free on a zero rated APN (gprs access point). Or buying tons of Huawei or ZTE handsets allowing STK menus to be displayed according to the GSM standard (defined in 1995, older than Java !) if they feel like it.
All I am saying is that if google wants to adapt android to requirements of the African market, and enable local developers to build their own apps / services, they should implement some legacy, non IP based technologies like USSD but also negotiate with local operators so they can open up their networks to developers. So that a local business that wants to build an awesome SMS based app can go ahead and build it using android and network APIs and not worry about getting authorization, learning new protocols like UCP or SMPP, etc.
@nicholas I found this article while looking for a solution on this problem. Took me a while to even get this information, MTN / HTC were clueless in responding to my query. Went through a couple if forums discussing this and it seems like it won't be getting fixed anytime soon. I've also resorted to a cheapie as my 2nd phone which I use to conduct my banking. Today we had one of the banks release an app for Android, Apple & BB, hopefully the rest will follow. Even so, that still takes care of some parts of the STK functions. Your post pretty much outlined my frustrations I posted on Mybroadband. Apparently this affects iPhones as well?
For the record, Android supports the SIM Toolkit. It's just an app which makes calls to lower-level libraries, which in turn interfaces with the modem firmware. Here's the source for Stk to prove that Android "has" SIM Toolkit, with releases going back several years since the first Android release: https://github.com/android/platform_packages_apps_stk

The problem is dependent on the handset's RIL implementation. On many devices the radio interface layer is proprietary, so third-party developers only spend time getting the basic stuff like calls, SMS, data, etc working rather than spending all their time reverse engineering some crazy closed-source hardware.

Life sucks. Long live open-source software.

Alan
http://mjanja.co.ke

I have an HTC Desire S with Android 2.3.5 (latest version available OTA, unrooted) and the SIM toolkit is definitely available without 3rd party download. I have no idea how it would be used for money transfers though.
I have sim toolkit on my Google LG Nexus 4 running Jelly Bean 4.2.2.
Actually, in Estonia, sim toolkit is used for digitally signing things like bank transfers etc. I had it working on my nexus 4 couple of weeks ago but now it's gone from the drawer and it doesn't work (some software update i guess). I was able to buy ferry tickets on the road and eventually even rise the toll-bar to enter the harbor with my old galaxy ace but now i'm quite frustrated that i can't even make simple money transfers with my nexus 4.. and that should be the cleanest and most native android there is..
open sim toolkit
I have a Galaxy S2, and cannot find the SIM menu anywhere. I have bought a SIM card for global roaming and need to change my SIM profile through the magical SIM menu, which does not exist. My SIM is now set to be able to roam in the UK, but I am in Bulgaria and about to go to Canada!
Globo support self business luis caudillo velazquez
Globo support self business luis caudillo velazquez
Globo support self business luis caudillo velazquez
you are really a good webmaster. The website loading speed is amazing. It seems that you're doing any unique trick. Also, The contents are masterwork. you've done a wonderful job on this topic! sbobet terpercaya
Hi Nicolas, i live in Kenya (the land of mobile money)..and somehow I woke up today and found my smartphone, a Sony Xperia SP, missing the Sim Toolkit app? Do you know of any workarounds save for having to buy an MPESA-capable dumbphone (which a Safaricom call agent suggested..wtf!!)
Not sure this is still relevant but I'm currently using Android 4.4.4 on 2014 Moto X -- in Vietnam with a VIETTEL SIM -- and I've just discovered a "SIM Toolkit" app in my applications drawer.
7 visitors upvoted this post.