A few weeks ago, RURA, Rwanda's Utilities Regulatory Agency, announced the new procedures for acquiring short codes in the country. Short codes are just that, short (four digit for our purposes) phone numbers which allow companies and organizations to build services which are more easily accessible to the general public. Instead of having to dial a 10 digit number, a user can instead use a shorter four digit number.
Short codes also serve the purpose of allowing services to be deployed across carriers. To build a reliable SMS service, such as the ones Nyaruka builds, you need to integrate with the carrier's SMSC. Each carrier has it's own SMSC, and that's where SMS'es get routed on their network, or alternatively crosses to another network. If you want to build an SMS service that works well on all networks, you need to integrate with each of these, and you need a shortcode to make it easy for the customer to access them all.
Old Procedures
In Rwanda thus far, acquiring short codes has been a pretty easy affair. You just put in a request to RURA for a new shortcode, along with your intended use and a week or two later they reserve a new four digit number for you. This worked but posed some problems, both for us as customers of RURA and for RURA themselves.
For RURA, because short codes had no cost to them, there wasn't much incentive for companies to use them wisely, or even wait until they had a business plan to acquire them. Worse yet, with no maintenance fee, short codes would often lay stagnant, unused, but still reserved and unavailable to use. That's a real problem when there are only 10,000 short codes available.
For companies, RURA didn't have any procedures for us to pick our own short codes. Instead, you would include seven or eight different short codes you'd be happy with in your request, but more often than not you were just assigned a random shortcode. Not a great outcome if you are trying to build a consumer facing service.
New Procedures
The new procedures that RURA announced should go a long way towards solving both of these issues. But before getting into that, I must first commend RURA for making both the presentation and the application form easily available on their site, this is great to see and shows a real willingness to operate openly. Even more importantly, I was also really impressed with how they presented the new plan, inviting all the stakeholders to a meeting and allowing for lots of feedback and discussion. Very well done.
The main change, as expected, are that short codes will no longer be free, but instead require a yearly maintenance fee. This is a good change, as it now rightly discourages squatters from taking over short codes. In addition, it now means that you will be able to request a specific short code and if free, receive it.
The new fee structure is 25,000 RWFs as an application fee, then either a $200 USD or $1,000 USD yearly maintenance fee for the short code, depending on what category it falls in. $200 short codes are reserved for what RURA calls "Customer Information Services" and here I think they will run into trouble, as it is not immediately clear what falls under that category.
Although not in the slides, further discussion with RURA at the meeting leads us to believe that RURA is reserving the $200 fee for short codes which are less desirable and used for non-profit purposes. But again, this is a hard thing to define, there is no bright line rule that works well, especially as more and more SMS services are trying to support their programs by deploying premium or normal rated SMS services.
Our Comments
Although we are fine with the plan as presented, I think a better option would have been to just define different classes of short codes based on their desirability, and charge differently based on those, regardless of purpose. For example, RURA could have said any short code with only one digit, say: "1111" would be $2,000 a year, those with two pairs or consecutive digits, say: "1234" or "2020" would be $1,000 a year. Those with two different digits, say "1112" would be $500, and all others would be $200.
That kind of fee structure would allow small businesses to still acquire short codes at reasonable prices when first starting up, and later graduate to a nicer shortcode. It also removes the very subjective measure of what is a "Customer Information Service" and instead makes the pricing completely transparent, which is always a good thing.
But even if it isn't quite perfect in our view, the new procedure is much better than before, and having a yearly maintenance fee should go a long way towards freeing up desirable short codes which aren't in active use.
Online Registration
One of the things that was both good and disheartening to hear was that RURA was also planning to launch an online registration system for short codes. This is great news, as it is one thing that really doesn't work well currently. In order to be able to pick a short code, you really want an up to date website which lists all the short codes already taken, letting you weigh the pros and cons of those still available. So having an online database and registration form is a huge step towards making the process both streamlined and more useful for customers.
The disappointment comes in that Nyaruka built such a system specifically for RURA and presented it to them back in May of this year. We had experienced a lot of the pains in the old paper procedure for short code registration, so we decided to build something better. Emile spent about a month thinking through the problem and building the site, and we presented it to RURA, offering it for free save for any further customizations and a small hosting fee.
RURA seems to have decided to go their own way on this, as is certainly their right, but it is a bit disheartening to see. We haven't seen the system that RURA itself will deploy, but I hope it does a better job than ours, and I hope it launches before the November 30th deadline for applications for existing shortcodes.
Speaking of which, here's the demo video we put together for that system. Built, designed, and coded in Rwanda by a Rwandan. Even if it never gets used, I'm proud of the work Emile did in thinking through the problem and implementing it.