Browsed by
Author: Good Bad Vlad

How much do users like ads?

How much do users like ads?

It’s been two months since the last release of Taxi Explorer. Last time I changed monetization model and started relying on advertisement income. You can read about my previous adventures with Taxi Explorer in my post One Year In The App Store.

Ads Performance

I rarely click on ads. I’ve always thought the banners are annoying and most of the clicks on them are by mistake. That’s why I didn’t put them on at the very beginning.

I had no experience with any of the numerous ad networks and providers. I went for the obvious choice – Google’s AdMob. I would consider $1 RPM a success, but I thought that number was out of reach. Since my in-app sales were decreasing and fell below $2 RPM, I had nothing to lose.

Fast forward two months to today. Given the metrics of the last two months, I think the answer is users like ads very much. Ads revenue totally exceeded my expectations. My AdMob stats show my RPM is stunning $9.46! I’m quite satisfied with that, so ads are staying for good.

On the other hand, sales revenue remained the same. I doubled in-app price to $1.99, got less
sales but revenue amount remained the same. I’ll keep that price for now.

All in all, total revenue (ads + in-app sales) for the two months version 3.0 of Taxi Explorer has been released: $103,54. It’s not much, but it is a big improvement over the income from the previous versions.

That was the good news but there is bad news too. App usage continues to fall. The new version saw yet another drop. I didn’t do any marketing though – neither in social networks, nor App Store ads, no web mentions. This is pure organic traffic from the App Store.

Active users for version 3.0

This time I put screenshots from my Facebook analytics. I wanted to use it for my previous posts too, but I had a problem and could not access it at the time.

Analytics Puzzles

I’m using not one, but two analytics SDKs in Taxi Explorer – Google Firebase and Facebook Analytics. I could not decide which one is better, so I put them both.

When I first checked the stats, Facebook analytics was working fine and I liked it. It was easy to use and it had everything I needed.

Google Firebase turned out to be a disappointment. I found out I can log custom events and properties with it, but I cannot view and analyze them later. Google wants to charge me for using their Big Query infrastructure, to let me see my custom properties. I’ve never imagined Google considers few events logged from a hundred users a day “big query”.

I sticked with Facebook Analytics. My satisfaction didn’t last long though. Suddenly I could not access analytics dashboard. I thought there was some failure in Facebook backend, so I decided to wait till they fix it.

Facebook Analytics error message

The error “Sorry, something went wrong. We’re working on getting this fixed as soon as we can.” didn’t hint that I had caused it at all. I tried opening the analytics the next day, then the next week, then the next month and I always got the same error message.

Finally I wrote to the support. They were quite fast and resolved the case in less than a day. It turned out I had disabled Facebook apps in my personal feed from the Settings menu. I don’t know why and how this setting is related to Facebook analytics for mobile apps, but making it Enabled again fixed the issue for me and I could access my analytics again. If you have the same problem, go to Facebook Settings, select Apps from the menu at the left of the screen, click that Edit button and then Enable Platform. Thank you, Facebook support team.
Facebook Apps SettingsBy the same time I received a support email about taxi fares in Querétaro, Mexico. Yes, I hadn’t heard of that city too. But I looked it up in wikipedia and it seemed a big city in my view. I found a new ride sharing service, Cabify, along with the city search. That is a good opportunity to update the app.

So if you happen to travel to Querétaro or any of the other 52 supported cities, download the app today. It’s free! I promise to publish app’s usage stats and revenue numbers. Stay tuned.

Revenue Confessions – a Side Side Project

Revenue Confessions – a Side Side Project

After the big Taxi Explorer release last month I wanted to see the impact of the new monetization model – having no locked cities and showing ads. I know I had to start doing marketing and promotion for the app. I decided to postpone that for a while, just to have pure results from the monetization model change.

That’s how I took a break from Taxi Explorer for a month or two. During that time I decided to dig deeper into WordPress. I’ve already made a landing page and a blog (this one) on WordPress. Now it’s time for a simple web project.


Revenue Confessions gathers all kinds of online projects that have something in common: their founders reveal how much revenue they earn from their blog, website or application. Most of them are indie developers that started these projects as a side gig. Some of them grew them further to become their main occupation.

Many people refer to these revenues as “passive income”, though it’s hard for me to see the passiveness of software development, marketing or writing a blog. As if you put a toll booth on a road and start collecting taxes instantly. Then spend the rest of your life having fun with friends and travelling the world. In reality the toll booth is hard to build, you need to inspire a community to pass by your booth and you need to actively maintain the road. It seems quite active passive income to me.

