keeping computers busy

Last month was quite busy, and this month looks set to be the same, but I did find one thing worth ranting about.

It appears that MTN Nigeria is running some kind of promo (as most networks in Nigeria often do). This time, you get one free SMS for each SMS you send to a number on the MTN network.

It is rather strange that they portray this as such, because to me (and I guess, any other person), the net effect of this "promo" is that  "they have simply halved the cost of SMS to numbers on the same network".

In an ideal world, all they need to do to implement this is go to their billing platform, and edit the cost per (on net) SMS, halving the current value. They can revert this whenever they decide to retract their benevolence.

[Take this paragraph with a grain of salt. I know little about GSM networks, I am only relaying how a computer programmer might solve this problem in the form in which they seem to have solved it, which is ‘giving the user one free SMS for every on net SMS they send’ ]
In their infinite wisdom however, it appears that they’ve gone and implemented some processing logic, which first of all, needs help from a database to store the "free" SMS count for each user (they have tens of millions of active users), and which every time an sms is sent, gets executed in order to determine whether or not the SMS was an on net SMS, and then to increment, or decrement the "free" SMS count as necessary, all this while dutifully applying their incongruous pricing regime. (*)

This looks like a good way to further increase perceived waiting time (and possibly network timeouts) for users of this network service.

Perhaps CPU time has never been scarce for them. Bravo!

This has been a recount of a supposedly sub-optimal solution to an arguably simple problem.

(*) This might amount to significant processing requirements if you factor in the number of SMS that need to be processed every instant, and the fact that they seem to love the Java programming language, which is not particularly a speed king, and the fact that it needs to access and manipulate a database with millions of records in it

Random quote: "To vacillate or not to vacillate, that is the question … or is it?"

Leave a Reply