AuthorJohannes Borchardt

7 reasons why it’s great to be an app developer

When the iPhone and the first Android SDK hit the public back in 2007, the word ‘app’ was not very present. Today, everyone knows what an app is and more and more people are developing them. The markets are being flooded by new apps, every day about thousand of them are being published solely on the Android Market. Most developers don’t even get a chance to make a living by their apps because most times, there is a professional company doing a better job in shorter time because they have more resources. So why become an app developer? Just to try to be one of the few successful developers out of thousands? Here are 7 reasons why it’s great to be an app developer:

1. The users

When you are developing your own apps, and that is what most people do at the beginning, there comes a point when your app is released. The great thing now is that your app will probably reach more users than any other piece of software you have written ever has (A quick comparison: This blog, which is software too, gets about 5.000 impressions each month, the AL Voice Recorder gets about 750.000). And they will give you feedback. You will see whether your idea, implementation and enhancements will be well received or not pretty quickly. It’s really great to see how people are engaging in your software and help you to improve.

2. It’s highly agile

There is probably no other field in software development that’s as agile as app development is. The contact with the customer (either your users or the people that pay you) is tight, prototyping is rapid.

3. Ideas are welcome

Because the environment is highly agile, it is way more likely that your ideas will be listened to and implemented. In most cases, this is explicitly desired and most times the reason why you are getting a job or, if ideas are missing, not.

4. It’s an act of creation

Like most software development, app development is an act of creation. The difference lays in its agileness. Because of the fast prototyping, you can test and enjoy the result of your work really fast which is a great motivation.

5. There is room for try and error

When you don’t know how things work, you use try and error. That should happen in the beginning but become less and less as you advance on your field of development. Still, there is room for try and error when it comes to new features: When you don’t know whether your users will accept a new app or feature of yours and don’t have the time or money to do a survey, you simply publish it in the market or to your private beta testers. You will know whether your idea was an error really quick!

6. It’s fun

All the agility, the act creation, the room for own ideas and the user feedback result in one thing: App development is fun (most times)!

7. There is money

Because fun is great but doesn’t pay bills: Of course there’s money to make in app development. As long as your app doesn’t suck and your target audience is big enough, there’s no reason why your app shouldn’t be successful.

Conclusion

Personally, I think it’s useless to do things that are not great most of the times you do them. So to me and a lot other people, app development really is great and a great path to walk on.

What’s your path? Why do you think app development is great? Please feel free to tell us in the comments.

Where to place ads

Some of the readers of you asked me where to best place an ad. Here is what I know.

The app

We will look at an app that is a simple game it looks something like this:

It has childlike graphics and the hero is a red ball. In each level it has to reach the goal marked by a flag. It can be rolled to the left/right by touching the left/right side of the screen. A simplified heatmap of the clicks on the screen would probably look something like this:


Although I’m using a game for the visualization of the written word, everything I’m writing about ad placement here can be easily transferred to non-games or apps that run in portrait mode.

T he two ways

When optimizing your ad placement, there are two ways you can go: Optimizing for maximum visibility of the app or optimizing for the biggest amount of clicks, which can also be accidental.

Way one: Visibility

This is the first way. When taking it, you try to place your ad in a way that the user can see it well. When the user likes what he is seeing, he probably will click the ad.

So for our example game here, where the player has its hands placed on the bottom and most likely clicks to the left and the right half of the screen, the best position for an ad would be the centered top. When your app can be controlled by one hand and runs in portrait mode, the top left would also be a good place as most people are right handed. If you want to find the best place for maximum visibility of your ad, you can analyse the click behaviour of your user and adjust the ad placement accordingly or just use this little class I wrote to do so. For apps that run in portrait mode, the most times best place for visibility is on top.

The best placement when optimizing for visibility

Way two: Best CTR

The second way targets for both the wanted and the accidental clicks. Here, you place your ad in a way it is more likely that the user might click it by mistake. When applying this tactic, you should be aware of the TOS of your ad provider as most of them prohibit ad placements too close to often clicked areas.

For our example game, we would probably place our ad in the bottom right or bottom left because we can expect the most touch events there. Most portrait mode apps should place their ads on the bottom.

When optimizing for the best CTR, the ad should be placed like this

Which way you choose is up to you. While the latter might cause you to lose a couple of users, it will probably still generate you more money than the first one. When you want your ads to be clicked only when the user is really interested in its content, you should take the first way.

 

Do you have any best practices of ad placement, questions or criticism? Please feel free to share them in the comments.

Android Income Report #4: August 11

Another month is over, it’s time for income facts again.

If you are new to this series, let me explain it to you: Since Android is an open platform, I decided to be open about the income I’m making with my private Android apps too. In the last report I aimed to reach $1,005.02 for the last month. You will see if it worked out.

For all income reports, please click here.

Which Apps?

3D Invaders – about 100.000 installs (+8k), 16% active

AL Voice Recorder – about 382.000 installs (+23k), 24% active