Getting into the list is easy. It is enough to write a single sentence on your blog, public forum or social network – “Hello, I’m the developer of Antarctica Weather App for iOS and my revenue is $2000 per month”. This will provide you with two links in the confessions table – one to the Antarctica Weather App homepage and one to the data source. These are the minimum requirements, however the deeper details and insights revealed the better. Just look at these brilliant stories from Matthew Woodward, Gabriel Hauber or Curtis Herbert. That kind of stories inspired me to start this project.

I like to read such stories and I collect them as bookmarks. It occurred to me I can share these links in a blog post here – just like Mikael Uusitalo did with his roundup of 99 income reports. Then I had second thoughts – this compilation deserved more than a list fixed in size and in time. Let’s kick it off as a stand-alone project and see if it lives.

My main focus after the launch is to promote the site and gather as much feedback as possible. This is a big challenge for me, as I’ve never done such thing before. Keep your fingers crossed.

Another goal is to play with various forms of advertisement – text, banners, affiliate links. Since the main topic are revenue stats, I intend to confess its own revenue and traffic numbers in regular monthly reports.

It’s just the beginning. Go check and subscribe for the newsletter or follow it in the social networks to see what happens next.

How I Got A Stunning App Icon For $25

How I Got A Stunning App Icon For $25

Everybody is aware of the importance of beautifully designed app icon. The best icons would draw more attention at themselves in the App Store, hence – more downloads and sales.

For those that possess basic design skills making an icon is not a big deal. For me it’s an unsurmountable obstacle though. It’s hard for me to design a single button or pick a color scheme, let alone an icon.

There are plenty of design studios that will offer help with the design at a hefty price. Look at these professional design services from Envato Studio. The prices for icon design vary between $50 and $500.

The problem is an indie developer cannot afford these prices. Even though I had the money, it was unreasonable to spend it before the app started making any profits. As you can see from Taxi Explorer revenue stats, that would not be justified in my case.

This is where Fiverr comes to the rescue. If you live on another planet, this is a place where freelancers offer fast gigs for $5. Sure, many of them would put as much effort as the cost is. However there are hidden gems. Take a moment and browse their design icon gigs.


There are so many gigs, how to find the best one? I’ll share my secret solution: don’t go for the best one, order several gigs and then pick the best result! Just follow my steps.

Step 1: Find your gigs

When I needed an icon for my application, this step took the most time. I logged in to Fiverr and searched for [app icon design]. I opened the first ~50 gigs in new tabs in my browser. Then I started examining those gigs one by one.

The most important criteria was whether I like the samples of previous work, that the author had shared. I closed the tabs with less exciting or mediocre work immediately.

Another criteria was user comments. I took a quick look and if I saw traces of dissatisfied customers – I closed the tab.

By this time at least half of the tabs were closed. That was the easy part.

I grouped the remaining gigs into three parts. Part one – the stars. Here I put those with the biggest portfolio and largest number of comments. The second group were the masters – those that had a particular inspiring piece of work, that had made big impression on me. The third group were the freshmen – those with beautiful work, but small number of comments. If I couldn’t determine for a gig which group it belonged, yes, that’s right – I closed the tab.

Time for the semi-finals. I went through each group and closed the least appealing gigs. Then did that again till I had up to 3 – 4 gigs in each group.

Now I had to choose a winner from each group. I used additional criteria for my final choice. The author had to offer sending the source file (psd, usually as an extra to the gig priced at $10). Some gigs had “Commercial use” clause as an extra, priced at $20. I tried to avoid that rip-off. I also tried to pick authors from different parts of the world.

Gig delivery periods may vary, but time is not important here. It’s tempting to buy 1 day delivery at additional price. This will increase the total cost for no reason. You have to be patient to get the best result.

I finally chose a gig from Sri Lanka from the stars group and a gig from India from masters group. I had the feeling that those two gigs would be enough, because their portfolio looked gorgeous. Anyway, I picked a guy from Egypt from the freshmen. He had only one previous work to show, so that was a risky bet.

Step 2: Contact gig authors

I contacted each author before gig purchase. I wrote this simple message:

Hi gig_author_name_here,

I need an icon for my iPhone app called “Taxi Explorer”. The app lists taxi and Uber-like carsharing services for a given city. The user enters start and destination point on a map, and the app estimates how much the ride will cost with these services. You may see more details on its site: The main app colors are #b14437 and #fcf0cc and I would like you to use one or both of them in the icon. I prefer to keep it simple, flat design.

