I was asked to prepare a talk for a Mobile Entrepreneurship class in Kenya, and decided to share the talk in my blog.
You can listen to an audio recording of the original talk at the end of this post (provided that you have a browser that supports HTML5).
I’ve built stand alone web applications before, but you have to spend lots of time and resources to try and make a web application discoverable, and growing your user base organically can take a long time, unless you’re prepared to spend lots of money on advertising.
Last year I started building applications for the Mxit platform. For those of you who don’t already know, Mxit is the largest social network in Africa.
The biggest advantage of building apps on the Mxit platform, is that you can leverage their existing user base of more than 10 million active users, and grow your application organically pretty quickly.
Another advantage is that Mxit only uses a very small subset of HTML, and you don’t have to worry about things like CSS or cross browser compatibility, so you can turn apps around very quickly.
At first I started building applications in my spare time, while working a full time day job, but eventually my applications started generating enough revenue that they were able to fully sustain my living expenses, and I quit my day job and am now developing mobile applications full time.
To date I have developed 5 applications for the Mxit platform, of which 4 were successful and 1 was a failure.
These applications are:
- People Pets - A photo based role playing game where people can adopt each other as pets.
- Hangman - A hangman game, where people compete to reach the top of the leaderboard and win prizes.
- Movie Review - An application where users can review movies and read movie reviews.
- KookyKardz - A facial recognition application where users can turn their photos into greeting cards. I worked on this as a collaboration with the guys from Appceptional
- World Flags - An educational game, where users guess the country of the flag that is shown and compete against each other to reach the top of one of the leaderboards.
One of the biggest mistakes I made with my first application was to include too many features. Since then I have used the MVP (Minimal Viable Product) approach, and iterate quickly.
Some of the best ideas for enhancements have come from feedback provided by my users, so I strongly advise adding a feedback feature to your applications.
More about Mxit
When building Mxit apps, you can either choose to use the .NET SDK or to build a Mobi Portal. I don’t have any experience with .NET so I chose to go the Mobi Portal route, because you can use any programming language of your choice.
The Open Source community has released lots of code examples in PHP and Ruby. There is also a Wordpress plugin called MxPress which can transform Wordpress sites into Mxit applications.
Last year Mxit launched some APIs which allow developers to be able to access a wide range of features within the Mxit environment.
You can host your applications with any hosting provider of your choice, but I recommend getting a solution that will be able to cope if all 10 million Mxit users start using it. Generally small VPS instances aren’t able to cope with this amount of load.
I initially started using Amazon AWS, but unfortunately AWS can be very expensive, so I decided to get some dedicated servers from Hetzner in Germany instead. You get excellent value for money with Hetzner. For example my latest server has an Intel Quad-Core i7-2600 processor, 32Gb of DDR3 RAM, and 2 x 3TB SATA 6Gb/second hard disks, with unlimited traffic for only 59 Euros per month.
I find that games are generally more successful than regular applications, unless you build an application that is able to empower the feature phone and provide smart phone type functionality on a feature phone. One such application is MxPix, which basically brings Instagram type functionality to feature phones.
The users on the Mxit platform are extremely competitive, so I found that adding a leaderboard to my applications helps improve engagement, since everyone wants to be number 1 on the leaderboard.
Another method of improving user engagement is to award prizes. I started off awarding small prizes, but as my apps started generating more revenue, I increased the number and frequency of prizes.
With the new Messaging API, you can also improve user engagement by sending regular messages to your user base. The messaging API only allows you to send messages to users who have added your application as a contact. You can’t send messages to people who have not used your application, or have removed your application.
One of the biggest lessons I have learnt along the way is to try to avoid displaying user generated content to other users, otherwise you have to spend many valuable hours moderating content.
Mxit has a virtual currency called Moola. They have a Billing API that enables developers to charge users Moola within their applications.
The biggest problem with using Moola is that premium SMS is used to bill Moola against the airtime of a user. Premium rate SMS has a huge disadvantage in that the operators take up to 50% of the revenue that is generated. Mxit then take a 30% revenue share on the remaining 50%, leaving the developer with just 70% of the remaining 50%, which means that you only earn about 35c for every R1 earned in your application.
I began by charging Moola for almost every action within my People Pets application, but most of my users sent me feedback saying they couldn’t afford to buy Moola and asked me to make things free. I wasn’t generating much revenue at the time. The Moola revenue generated wasn’t even sufficient to cover my hosting fees, so I decided that I needed to try and find an alternative revenue stream.
This is when I decided to implement advertising in my apps as a source of revenue. I discovered that Mxit users tend to click on ads more often than ads served in a regular web application. I then made almost every action in my People Pets application free, with the odd exception, and my user engagement went up by about 300% and I started generating a pretty reasonable stream of income.
I found that the following advertising platforms work pretty well within Mxit:
Shinka are the preferred advertising platform for Mxit, and will soon be the sole advertising platform on Mxit. I strongly recommend using Shinka if you’re building a new application, but will share my experiences with the others as well.
If you use Inmobi or Buzzcity, you earn 100% of the Publisher revenue and don’t need to split the revenue with Mxit, because they have no way of knowing how much revenue you are actually earning, but the quality of the ads on Buzzcity is somewhat questionable and Inmobi’s ad campaigns run dry before mid day, so I strongly recommend using Shinka instead. Shinka and Mxit are both part of the World of Avatar, so Shinka have enforced a revenue split with Mxit, where the developer earns 70% of the Publisher revenue and Mxit earns the remaining 30%. Unfortunately the dashboard which is made available to Publishers can be extremely confusing because it shows the full 100% Publisher revenue, instead of only showing the 70% that you’re actually earning. Although you only earn 70% of the Publisher revenue with Shinka, I still earn more money using Shinka than any of the other advertising platforms, so would recommend using Shinka rather than any of the others.
Inmobi and Buzzcity are both international, and revenue is paid in US dollars. Shinka is South African and pays in South African Rand.
Inmobi used to generate the most revenue when they still had offices in Africa, but since they pulled out of Africa, I don’t generate much revenue with them and their service also isn’t as good as it used to be, so I would recommend that you avoid using Inmobi.
I then switched to Buzzcity, but had to disable the “Dating and Glamour” category, otherwise I would receive porn ads in my applications, and Mxit terms and conditions prohibit porn. Unfortunately Buzzcity also have lots of WhatsApp ads, and obviously Mxit don’t like this, since they consider WhatsApp as a competitor, so they have been issuing developers with warnings to remove WhatsApp ads from their applications within 24 hours or risk having their applications unpublished. Buzzcity only make payments once your Publisher revenue reaches at least 200 US dollars.
When I first started using Shinka, I had some problems with my clicks being discarded, but was fortunate enough to meet with their CEO, who provided me with some PHP code which was slightly different than the code that I had been using previously. One of the main things I was unaware of, was that either the banner images had to be resized for different device screen widths or 3 different ad unit sizes had to be set up to support various different device widths, so it was actually a mistake that I had made, and not the fault of Shinka.
I am having much greater success since implementing the new code, and Shinka is now my advertising platform of choice, not only because they generate higher revenue than any other advertising network, but also because Mxit plan on making them the sole advertising network for the Mxit platform later this year, so I strongly recommend using Shinka when building new Mxit applications.
Receiving Your Revenue
I use Paypal to receive my payments from Inmobi and Buzzcity, which make payments in US dollars.
Paypal don’t charge any commission on payments received from Inmobi, but do charge about a 4% commission on payments received from Buzzcity. Recently First National Bank in South Africa started offering Paypal services where Paypal funds can be withdrawn directly into your bank account. FNB charge a 1.5% commission for this service and it generally takes about a week for FNB to process the transaction before the funds appear in your bank account.
Instead of using FNB, an alternative is to apply for a prepaid debit card from Payoneer.com. Once you receive your prepaid card, you can request the US Payment Service from Payoneer, which is basically a virtual bank account. You can then withdraw your Paypal funds into your Payoneer virtual bank account, and they top your prepaid mastercard up with those funds. Payoneer only charge a 1% commission for this (as opposed to the 1.5% commission charged by FNB). The processing time for the Paypal withdraw also only takes a few days as opposed to an entire week with FNB.
Shinka’s accounts department email a monthly report which has a breakdown of the revenue generated by each app and shows how much revenue Mxit has earned and how much you have earned. You then need to invoice them and they deposit the earnings directly into your bank account within 45 days. The biggest advantage of using Shinka instead of the other advertising networks is that you don’t have to pay any commission to banks if you have a South African bank account.
I asked Shinka if they are able to make payments to developers based in Kenya and they told me that they are able to make payments to countries outside of South Africa by using Paypal.
The best time to start building Mxit apps is right now, while there are only a few apps, and plenty of opportunities for new ideas that haven’t been implemented yet. You can also make a pretty good income from your applications if you do a good job of executing your idea and engaging with the Mxit users.
Just because I have been unsuccessful with Moola, doesn’t mean that Moola is not going to work for you. The TuneIt Mxit application tried the advertising model, and had greater success with Moola, so you should probably use trial and error and figure out which revenue model works best for you.
If you’re interested in finding out more about building applications for the Mxit platform, check out http://dev.mxit.com.