I wrote a simple android app which lets Virgin Mobile customers see how many minutes they have left on their account. [1] It is open-source [2], and I have optional ads. (I created the app without ads, and then added them in a later update with a note saying "hey, these ads are an experiment. You can disable them in the app's settings if you want, but otherwise, enjoy it!"
This generates between $60-$90 per month, depending on... well, I honestly have no idea what it depends on. Pizza money. And bragging rights.
This app is basically in maintenance mode though I have a lot of things I want to do with it. Android programming is so difficult, though (difficult documentation, impossible for me to figure out how to do anything gui-related) that it's been hard for me to really make big enhancements.
In fact, since going to Google IO this year, I'm no longer a VM customer! Might buy a cheap VM account to do maintenance on this app, which would still be profitable for me.
"Difficult documentation, impossible for me to figure out how to do anything gui-related."
Why is this? Do you have much experience programming in Java? The Android Developer [1] website is a fantastic resource for learning about both the design and development standards on the platform. The User Interface Guide [2] is particularly exceptional at explaining how to implement different UI components on a technical level.
I'm really really proficient in Java. I used to teach it in school, I've done it professionally, etc. So I had no trouble at all writing the actual "guts" of the app, or even the android-specific APIs. And while I'm not great at swing/awt, I can make it work if I need to.
But it really breaks down when I get to the Android gui+os-specific things. I find myself having to memorize (and reference, and re-reference) words like Activity, Intent, Bundle, View, etc. You have many kinds of menus and dialogs - options menus, preferences menus, etc.
Of course, all of the information is there, and perhaps it's worth reading all of it, one page at a time, in order become a proficient android programmer. But it's so specific to that one platform, and has has such a new set of vocabulary which isn't common anywhere else in computing, that I personally have found it really difficult.
It looks like the documentation has gotten much, much better over the past couple of years, so maybe you've inspired me to give it a fair shake. But I really wanted to "jump in and build" and that has a much larger learning curve than I would have liked.
I use AdMob - nothing fancy. There are other ad providers who send me spam emails about their services, but they seem really awful (they install their own apks to do more invasive interstitials, widget icons, etc.)
They have a feature called AdWhirl, which automatically displays ads from different providers depending on who will pay you the most at a given time. I have not tried this. If you do, let me know how it goes!
Thanks, I use AdMob as well right now. I tried using it as a meditation layer and including MobFox but I was getting horrible results with MobFox so recently dropped it. One of the challenges I'm having finding networks is finding one that doesn't require location/phone state permissions. I added it one time and a lot of users got pissed off :O. Will let you know if I come across anything better!
I know that it takes time for each ad network to warm up to your app, as it gets a sense of how much traffic, and what kind of traffic you have. Possibly swapping out different ad platforms exacerbates this problem, or makes it take longer for the network to reach its peak. What if you updated your app to switch to another network 100% of the time? (Or used the mediation layer to do this?)
I have no idea what I'm talking about. But there's a lot of interesting tests to run.
Also - and the AdMob guys told me the same thing when I talked to them at google io - my app only has about 30k active users. This is hardly enough (because click-through rates are so low) to be able to find meaningful trends and test them, because the data is so inconsistent and I'm probably not getting high-quality expensive ads anyway.
If any of the above is wrong, then let me know! I'd love know how this stuff actually works, especially as it applies to small-potatoes devs like me.
One other question if you don't mind: How did you initially market the app/gain traction? Right now I've been just reaching out directly to Instagram users (my app is for them www.TagsForLikes.com) and that has worked alright but wondering if you have any other methods.
Yeah, this was about as organic as it possibly could've been.
I bought an el-cheapo Android phone from Virgin Mobile and was annoyed that I couldn't check to see how many minutes I have left. I searched on the internet, and others had the same problem, and would post about it (eg, howardforums.com)
So I wrote the app and then posted to those message boards: "Hey, check this out, I created a free app. It's crappy but it works."
It started catching on from there, and it also shows up when you type "virgin mobile" into the android market store.
So besides plugging it on the internet (a few forums, on HN, telling friends) I haven't done that much.
I recently moved to Manhattan, and was in a radio shack buying a top-up card. I was chatting with the cashier, who was also a VM customer, and asked her if she'd ever used my app. I showed it to her, she liked it, and said she would recommend that all of her customers download that app when they buy VM phones. I have no way to know how many sales that generated, but it was a cool feeling!
This generates between $60-$90 per month, depending on... well, I honestly have no idea what it depends on. Pizza money. And bragging rights.
This app is basically in maintenance mode though I have a lot of things I want to do with it. Android programming is so difficult, though (difficult documentation, impossible for me to figure out how to do anything gui-related) that it's been hard for me to really make big enhancements.
In fact, since going to Google IO this year, I'm no longer a VM customer! Might buy a cheap VM account to do maintenance on this app, which would still be profitable for me.
[1] https://play.google.com/store/apps/details?id=com.jaygoel.vi...
[2] https://github.com/poundifdef/VirginMobileMinutesChecker