I like your work and I count on your imagination. Tell me if this description is enough for you, so I buy your gig and you start the work.


The responses came pretty quickly – All authors answered within 6 hours. If you follow my steps, mind timezone differences, so leave a whole day just in case. All authors were glad to accept the work. I proceeded with buying the gigs – as I said, just the basic gig for $5, no extras at this time.

Step 3: Gather results

This was the easiest step but it felt like ages to me as I was impatient to see the results. Yet the first result from Sri Lanka came after mere 6 hours:


That was fast, but it was far from the result I expected. I requested a simple modification – to make the icon look more bright and make the location indicator smaller. I got the result again within 5 hours, really fast.

The next day I had a delivery from Mohamed – the guy from Egypt.


Well, this was amazing! And it was pretty fast too – it came 30 hours after the order. I liked this icon so much I didn’t requested any modifications. As I still expected the results from one more gig, I replied to the guy that I’d take a day or two to decide if I wanted to buy the psd file.

The next day I didn’t receive anything and I started to worry. Hopefully the day after I finally had a message from India:


This one took 75 hours from order to delivery, but it’s ok. I liked this icon and the app could do with it. However the magnifying glass was outstanding. It was the clear winner from my little competition.

I wrote to Mohamed to tell him I’ll buy the image sources. He arranged making additional custom offer at $10. I was so happy with the icon that I added $10 tip to it.

Total money spent

As I said, I bought the basic gigs at $5 each. For each transaction Fiverr took $0.5 comission, I had 3 x gigs, 1 x extra gig and 1 x tip, totally $2.5 in Fiverr fees:

Sri Lanka icon: $5
India icon: $5
Egypt icon: $5
Egypt icon sources: $10
Tip for Egypt author: $10
Fiverr processing fees: $2.5

TOTAL: $37.5

Yes, I overran the budget from the post title, but the result far exceeded my expectations. I use this icon for a year now and I’m very satisfied. I would like to recommend icon’s author, however he is no longer offering gigs on Fiverr. Anyway, if you, Mohamed, read this, thank you again very much.

You see, the results may vary from mediocre to outstanding. That’s why it is important to have a choice when dealing with design – either mobile UI, icon, logo, or website. Go to and give it a try.

One Year In The App Store

One Year In The App Store

80-retina-spotlight-ios-7-8This is part 2 of my journey with Taxi Explorer – a taxi fare calculator. This is an iOS application which I’m developing in my spare time. Go to part 1 to see how it all started.

The first version of Taxi Explorer was a free app for calculating taxi trip costs in 10 cities in Asia, Europe and North America. There were no in-app purchases or ads or any other kind of monetization built in. I named this version “1.2” to make it look a bit more mature.

I was impressed by the results during the first month. Even after the usual spike the first week after release, the installs kept in the range 250 – 300 each day. I didn’t expect daily rate in the hundreds for such a simple app. If the app regularly reached 300 installs per day for mere 10 supported cities, I was wondering how many installs would be for 100 or 1000 cities. At this point I firmly decided it was worth developing the app further.

I had built a simple feedback menu item in the app – it opened the default mail application. At the third day I started receiving support emails. The very first one was a request to add Jakarta – the capital of Indonesia. I put Jakarta on top of the to do list to honor the request. The second email was especially pleasing – it contained just two words “Brilliant app”. I replied to those emails the same day personally. Till present day I try to answer emails as fast as I can and never leave requests without reply.

I felt encouraged and enthusiastic. What does an enthusiastic developer do? He starts developing! I had cut some corners to ship the version sooner. Now, given my plans to support 1000 cities, I had to make things scalable. I put up a simple system to monitor taxi tariffs for changes. I made tariffs and fare calculation algorithms serializable. I configured a simple web interface to enter taxi service data. I added automated tests for each taxi service to verify rate integrity.

All these features were not easy to implement. I took some time off for Christmas and New Year, then I continued working on them. I was ready in March. During all these months I kept an eye on the analytics. Install rate continued in the range 200 – 300 per day. In February it was more often around and under 200 and rarely reaching 300. In March it felt considerably to 150 – 200. It was high time for update.  

This time I wanted to test if the app would earn money. I added 18 new cities (including Jakarta), but I locked 13 of them behind an in-app purchase. The 10 cities from the first version and 5 new were available with the free download. The user had to buy single one-time in-app purchase to be able to calculate fare estimates and monitor trip costs in Live mode for the rest 13 cities. Since I still considered the app too simple, I priced the in-app at the lowest possible tier available – $0.99, with even lower cost in China, India, etc. At this early stage I didn’t think about profits, my point was to test monetization scheme.