AL Voice Recorder Ad Free – 721 installs (+31), 41% active

Droid-Blog.net Android App – 186 installs (+66), 30% active

SmsToSpeech full – 675 installs (+19), 42% active

What did I do?

Essentially nothing. I neither published a big update nor a new app. Still, more than 30.000 new users downloaded my apps.

The Droid-Blog.net app had a huge increase in download numbers again (55%)! Furthermore, after being in the Market for more than two months, it finally got its first click grossing a total of $0.03. Hurray!

Advertising Stats

Here are some statistics from the two advertising networks I’m using, AdMob and Madvertise. Please read the second income report for an explanation of the following numbers.

AdMob:

Requests: 438,914 (+23k)

Impressions: 420,452 (+12k)

Fill Rate: 95.79 (-2.48%)

Clicks: 8,399 (-2.79k)

CTR: 2.00% (-0.74%)

eCPM: $0,91 (-$0.17)

House Ads: 22,309 (+16.8k)

Adjusted Requests:  461,223 (+40,5k)

Adjusted Fill Rate: 91.16 96.98% (-5,82%)

Madvertise

As I’m not using house ads in Madvertise, no adjusted requests and fill rates are shown here.

Requests: 250,609, (-91k)

Impressions: 53,472 (-12k)

Fill Rate: 21% (+2%)

Clicks: 2,874(-440)

CTR: 5.37% (+0,3%)

eCPM: $10,28 (+$3,76)

My AdMob performance regarding impressions and request was not bad, but the fillrate and the eCPM was. While Madvertise lost about 91,000 request compared to the previous month, it was able to compensate this by having an enormous eCPM.

How much?

Did I manage to reach my goal again? Here’s what I earned:

Madvertise: ~$550.35 (+$124.28)

AdMob: $380.68 (-$58.88)

Market sales: ~$89.31 (-$41.45)

In-App purchases: ~$8.23 (-$0.40)

Total: ~$1028.57 (+23,55)

Goal reached! Why? I would say mainly because of the weak dollar. While one Euro was worth 1.4 dollars one month ago it is now worth $1.44. This made the small difference between success and failure.

What’s next?

I’m curious if Madvertise will be able to keep up those great numbers. I will be pushing some updates this month, so I hope the download figures will increase to about 33k again. My goal for the next month is $1,100.

 

Please feel free to share your own experiences in the comments. Please also don’t hesitate to tell me if there is anything else you’d like to get some information about.

How to combine Madvertise with another ad network

A lot of people asked me how I implement the switch of Madvertise to another ad network. Here is how I do it:

I’m doing this example using an AdMob and an Madvertise view. Of course you can use any other similar networks like Adwhirl or Mobclix as well but I’m assuming you are familiar with including the two SDKs you are using.

At first we need a layout resource, here it is:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
  xmlns:mad="http://schemas.android.com/apk/res/com.andlabs.gi"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  > 
          <com.google.ads.AdView
            android:id="@+id/admad"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            ads:adUnitId="y0ur4dun1t1dh3r3"
            ads:adSize="BANNER"
            ads:loadAdOnCreate="true"
            />
         <de.madvertise.dev.android.MadView
             android:id="@+id/madad"
             android:layout_width="match_parent"
             android:layout_height="Wrap_content"
             mad:isTestMode="false"
             mad:backgroundColor2="#000000"
             mad:textColor="#FFFFFF"
             mad:bannerType="mma"
             mad:deliverOnlyText="false"
             android:visibility="gone"     
             />                
</FrameLayout>

Pretty basic. A Madvertise and an AdMob view. Next step: Get them in your Activity:

 private MadView mMadView;
 private AdView mAdmView;
 @Override
     public void onCreate(Bundle bundle) {
          super.onCreate(bundle);
          /* ... */
          mAdmView = (AdView)findViewById(R.id.admad);
          mMadView = (MadView)findViewById(R.id.madad);
     }


That’s easy too. Next, register an MadViewCallbackListener and switch the views the way you need it. As you have seen the MadView is invisible at the beginning. I assume that Madvertise always brings in more money, so when I receive an ad by them, I set the AdMob view to invisible and the MadView to visible. That’s essentially it:

 mMadView.setMadViewCallbackListener(new MadViewCallbackListener() {
     @Override public void onLoaded(boolean success, MadView arg1) {
          if (success) {
               if(D) {
                    Log.d(this.getClass().getSimpleName(), "MadAd Received");
               }  
               if (mAdmView.getVisibility() == View.VISIBLE) {
                    mAdmView.setVisibility(View.GONE);
               }
               mMadView.setVisibility(View.VISIBLE);
          } else {
               if(D) {
                    Log.d(this.getClass().getSimpleName(), "No MadAd Received");
               }
               mMadView.setVisibility(View.GONE);
          }
     }
 });

Not a big deal. And that’s all. Now you have your own little meta ad network.

 

Please feel free to leave your experiences, questions or suggestions in the comments.

© 2024 Droid-Blog

Theme by Anders NorenUp ↑