With 200 installs per day and conversion rate 0.5%, this would mean 1 sale a day. $20 a month (after Apple’s cut) is not much at all, but it’s a starting point. I put this value as my baseline expectation. And I hoped more cities would drive more installs.

I named the new version “2.0”. It went live in the App Store on April 9. As with the previous release, the first days looked promising. The app started generating 1-3 sales each day. The installs went back up above 200 per day. A steady drop below 150 occurred in the last days of the month though. The sales stopped too. All in all, the app made 22 sales in April. Given that it missed the first 9 days of the month, it met my target precisely.

In May and June my analytics graphs went south. Installs dropped to 50 – 100 a day. There were 18 sales for the two months combined – well below target. As I said, I considered the app too simple and I thought supporting more cities would fix sales. I had received lots of requests about booking through the app. I didn’t have the time nor resources to implement a proper booking mechanism, but I added shortcuts to Uber and Lyft apps and taxi companies phone numbers. I added 23 new cities of whom 2 free, the rest joined the locked group. I increased the price a little bit to the standard Tier 1 – $0.99 worldwide.

The new version 2.1 was released on June 29. It was the same scenario all over again. A slight bump up in installs in July, followed by a drop afterwards. Total sales for version 2.1 till yesterday – 22. There was a modest spike on Aug 5, but what had caused it remained mystery to me.

In September I finally realized they were not the features that were lacking. My monetization scheme was broken – it was getting in the way of the adoption rate. 99% of all estimated routes were for free cities. I expected free cities to be popular, but I assumed more users would unlock the extra cities. Obviously a new user looks for a single city and if it is locked or not supported, this results in immediate uninstall.

Here is the time to give credit to my unbelievable marketing efforts. During the whole past year I was so obsessed over development that I didn’t spend a second for marketing. I announced the first version to the world by a single post in Facebook and one tweet. That was followed by silence between updates, when I also published few Facebook posts and tweets. Though I had a landing page, I did no publicity for it. In fact it didn’t occur to me even once to check my own page traffic analytics. I’m looking at them now and they seem pretty poor as expected. If CIA or KGB or any other secret service would like to release a secret app in the App Store in a way that no one discovers it – I’m the man who knows how. 

Enough talking, here are the raw statistics after one year in the App Store (Oct 1 2015 – Oct 10 2016):


  • App Units: 62 441
  • Sales: 62
  • Revenue: $53.80
  • Rating: 3.8 based on 11 ratings
  • Support emails received: 76
  • Facebook posts: 12
  • Facebook page likes: 7
  • Tweets: 8
  • Twitter followers: 5
  • Landing page views: 8667
  • Landing page visitors: 1778

Yesterday version 3.0 went live. As tradition goes, I published one post in Facebook and one tweet. No more locked cities, all cities are free now. I put ads inside the app to compensate. The in-app purchase will remain for the ability to remove the ads, this time it’s priced at $1.99. I want to say thank you to everyone of these 62 people for buying my app. These people are upgraded with the new in-app item too, so they will not see ads.

My main goal is to increase daily installs. I don’t care about revenue, but I’m curious what the ads will bring. This time I’m monitoring app and website analytics closely. I’ll analyze the stats thoroughly to measure my effectiveness. I hope my graphs turn north. Whatever the result, I’ll keep you posted here.

If you want to see version 3.0 stats and revenue, see the next post from Taxi Explorer series: How Much Do Users Like Ads.

Taxi Explorer – Introduction

Taxi Explorer – Introduction

Taxi Explorer is a taxi fare calculator for iOS. It supports over 50 big cities around the world. Usage is pretty simple – select city, tap once on the map for pick up location, tap again for destination and the app calculates trip cost by taxi, by Uber and by other ride sharing services if available. Trip time is taken into consideration so the estimates are based on the correct tariff – day, night, or holiday. There are neat views for cost breakdowns, tariff schedule and booking info. “Live mode” is a useful feature which utilizes GPS to calculate taxi fare as you go, so you can double check the indication of the taximeter device is correct. See more details at or get it from the App Store.

If that brief description sounds like an ad – it is. I hope it makes you install it. This is a side project I’ve started in the spring of 2015. At the beginning it wasn’t intended as a side project at all. Mrs Good Bad Vlad was interested in exploring mobile development. She had read a book about iOS programming and she was ready to get her hands dirty coding. She could either build something from scratch or take the easier path of building upon an existing project. By the same time I stumbled upon Stuart Khall’s App Store experiment – implementing an app and launching it in just one day. This great article inspired me to build an app. I know that launching an app so fast is doable only if you already have 10 apps submitted in the App Store and this is your eleventh app. However I realized it would cost me few weeks of my spare time to implement version 1.0. Then my wife takes over and I’m done with it.

There were neither ideas brainstorm nor market research. I rushed after the first idea that came off the top of my head. A simple app that tracks car trips. It would measure distance, trip time and waiting time (the time the vehicle was not moving). Its purpose was to verify taxi driver wasn’t cheating. My initial estimate was I’ll be ready after about 2 to 4 weeks. Remember these are not full-time weeks, just an hour or two a day when I have the time for it. I started working right away.

By the time I was finishing the app I began having second thoughts. Who the hell would use such a simple app? Who needs a taxi app in the age of Uber? What was I thinking when I started this? To make things worse, Mrs Good Bad Vlad had other responsibilities to care about and she had to give up mobile development. Her involvement in the project up to the present day is helping with testing the app, answering a few support emails and Apple’s development certificate in her name.

I was at a crossroads – submit the simple app or never release it. I took a month off. During that month I got ill from a widespread developer flu, called “add more features”. I decided to stick with the app, but make it more appealing to users. That’s how I came up with the concept of cities and predefined taxi tariffs and Uber comparison and so on.

As I was happily coding the new features, the summer almost passed. There came a new distraction. How would I launch an app without a landing page. God forbid! That would be unprofessional. Add few more weeks for my first encounter with WordPress. After I took the decision to buy a theme, the page actually got ready quite fast.

After spending some more time in final touches and testing, Taxi Explorer was finally ready at the end of September. It was a free app, no in-app purchases or ads and fare estimates for 10 cities – I chose them among world’s top travel urban destinations.

The app was released on October 1st. So today I have a birthday to celebrate – one year in the App Store. I’ll reveal what happened during that year in my next post.

Who’s This Guy Good Bad Vlad

Who’s This Guy Good Bad Vlad

Hi, my name is Vlad. If you come from my About page, you’ve already seen few samples for what I’m good at and what I’m bad at. Let me put them in order, starting with the good part.

First of all, I’m a father of two children. I really hope I’m a good father and husband. Family is top priority for me.

Second in my list comes what I do. I have a full time job as a software developer. I like the projects I work on together with so many talented people around me.

dm-pl_palmvThough I’m currently working on apps for iOS, I’ve been doing programming for mobile devices ever since Palm V. If I have to rate my C++ skills on the scale from 1 to 10, I would be 12. Just kidding, I’ve never written a perfect piece of code. I try to do my best, but I know there is always room for improvement.

Enough bragging, I’m not writing an autobiography here. I like exploring areas that I’m not skilled at and learning new things. I play with small side projects of mine and they will be the center topic of this blog. These side projects touch on areas I’m bad at.

I’ve never programmed for Android devices. I’m bad at web programming. I can write basic html, I can edit css with Google’s help and I know the basics of php and javascript. AngularJS, jQuery, React and all the other countless javascript frameworks are totally unknown to me. CMS, and specifically WordPress, plugins and themes is another grey area. I’d hardly imagine I would write WP plugins some day, but I want to feel comfortable using WordPress themes and modifying minor details.

Lack of software development knowledge does not scare me at all. As I said I enjoy learning and I can cope with gaining skills in web programming or WordPress. Outside software development I face bigger challenges.

I’m clueless about SEO and ASO. I have no idea about the good practices to drive more traffic to a site or a mobile app.

My communication and marketing skills are quite poor. Like many people, I used to think that the quality of a product makes the difference between successful and unsuccessful projects. A high quality product or service would inevitably become popular because the satisfied customers would spread the word. I couldn’t have been more wrong! Now I know about the importance of marketing. The only problem is doing sales and marketing efforts pushes me way out of my comfort zone. Time will tell whether regular iterations wll make doing them more bearable for me.

Being good at marketing requires decent writing. It took me three hours and a half to finish this short post. That says enough for my poor writing skills. Writing essays was the single most annoying thing for me at school. What better way to improve writing than starting a blog?

Most people write blogs about the skills they’ve mastered. Their content is insightful and informative and easily become popular. They gather huge audience and soon after that they publish a book “How to earn a million dollars from your blog”. I intend to do exactly the opposite. I’ll write about the things I don’t know and I’m bad at. Like a travel blog, I’ll describe my journeys out of my comfort zone. Maybe someday my book will be titled “How to bore to death your friends and family”. Let’s see.