Categories
Tools

Five popular databases for mobile

More and more mobile applications need data to work, and databases have for quite a while been the most common way of storing and managing data. So, in a typical scenario, a mobile application uses a database that is hosted in the cloud, and connects remotely to it in order to access its data. This, of course, implies that, in order to be responsive, a mobile application needs an active and quite fast network connection.

shutterstock_126489872

Where is mobile development heading to? Take the Developer Economics Survey that is now live and shape the future of mobile development.

But what if you could move your database from the cloud onto the mobile device, thereby allowing your mobile application to satisfy its storage needs without having to rely on any back-end storage service? Or what if you could keep your database in the cloud, but at the same time maintain a local up-to-date replica of it that would allow your application to be fully functional even when no network connection is available and to sync with the remote database periodically or when going back on-line? And what if you could do all that by using the same or similar tools with the ones that you are using now?

Embeddable databases are lightweight, self-contained libraries with no server component, no need for administration, a small code footprint, and limited resource requirements. Mobile applications can be (statically or dynamically) linked to them, and then use them in order to create and manage their own – private or shared – databases locally on the device. Behind the hood a database-management-related action typically involves only a few function calls within the same process.

At the moment there are several embeddable databases out there that you can use in a mobile application. Let’s examine the most popular of them and highlight some of their characteristics that have contributed to their widespread use. The next table gives an overview of the type of the data that each one of these databases can store, the license under which it is distributed, and the platforms it supports.

Database Type of data stored License Supported platforms
BerkeleyDB relational, objects, key-value pairs, documents AGPL 3.0 Android, iOS
Couchbase Lite documents Apache 2.0 Android, iOS
LevelDB key-value pairs New BSD Android, iOS
SQLite relational Public Domain Android, iOS, Windows Phone, Blackberry
UnQLite key-value pairs, documents BSD 2-Clause Android, iOS, Windows Phone

Berkeley DB

berkeleydb

Berkeley DB is a family of open-source libraries that allow you to manage your data either in the traditional relational way (using SQL) or as key-value pairs (where both keys and values are byte arrays) or as Java objects or as XML documents. Regardless of the API you choose, Berkeley DB promises indexing, caching, transactions, single-writer/multiple-reader access, full-text search (for the SQL interface), automatic failure recovery, replication, compression and encryption. It also supports both in-memory and on-disk databases.

Another intriguing feature of Berkeley DB is that the SQL API it provides is fully compatible with that of SQLite. As a result, you can make your SQLite applications use Berkeley DB as the underlying storage engine without having to re-write them. All you need to do is link them to a suitable version of the Berkeley DB library. This combination of SQLite and Berkeley DB has been reported to perform better in case of highly concurrent, write-intensive applications.

Berkeley DB provides API bindings for several programming languages, including C++ and Java, and has been compiled, run and tested on several operating systems, including Android and iOS. Nevertheless, you might be put off by its AGPL license, in case you want to use it in your application, but you do not want to distribute your own source code in exchange.

Note also that, mainly because of its effort to provide features that are expected in traditional client/server databases, Berkeley DB is considered as a relatively heavyweight solution. So, unless you absolutely want a feature that is only offered by Berkeley DB, then there are other more lightweight alternatives you can choose from.

Update: Even though Berkeley DB technically supports iOS, it can’t be used in App Store apps due to license incompatibility with App Store terms & conditions.

Couchbase Lite

CouchbaseLite

Couchbase Lite is a document-oriented database: data is stored as JSON documents. Each document may have one or more attachments, which are essentially uninterpreted binary data that is stored and loaded separately from the document itself. Couchbase Lite supports persistent indices (called views), and uses map-reduce to manage and query them.

Couchbase Lite, together with Couchbase Sync Gateway and Couchbase Server, are the three components of the NoSQL JSON mobile database solution offered by Couchbase called Couchbase Mobile. One of the key features of Couchbase Mobile is built-in synchronization (through Couchbase Sync Gateway) between local databases (Couchbase Lite) and databases in the cloud (Couchbase Server), which relieves the developer from the burden of writing their own sync code. In order to support this feature, Couchbase Lite comes with a conflict resolution mechanism that is quite similar to the one used by Git.

Couchbase Lite provides a Native API for both Android and iOS, as well as plug-ins for two widely used cross-platform tools for mobile development: PhoneGap and Xamarin.

LevelDB

leveldb

LevelDB is an open-source library (written at Google) that implements a key-value store, where keys and values are byte arrays, and data is stored ordered by key (based on some, probably custom, comparison function). LevelDB supports atomic batch updates, forward and backward iteration over the contents of the store, snapshots (i.e. consistent read-only views of the entire store), caching, data integrity (using checksums), and automatic data compression (using the Snappy compression library). An important limitation imposed by the library is that at any moment at most one process can have access to a specific database.

“LevelDB has good performance across a wide variety of workloads” state its authors, and here are the results of a benchmark they put together to prove their claim by comparing LevelDB with SQLite and Kyoto Cabinet (another key-value store implementation).

LevelDB is written in C++. iOS developers can use it directly in their applications or through one of the several Objective-C wrappers that are available for it. Android developers can use LevelDB via JNI and NDK.

SQLite

sqlite

SQLite is an open-source C library for managing relational databases that can be stored both on disk and in memory. It supports dynamic typing (types are assigned to values, rather than to columns), transactions, full-text search, single-writer/multiple-reader access, efficient range queries (useful when storing geographical data), and shared caching (across connections opened by a single thread to the same database).

SQLite stores each database as a single disk file in a cross-platform format. This implies that you can create an SQLite database on one machine and then use it on another machine with an entirely different architecture by simply copying the corresponding file.

The authors of SQLite believe that it is “the most widely deployed SQL database”. Bindings for SQLite are available in most mainstream programming languages. SQLite is also included in both iPhone and Android operating systems.

UnQLite

unqlite

There are a lot of people that incorrectly believe that UnQLite is the NoSQL counterpart of SQLite, although the two products are completely independent. UnQLite is an open-source database that exposes both a key-value and a document store interface. It supports both in-memory and on-disk databases, transactions, multiple concurrent readers, and cursors for linear traversal. Like SQLite, UnQLite uses a cross-platform file format, and stores each database in a single file on disk.

No matter which store interface you use, UnQLite’s storage engine works with key-value pairs. A distinctive feature of UnQLite is that you can change at run-time the storage engine that is used. At the moment, UnQLite comes with two built-in storage engines, one for on-disk and one for in-memory databases.

UnQLite is written in C, and can thus be used in both iOS and Android applications (in the latter, through JNI).

 

Our Developer Economics Survey is now live. Have your say, shape the future of mobile development and win amazing prizes and gear. Start now.

Categories
Business

Is the Indie App Opportunity Gone?

The app stores created an opportunity for any developer to build their own products and reach a global audience with them. For some developers this offered the promise of an independent app business, giving them creative control of their work and hopefully a comfortable income. Recently there have been lots of posts (great summary list here) from current and former independent app developers about the state of the market and how much harder it is to earn a living from your own apps. If it’s tough for established indie developers then is it still possible to get started? We’ll look at how the market has changed and share some data on the revenues of over 500 solopreneurs and small indie developers versus their bigger rivals.

indie_game

The indie developer gold rush

[tweetable]A key advantage of small indie app developers is their agility[/tweetable]. They can shift their strategy to take advantage of new opportunities incredibly quickly. The success story that may have started the iOS app gold rush was built before there was an official SDK or App Store. Steve Demeter was working on ATM software for a bank and built the game Trism in his spare time, initially releasing it for free to the jailbreak community. When the App Store launched it was initially a $5 paid download that earned $250,000 in profits in the first two months. Demeter quit his day job to become one of the first full-time iOS indie app developers. Trism was reduced to $3 to stay competitive but went on to sell around 3 million copies. Four months of evenings and weekends, just a few weeks equivalent in full time development, earned a life-changing amount of money.

It’s the overnight success stories like these that continue to drive lottery-like behaviour from some developers. Playing for the outside chance of winning big. Even the media coverage at the time noted the increasing competition with more than 1500 iPhone games available in the App Store! Today’s developers would love so few apps to compete against; there are now hundreds of times as many.

Raising the bar

By 2011 life-changing solo developer success on the app store looked rather different. A $5 app created in a matter of weeks wouldn’t stand a chance. Andreas Illiger is a gifted musician, artist and coder. His Tiny Wings took 7 months of full time effort to create and sold for just $0.99. The increased scale of the platform meant he was able to sell more than 10 million copies. In 2014 it’s debatable whether a solo developer will ever repeat the feat. Monument Valley looks like the modern benchmark for a chart topping paid game title but developer UsTwo primarily serves clients in three countries and has over 100 staff in the London studio that created the game. Sirvo’s Threes! is a better comparison yet it was created by three people over a 14-month period (not full time). Threes! was almost immediately copied with numerous free alternatives to the $1.99 original springing up. Whilst Tiny Wings enjoyed a year as a top 10 game and another two inside the top 50, Threes! is already in danger of heading out of the top 100. [tweetable]There’s just so much free-to-play competition[/tweetable]. Making a more complex game to differentiate from the crowd is just beyond the scope of most small independent developers.

Not just games

Those examples have focussed on games and it’s tempting to think non-game apps might be a different story. However, consider that our data shows only 33% of developers are making games. Those developers collectively earn over 80% of store revenues across iOS and Android. So [tweetable]67% of developers are competing for less than 20% of store revenues[/tweetable].

Lets take a look at what Hunters (our name for developers that are aiming for direct revenues from their apps) can expect to earn at different company sizes.

As you can see, iOS is still a much healthier place for an indie app developer to be than Android but unless your cost of living is very low then the chances of making a comfortable living aren’t great. The bigger developers are taking over the top charts. [tweetable]If you’re outside the top app charts then it’s incredibly hard to get noticed[/tweetable]. Some of the successful smaller developers in our survey already have established apps with a strong history of downloads and ratings that keeps them high in the search results. If you’re just starting out, is it still possible to join them?

Find the right sized niche

The key difference with non-game apps is that they don’t all compete for the same attention. If your indie developer dream is to build the app you really want to use and be richly rewarded for it, you’d better have a fairly unusual problem that you want solved. Jared Sinclair’s Unread is the cautionary tale for those wanting to build for other technology lovers like themselves. An RSS reader (or client for any popular internet activity), however beautifully executed, has to compete with a vast array of free alternatives. Many of those other apps will have been built by hobbyists with no need to make any revenue at all. Anyone wanting to succeed as an indie developer today needs to think like a small business. Trying to compete with hobbyists is as futile as trying to compete with Google.

The right sized niche for an independent app is one that’s small enough not to be interesting to much bigger competitors but big enough to earn a living. Even winning the niche is not going to support a big team. The best niches will need specialist knowledge or intellectual property that make them both unattractive to hobbyists and defensible. Ben Thompson provides a great case study of Pleco, a Chinese dictionary app with some high-value in-app purchases. This example has two key advantages worth replicating: unique licensed content and a natural channel to market outside of the app stores.

What about getting rich?

If that sounds more like hard work than the indie developer dream of becoming an overnight app millionaire, it is. It’s also many, many times more likely to succeed. [tweetable]If you want to be an app millionaire then build contract apps for businesses and grow a team[/tweetable]. Then build some products for enterprise customers in niches that won’t attract immediate competition from much better funded rivals. Or get some venture capital and think really big! If you prefer the dream of being a millionaire, stick to building apps in your spare time. Better yet, buy a lottery ticket, it’s much less effort for about the same odds.

Categories
Business

The European App Economy 2014: Europe is losing ground to Asia

We have just published a research note with an update to last year’s an European App Economy report. The good news is that Europe’s app economy still accounts for 19% of global revenues and is growing strongly at a 12% annual rate. The bad news is that the rest of the world, particularly Asia, is growing much faster. The global app economy is growing at 27% annually and the share of revenues captured by developers in the EU28 is falling. We estimate that around 1 million European jobs have been created by the app economy so far. If policymakers want to see this job creation continue then there’s a lot more they could do to support developers attempting to create businesses.

European-App-Economy-2014_final

A $16.5 billion market

In our App Economy Forecasts 2013-2016 report we estimated that apps and app related products and services would generate $86 billion in revenues globally in 2014. The 19% share of this generated by European developers will contribute $16.5 billion to EU28 GDP this year. This is many times more revenue than is generated directly in the app stores. However, the EU is home to the top 2 app store earners globally in Supercell (Finland) and King (UK) – masters of the Free-to-Play games market. At the same time, European policymakers are some of the most vocal in attempts to enhance consumer protection with respect to the Free-to-Play model. So far there is only strong encouragement to reform practices around cost transparency but this could (justifiably) lead to regulation if insufficient voluntary action is taken. Significant changes in this area would undoubtedly impact the revenues of Europe’s most high profile app market success stories.

1 million jobs

We estimate that the number of direct European app economy jobs is up 26% from 2013 to 667,000, this breaks down as 406,000 professional developers and 261,000 non-technical roles in app-related business. Using a conservative multiplier we also estimate another 333,000 jobs have been created indirectly by the app economy in the EU28 for a total of 1 million jobs. A large fraction of these jobs are in software services companies taking the low risk route to profitability building apps on a contract basis. Contract software development is the most popular revenue model in Europe, favoured by 31% of developers. This may be partially due to the relative lack of seed capital for startup ventures in the region along with a relatively high cost of living versus most global competitors, making bootstrapping products more difficult.

2a

Slower growth

Although the European app economy is growing at less than half the global rate, some loss of share was unavoidable. Europe was very quick to reach high levels of smartphone penetration and most of the device sales growth is in developing markets. A significant fraction of demand for apps will always be filled by local developers with better market knowledge. As smartphone penetration increases in developing countries their local app economies are growing rapidly. European developers are well placed to export to English-speaking markets and South America but it’s not so easy for them to succeed in Asia. It’s likely that developers based in the EU will need specialist support or local partners to maximise app export opportunities in some of the fastest growing markets.

The enterprise opportunity

As smartphones reach saturation, businesses will play an increasing role in the growth of the app economy in Europe. In our Business and Productivity Apps report we forecast that this sector would experience rapid growth, reaching $58 billion globally by 2016. We have identified 5 areas where app developers and startups can add value in the business & enterprise app sector:

  • Vertical market specialisation
  • Productivity/BYO apps
  • Mobile SaaS
  • Bespoke enterprise apps
  • Mobile application and device management

While European developers are well placed to win bespoke enterprise app development business, they may struggle to compete with better funded rivals from other regions for the larger opportunities. Starting a technology business has never required less capital but scaling an enterprise software business is incredibly expensive to do quickly. The biggest mobile SaaS, application management and vertical market opportunities are likely to be venture capital fuelled land grabs. To ensure that Europe makes maximum gains from the future growth of the app economy, policymakers need to do all they can to keep app entrepreneurs from relocating to Silicon Valley in order to access the expertise and capital they need to compete.

Categories
Tools

Agile tools for the Samurai Coder

This post is not meant to help you understand agile methodologies. A simple Google search will be enough to reveal tons of posts presenting, explaining, analyzing and suggesting how to make agile methodologies work to your advantage. And we have to keep in mind that they all usually apply to teams of 3 or more people. This post is about the freelance developer who just needs a simple way to manage tasks and projects. I do not claim that I present the absolute and irrefutable Truth; every person has their own way of working. This post simply intents to be a starting point to another way of doing things.

Meet Sally. Sally is a developer, a Samurai Coder, a hero of the day and she absolutely loves writing code. She works as a freelancer and the other day she got a new project from a customer.

Before starting work, she picks up a piece of paper. She writes down the day’s tasks (to-do’s, appointments, ideas etc) and crosses off the completed ones. She repeats the same process every day. These sheets of paper pile up and follow her everywhere… until she finds Evernote. Evernote replaces the paper and uploads her notes to the cloud, but still…. The notes multiply just as much and just as quickly as the papers do. They only stop creating piles on her desk.

Sally is desperately in need of solution – a way to capture and track her customer’s numerous requests as well as the 100+ things she has to do. What about a bit of agility and organization? How about combining simple methods and tools to get things done? Sally gave it a thought and found out the 5 most important things to her:

  1. Ability to separate projects and tasks.
  2. Clean visual overview, i.e. understand what needs to be done, watch the progress or the big picture, and prioritize accordingly.
  3. Sharing and Collaboration features.
  4. Accessibility, i.e. ability to retreat her work through any device in real time.
  5. Speed, i.e. Sally’s work is programming, not using tools. Tools should work for her, helping her save time, and not the other way around.

The simple process

  1. Here’s a really simple and basic five step-process that Sally could follow. This kind of flow is Kanban-like (but I will talk more about Kanban on another post).
  2. Create a repository for every project.
  3. Separate it virtually in 3 areas: to “To Do”, “Doing” and “Done”.
  4. Add new tasks, requests or bugs in the “To Do” area.
  5. While working on a task, move it from “To Do” to “Doing”.
  6. Move the task to “Done” when completed.

image00

The tools

There is a great variety of software tools in the web; tools for small teams, big teams, distributed teams… But how about one single person? We will see how Sally can follow this process with the use of 3 simple tools: a) Trello, b) Asana and c) Wunderlist

a) Trello

Trello’s visual layout is very intuitive. Imagine a dynamic whiteboard with columns (lists) and cards (like advanced sticky notes).
How to use it:

  1. Create Project with the use of Trello Boards: Each Trello board represents a project. Add lists (columns) to simulate progress. Add cards as tasks. And that’s all…
  2. Managing Tasks: A new Board has by default three basic columns: “To Do”, “Doing” and “Done”. You can drag a card over these columns anyway you like and you can always visually track both the card and its status.
  3. Handling of requests or bugs: Trello has a color mapping that you can apply on the cards (e.g. red color for bugs). You may add lists, comments and much more.

image01

b) Asana

Asana is an advanced task list oriented application with an equally intuitive visual layout to Trello. It is fast, easy to use and quite popular.
How to use it:

  1. Create Project with the use of Asana Projects: Start a new project and add tasks in the center column.
  2. Managing Tasks: Tasks added in the center column get a level of hierarchy and may be stacked. You can start by creating the three high level tasks “To Do”, “Doing” and “Done” and then fill them with specific tasks accordingly. You can easily create a task, drag it to move and edit its details on your right hand side (add sub lists, comments and more). There is a checkbox in front of every task and may be checked if the task is completed. By doing so the task is removed from sight but if you prefer you can manually drag it bellow “Done”.

image02

c) Wunderlist

Wunderlist is a pure task list oriented application, though their newest update has many improvements including Collaboration and Public Lists. It has a clean UI and is much simpler than Asana, quite fast and user friendly.
How to use it:

  1. Create Project with the use of Lists. Add a new list and add tasks in the main column. Just like a true boss…
  2. Managing Tasks: Add tasks in one column. In order to create some kind of flow for your tasks, create more lists (see the example in the pic below). Wunderlist is quite easy to use, but not as advanced as other tools, i.e. missing collaboration features, ability to assign subtasks, etc.

image03

All of the above tools are equally fast, have the ability to collaborate (add more people to your list/project) and can sync to other available devices.

Quick Verdict:

Trello

 

+ Nice visual and collaboration.

 

– No task sub lists (there is a great checklist feature, but there is a minor problem: you cannot assign tasks to these lists. As a result you need to create separate cards).

 

– The visual style with the cards may overcrowd the board making it look messy.

 

Asana

 

+ Nice interface, quick.

 

– Not a nice “big picture” or “flow” visibility

 

Wunderlist

 

+ Nice simplistic UI, powerful task list.

 

– Missing advanced features the other tools offer.

 

+ Their recent update added collaboration features.

 

Sally in our story has therefore many great tools in her disposal. All she has to do is put her pen and paper aside and work easier and faster. And you can all join her!

Categories
Tools

Users Are People Too: The Key to a Successful App is Knowing Your Users

Given the staggering odds against the success of any app in the marketplace, it is surprising that so much effort is devoted to the creation of apps, many of which never see the light of day.

Today, there are over 1.2 million apps in both Apple’s App Store and Google Play, of which just 500,000 are ever downloaded. Out of the 500,000, 20 percent are only opened once in the first 6 months after download, and almost 50% are used no more than 5 times.

brains_thumbnail

Growth hacking relies on incomplete data

With very few exceptions, pure word-of-mouth and organic growth without additional effort on the developer’s part is not enough for an app to surface above the noise. As a result, an entire cottage industry of “growth hackers” has emerged, one which takes traditional marketing approaches and combines them with rigorous metrics to make sure that every step of the process is measurable and actionable. For example, Quora closely monitored the behavior of their most active users. They found patterns that were used to stimulate other users to behave in the same way.

[tweetable]One of the limitations of the growth-hacking approach today is that the mobile ecosystem is still a Wild West[/tweetable], similar to where the desktop software industry was some 10-15 years ago. The most established mobile tools, such as Flurry and Google Analytics are really good at telling developers how users are using the app… which version, operating system, for how long a user engages in the app, which buttons are being pressed, etc… but do little to tell you anything about the wants and needs of the people using the apps.

While these descriptive analytics are critical, there is another piece of the puzzle for creating a successful app, which has been undiscovered by developers today: human understanding.

Human understanding is defined as the knowledge about a user’s demographics, interests, and intents. While tools like Flurry and Google Analytics are starting to provide more of these user insights, they are typically presented in aggregate form, which makes a user hard to understand on an individual level.

Understanding your users

So what can be seen as an improvement? How do you know if you are providing more value to a user or if you’re slapping on features your users don’t care about? The answer lies in understanding your users.

A good place to start in trying to understand your users is to use analytics tools. This seems obvious but only 21% of app developers use these. The most basic information that could provide significant value is to know the demographics of your users. Are they mostly male or female? What is the age distribution? What is their income distribution? Also, from what countries are your users and what languages do they speak? With this data it is possible to make broad categorizations of users. For example, data can show that your app is popular in France among middle aged women. Without being prejudiced, one can assume their English is not great. Translating your app can boost its popularity even more and increase overall satisfaction with your app among these group of users.

The subsequent step is to find out what interests your users have. Integrating social media login possibilities in your app and asking for the right permissions can provide you with all the self-declared interests of the user. Combining this with their demographic data gives you improved segmentation options, which is another step towards a true understanding of your users.

Contextual information is important to consider as well. Where are people using your app; at home, while commuting, at work or in the gym? When are they using it? Only at night? Several times a day? How does this correlate to other users and what conclusions can you make from this? Also, on which devices/operating systems are they using your app at home and which ones while travelling? Figuring this out can direct your creativity and efforts to build features that cater to the context in which your app is used.

Given the vast amount of apps that are offered, no matter how unique your app is, your app has competition. To understand your user isn’t limited by figuring out who they are and how they behave in relation to your app, it’s about the competition as well! How often and how much do your users log in to competitive apps? What are the unique features of the most used competitive apps? Knowing this provides valuable information of what users appreciate in competitive apps.

When all these questions are addressed there is a huge opportunity to grasp. Combine the segmentation information with the usage data from your app – sessions, time in app, ads clicked, screen flow, transactions, returning user, etc.- to identify your most valuable, most engaged and/or most loyal users. Who are they? How are they using your app? If you find answers to these questions, you’ll have identified the people who value your app the most, as well as how they use it and which features create value for them. Having this insight can mean the difference between the life or death of an app. However, it’s important to consider that ultimately the actions that are taken based on these insights decide the future of the app.

What to do next

When you know who are your most valuable (whether this means most loyal, engaged, contributing to revenue, etc.) users you can start targeting and catering to the needs of those users. For example, when implementing changes in the user interface, most developers use some form of A/B testing to figure out what the effects are. This acclaimed method of improving your product can be even more effective when you filter out the effects of those users that are of little value to you. For example, you can be A/B testing an ad in order to optimise clickrate, but seeing very small differences between the two groups. However, if you segment your audience you may see vastly different results; your target group of ‘valuable’ users might be much more engaged with the content than other user groups. The same technique can be implemented for building new features, expanding your offering of in-app purchasable items and personalizing content. [tweetable]By knowing your users you are able to make better and more timely decisions to improve your app[/tweetable]. Over time, your most valuable users are perfectly catered to which makes them love your app even more. This results in a higher retention rate, more engagement and a higher chance of getting recommended to their peers.

Financially, knowing your users makes sense as well. You can offer your ad space to advertisers that are targeting the segments you identified to be your most loyal and engaged users, which raises the eCPM and lowers idle time of your ad space. Additionally, marketing efforts to obtain new users yourself can also be highly targeted. Most developers greatly underestimate and are dissatisfied with the cost of acquiring new (valuable) users. With true user understanding it is possible to specify efforts and use your marketing budget efficiently and effectively, simply getting more bang for your buck. This is especially relevant for developers who are trying to make a decent living from their apps. These findings correspond with those of advisory company Gartner. They concluded that in order to make an app profitable, developers need to win customer’s loyalty and satisfaction by delivering a well designed and top-performing product.

Building your next app

Success is a concept that can mean different things to different people and different kinds of apps. Some developers don’t like to discuss marketing and the business side of developing and maintaining an app, but it’s an indispensable part of making an app successful. For the people that are in it to make a living, knowing your users is crucial. Raising your ads’ eCPM, lowering its idle time, getting a higher return on marketing investments and a higher Life Time Value (LTV) is worth taking the time to get to know your users. Your efforts will be focused to cater to your most valuable users which greatly improves effectiveness across all your activities, from building new features to marketing your app.

Having these insights doesn’t have to be limited to just one app. Building your next app based on this vital information can give you a head start. You can use it to answer questions such as: What platform should I focus on? iOS, Android, both or try other platforms with less competition? Optimize for smartphones, tablets or both? What sort of features were most appreciated by the most valuable users in your other app? Who were the users that did not show any improvements in usage after an update? What can you do to turn the least valuable users of your other app into the most valuable for your next one?

Having a successful app is every developer’s dream when they push their app live. However, given current statistics on overall user retention in the app stores, there is a lot of room for improvement. The old saying “to measure is to know” is very applicable in this matter, but it’s only half the work. Turning what you know into actionable information is when the real magic happens. Only then you are on the right track towards systematic improvements to your app and getting that elusive success you are dreaming of.

Categories
Business Platforms Tools

State of the Developer Nation: The App Economy Consolidates Before the Next Gold Rush

Our 7th Developer Economics survey broke all records again, reaching more than 10,000 app developers from 137 different countries. The full report with the survey findings has just been published and is available for free download!

The view of the app economy that they collectively provide is one of consolidation. Developers are focusing their attention on fewer platforms and app revenues are becoming increasingly concentrated amongst the top publishers. Consolidation in the developers tools sector may also be partly responsible for the decline we see in tools usage. This is also reflected by the platforms, with BlackBerry moving their focus away from consumer smartphones and Microsoft killing their recently acquired Asha and Nokia X platforms to double down on Windows Phone. Fortunately there are several indicators that the next gold rush is just getting started.

Platform Wars in the App Economy

On a global level the platform wars are ending with iOS claiming the majority of the high-end device market and Android winning almost everywhere else. This results in [tweetable]Android leading in developer mindshare at 70% with iOS a clear second with 51% of developers targeting the platform[/tweetable]. However, we’ve been tracking this metric since 2010 and there is a new pattern. [tweetable]Windows Phone was the only platform to gain developer mindshare, rising steadily to 28%[/tweetable], despite failing to gain device market share. Although Android and iOS lost developer mindshare, this was not fewer developers prioritising either platform, rather more developers are now choosing sides. The average number of platforms a developer targets has fallen from 2.9 to 2.2 over the last 12 months, with more than 40% only targeting a single platform.

DE2014Q3_Mindshare

BlackBerry 10 is rapidly leaking developer mindshare, down to 11%, having failed to gain traction with consumers. Meanwhile, it’s now becoming increasingly clear that [tweetable]the future of HTML5 lies beyond the browser[/tweetable]. Although HTML5 is used by 42% of developers as a technology for app development, only 15% still target mobile browsers as a distribution platform.

A surprisingly high 47% of iOS developers and 42% of Android developers are using something other than the native language on their platforms. While hybrid apps are the most popular non-native option for building Android and iOS apps, they’re only used by 13% of developers. Hybrid apps are HTML5 apps with a native wrapper, typically created by tools such as Cordova.

DE2014Q3_NativeMyths

App Revenues

The majority of app businesses are not sustainable at current revenue levels. [tweetable]50% of iOS developers and 64% of Android developers are below the “app poverty line” of $500 per app per month[/tweetable]. 24% of developers interested in making money earn nothing at all. A further 23% make less than $100 per app per month. The overall app economy, including all revenue sources not just the app stores, is still growing but the revenues are highly concentrated. At the top end of the revenue scale there are just 1.6% of developers with apps earning more than $500k per month, collectively they earn multiples of the other 98.4% combined.

DE2014Q3_iOS_vs_Android_Revenues

State of the Game Developer Nation

Games dominate app store revenues, yet most games developers struggle. [tweetable]33% of developers make games but 57% of those games make less than $500 per month[/tweetable]. Experience breeds success in the games market. The more games a developer has shipped the more likely they are to be financially successful. However, 70% of games developers have shipped less than 4 titles.

Games is a multi-platform world with the average games developer targeting 3 platforms versus 1.75 platforms for non-games developers. Multi-platform games benefit from cross-platform game development tools with Unity by far the most popular, used by 47% of developers. The next paid tool, Adobe Air, comes a distant second at 15%. Apple and Google’s latest graphics technologies launch a battle for the richest gaming experiences. Third party game development tools like Unity and the Unreal Engine will be key to developers exploiting these capabilities.

DE2014Q3_Game_Dev_Tools

Tools of the App Developer Trade

Third-party tools are a critical part of successful app businesses. There’s a strong correlation between tool use and revenues, the more tools a developer uses, the more money they make. We successfully predicted the rise of the Mega-SDK, where consolidation amongst tools companies allows developers to integrate multiple tool categories from a single vendor. Despite this, tool use is declining, partly due to the rapid influx of new mobile developers. These new developers are typically not aware of the tools that are available and thus reduce the average usage levels. 26% of developers that are interested in making money don’t use any third party tools, up from 14% just 12 months ago.

DE2014Q3_Tool_Popularity

The most popular category of tool is Ad Networks, with 30% of developers using them. However, this is one of the few tool categories that is not associated with higher than average revenues. More experienced and successful developers show a preference for Cloud Computing platforms, such as Amazon Web Services or Microsoft Azure, with 40% of those with 6+ years experience in mobile apps adopting them.

Enterprise Apps – The Next Gold Rush

[tweetable]Enterprise apps are already the safest bet in the app economy and they’re only just getting started[/tweetable]. 67% of mobile app developers primarily target consumers and 11% target professionals directly. The 16% of developers who target enterprises are twice as likely to be earning over $5k per app per month and almost 3 times as likely to earn more than $25k per app per month.

DE2014Q3_Enterprise_vs_Consumer

Penetration of enterprises with mobile devices and solutions is already broad but not yet deep. Currently iOS appears to be winning the battle for enterprise adoption and revenues. Yet many developers are focusing on the wrong platform with 10% more enterprise developers targeting Android than iOS. Although enterprise apps have been a historical strength for them, Microsoft and BlackBerry are seeing very weak adoption for their new platforms amongst enterprise developers due to lack of demand from enterprises.

This battle is in the very early stages. Microsoft is re-focussing on their core competence in productivity software while Apple and Google move rapidly to embrace enterprises. Google’s integration of Samsung’s Knox platform into the Android platform is a major step forward. Meanwhile Apple’s new partnership with IBM gives them a strong proposition in all the major vertical markets. These moves will undoubtedly drive greater adoption of mobile technology in enterprises and create countless opportunities for developers to help re-think the way we work.

For more information, download the full Developer Economics Q3 2014: State of the Developer Nation report and check out the war between the European and the Asian app economy.

 

Categories
Platforms

Benefits and Challenges of HTML5 App and Game Cross-Platform Development

HTML5 web app development had its ups and downs but it is undeniably one of the most promising technologies for the upcoming years. The best example can be found on desktop systems, where users are spending more time inside a browser than ever before.

HTML5

Hundreds of traditionally native apps are turning into web apps as they provide advantages like interoperability, ubiquity and cross-platform. The features added in the new HTML5 standard allow a much more dynamic web content and the development of applications never before imaginable on the web, such as videogames, one of the most performance and resource demanding type of app. But this cross-platform promise is still in the making and it is key for developers to understand the benefits and challenges before committing to a fully web based approach. In this web Vs native controversy it is important to remember that [tweetable]the adoption of a technology should always be driven by the needs of the project to be developed[/tweetable].

Benefits

In order to provide the most accurate view of the status of web based project development and make the right decision, let’ summarize the benefits of the web first to identify the opportunities it offers.

Cross-platform

This is the main feature why developers have originally turned into web technologies looking to fulfil the promise of coding once and deploy everywhere. As some of the other advantages of the web, cross-platform is in its nature, as it is meant to run on any device (hardware) and operating system (software). The web can be accessed from a PC, Mac, laptop, desktop, mobile device, smart watch, car and even home appliance. We know one thing for sure about any futuristic new device: it will be able to access the web.

Content on demand

Many developers do not identify this feature as a benefit because they take it for granted as, once again, is in the nature of the web. But [tweetable]being able to provide content on user demand is one of the biggest benefits the web puts on the table[/tweetable]. Applications can easily vary and adapt with none or little effort from the developer perspective and new paradigms and user cases can be easily accomplished, like promoting the use of an app or a new feature while communicating with others. The messaging app Kik is a great example of an application that is showing the benefits of on demand web applications as provides its users with the option to run apps and games without having to leave the messaging environment.

Full technology stack

This is a feature that goes hand in hand with cross-platform as its goal is to ease the process of building a product for developers. Web technologies can be used full stack, from client to server, thanks to platforms like Node.js. Many products need a desktop based UI/UX and their mobile versions could be developed using the same technologies and reusing plenty of the same code. Same thing happens in the server side as many data structures and even algorithms can be reused speeding up development cycles, lowering possible mistakes and bugs and increasing maintainability in the long run.

Based on open standards

This is more important than meets the eye. There have been various technologies in the past that made the cross-platform promise but did not completely deliver. Amongst other reasons, they failed because of being closed and tied to a specific company. Open standards allow both vendors and developers to contribute and improve the final product. This is one of the key success factors of the web. There is no head controlling it so it can evolve according to the needs and interests of many.

Supported by big companies

The web is supported by the biggest technology companies in the world like Google, Amazon, Microsoft, Facebook, Samsung or Apple. Most well known and used browsers are developed by some of these companies that also are part of the standardization committee. This support is a good example of why the web is here to stay and why it will continue gaining momentum as a development platform.

Big developer community

The web is also driven by its developer community, one of the biggest as it involves front-end and back-end developers that are always providing new tools and support. Mobile is the frontier to conquer but there is no doubt the web has won on desktop environments. There is no company, product or service that doesn’t have presence on the web both directly or indirectly. This whole ecosystem of applications is developed by a thriving community of developers that not only need to understand the backend side of the equation but also how browsers and client side technologies work.

WebGL

This feature might change the perception of the web for both apps and games. It provides access to high end graphics and to a more interactive web crossing the boundaries of 2D to enter the third dimension (and even improving the 2D experience with hardware accelerated graphics). All the big browsers support it out of the box now as the last two players, Internet Explorer and Safari, have finally committed themselves to promote it too.

The list of the benefits of the web could even be longer. After reading this set of features, the web could be the first (and maybe the only!) option when it comes to implement a project: be everywhere, anytime and with the the option of using the same technology full stack. But the truth is that web technologies are not widely used in many scenarios (specially when it comes to mobile).

Challenges

Let’s review the main challenges that developers need to overcome and some tips on how to do it.

Cross-platform is more than devices and operating systems

It also involves markets, stores, destination sites, … deployment targets in the end.[tweetable] The holy grail of code once and deploy everywhere comes at a price: handling the particularities of each deployment scenario[/tweetable] can be tricky. Developers need to create accounts, understand the packaging details on each platform, install and learn how to use the tools provided, etc. There are some solutions in the market based on cloud services to be able to configure and deploy a product to different targets with simple to use interfaces taking all these burdens out of developers shoulders. Some examples of this kind of services are Intel’s XDK, Adobe’s PhoneGap Build and Ludei’s CocoonJS.

Cross-platform does not really mean same code or user interface/user experience

It is important that developers understand that cross-platform does not mean the same exact app will mandatorily be the one that will end up going to the different markets. Mobile devices have some inherent particularities like the different input method (touch screens) and limited screen resolutions that must be taken into account. Also, users on mobile are used to different set of interaction paradigms especially when it comes to social media integration or access to native features. [tweetable]A good advice is to think on mobile first if mobile is key for the product[/tweetable]. Mobile device memory, performance and feature limitations should also be taken into account. Having good tools for rapid prototyping, testing and debugging is also key. Many HTML5 app development frameworks provide tools for what is called responsive design. However, this challenge is still less of a problem compared to developing an app in different technologies (web for the desktop, Objective-C for iOS, Java for Android, C# for Windows Phone, …).

Browser feature fragmentation

Yes, the web is an open standard and that is a benefit, but the adoption of these standards rely on browser vendors that have their own agendas, as they are private companies in the end. Standardization takes time too and it is important to take that into account if a feature is a must inside a project. This situation leads to an API and feature fragmentation that has hurt the web application development from the origin of the internet (remember Internet Explorer Vs Netscape “browser wars”). Use of prefixes, incomplete or different implementation of some of the APIs, promotion of non standard ways of handling certain situations are just some of the examples of this challenge developers have to face. Vendors are improving their old day practices and the auto update of the browsers has helped a lot in order to allow users to benefit from the latest additions in a daily manner. There are also initiatives to mitigate the negative side-effects of these practices like some open source libraries to ease the handling of supposedly standard features, e.g. Modernizr. Still, this might be a challenge for some developers. On mobile, this problem is magnified as mobile operating systems (specially Android) and browsing technologies are still in their infancy. Technologies like Ludei’s WebView+ or Intel’s Crosswalk help overcoming this problems as they offer a unified execution environment regardless the Android operating system version. One less headache for developers.

Low performance, especially on mobile

Execution speed has been one of the main problems holding HTML5 back as a widely used cross-platform app and game development technology. Mobile has been the platform where this problem has been more notorious as mobile devices have more limited processing power. As hardware has evolved, the performance gap between mobile devices and desktop computers is shrinking. Improvements on browsing technologies has also helped on solving this issue. Still, the biggest problem related to performance is, once again, due to fragmentation. To be able to develop a native web application, the system webview element is used. The issue with the webview is that it’s tied to the OS version, so that the user needs to update the OS for the webview to get new features and updates. Android fragmentation makes the webview a poor choice when it comes to deploying HTML5-native hybrid apps. But there are solutions to this problem. Once again, projects like Crosswalk and Ludei provide a huge improvement in order to solve the performance issue. Actually, Ludei provides multiple options (WebView+ and Canvas+) to help on this matter depending on the type of project (a general purpose app or a canvas based game). The bottom line is that there are solutions for the performance problem that prove that HTML5 can be a good execution environment for cross-platform apps and games.

Access to the native features on each platform

The web, as many other technologies before it, because of its cross-platform nature could be limited in its access to platform-specific features. This is a fact and in many cases, a limitation. Either way, the huge support that the web has over the whole technology community makes it a primary target for the adoption of new products and technologies. Good examples of this are devices like the Leap Motion controller or the Oculus Rift VR Head Mounted Display. Thanks to new APIs like websockets, these completely over the edge technologies are present from day one on the web. A similar situation arise on mobile with an increasing need to access hardware features and many of the interesting APIs only available in the OS/native level. The good news are that browsing technologies are rapidly adopting these important features. Moreover, thanks to hybrid approaches, there are JS to native bindings that allow accessing any native feature from a web app. Cordova is the de facto standard for building these bindings called plugins. Literally, there is no limit on what can be accessed: In-App Payment APIs, Push Notifications, Advertisement SDKs, Social Network SDKs, and a long etcetera.

[tweetable]The benefits of HTML5 and the web are undeniable; the web is here to stay[/tweetable]. The devices of the future might support software languages like C, Java, Swift or a new language we’ve yet to see – but the common denominator will always be the web, a technology that has brought us together and has enabled a much richer communication and access to information. The true strength of the web and HTML5, its most recent standard, lies in its ubiquitousness and its flexibility. HTML5 has advantages and limitations, and knowing how to leverage the former and overcome the latter is what sets apart good from bad engineering teams. It’s just a matter of choosing the right tool for the right job.

Categories
Platforms

Smartphone Market Share And Usage By Country – Apr-May 2014

Worldwide Smartphone Usage Share

My argument was that market share patterns by country could give us a better understanding of these trends. While market share of shipments is certainly a leading indicator for install base (and consequently, usage), it only gives us a part of the story. Contrasting regional market share and usage share (as a proxy for install base) may give us an even better understanding.

As always, I’ve sourced the figures for shipment market share from Kantar while usage share figures are from Statcounter. Usage share (or browsing share) isn’t an ideal proxy for install base as it could be skewed towards higher end devices. However, the trends in usage share could give us a fairly good understanding of the underlying install base. For example, the chart above shows that Android’s usage share has been growing while that for the iPhone has declined slightly. This should be expected as Android’s shipments and install base have been growing much faster than those for the iPhone.

Now, let’s take a look at the trends in each region:

Mature Markets: US, Australia, Japan and Europe

US: Android Gains on iPhone after Unsubsidized Plans Take Hold

US Smartphone Market Share

US Smartphone Usage Share

The market share chart shows that AT&T’s foray into unsubsidized smartphone plans in late-2013 had a measurable impact on the iPhone. As a result, the iPhone has seen steep YoY market share declines. We can see this pattern in the usage share chart as well. Android and iPhone usage patterns were diverging until late-2013, when they began to converge again. Meanwhile, both charts show that Windows Phone has been unable to penetrate the US market.

Australia: Android Usage Grows

Australia Smartphone Market Share

Australia Smartphone Usage Share

Android has held the market share lead in a fairly cyclical market for a few years now. Over this period, it has made steady gains in usage share. Windows Phone’s market share has been hovering around 5-7% for a year now, but it has barely made a dent on usage. This could mean that Windows Phone devices are being used as feature phone replacements.

Japan: iPhone Extends Lead

Japan Smartphone Market Share

Japan Smartphone Usage Share

As I’ve explained before, Japan is one of the only remaining markets in the world that follows a purely opaque pricing structure for smartphones. This pricing model, combined with a distribution partnership with NTT DoCoMo, gave the iPhone a huge market share boost. As we can see, this has had a major impact on iPhone usage as well.

UK: Android Makes Steady Gains

UK Smartphone Market Share

UK Smartphone Usage Share

As I’ve explained before, market share patterns in the UK seem to be stabilizing with lower cyclicality. Usage share patterns have remained stable as well, with Android gradually catching up with the iPhone. Interestingly, Blackberry owned a significant share of usage even after 2012 but Android gradually ate into its base. Windows Phone remains a bit player, but at least its usage share doesn’t scream “feature phone replacement”.

Germany: Android Dominates

Germany Smartphone Market Share

Germany Smartphone Usage Share

Android’s market share in Germany has grown steadily over the past few years. As a result, its usage share overtook that of the iPhone in mid-2012 and now holds a dominant position. This had a significant impact on the iPhone’s performance. Windows Phone’s market share has hovered at around 7%, but it has struggled to make an impact on usage.

France: Android Leads Shipments, Overtakes iPhone in Usage Share

France Smartphone Market Share

France Smartphone Usage Share

Android’s market share has remained stable over the past year, while the iPhone has remained cyclical. Android’s shipment supremacy has led to a direct impact on the install base which caused Android’s usage to overtake the iPhone’s earlier this year. Meanwhile, Windows Phone’s market share seems to have had a meaningful impact on usage.

Italy: Android Leads, Windows Phone Tails Off

Italy Smartphone Market Share

Italy Smartphone Usage Share

As in Germany, Android has made steady gains to become the leading platform in both market share and usage. The iPhone has seen steep declines on both metrics as was also challenged by Windows Phone. However, Windows Phone shipments, and consequently usage, have tailed off over the past few months.

Spain: Android Becomes the Default Platform

Spain Smartphone Market Share

Spain Smartphone Usage Share

This one seems self-explanatory.

Emerging Markets: China and Latin America

China: Android and iPhone Remain Steady

China Smartphone Market Share

China Smartphone Usage Share

Market share patterns in China have stabilized as the market seems to have moved out of hyper growth. Over this period, Android and the iPhone have feasted on legacy platforms like Symbian. As the market matures, we may see more direct competition between these two platforms. Interestingly, the iPhone’s partnership with China Mobile seems to have had no impact on these patterns.

Mexico: Android Replaces Blackberry

Mexico Smartphone Market Share

Mexico Smartphone Usage Share

Mexico is the only market on this list where Blackberry held a market share lead at some point in the last two years. However, this market share lead did not translate into usage which suggests that they were primarily used as feature phones.

Over the past couple of years, Android has taken a dominant position in market share and usage. The iPhone’s share of usage has declined over time, but still seems out-sized compared to its market share. Finally, Windows Phone seems to have a measurable, but not significant, presence on both metrics.

Brazil: Android in the Lead

Brazil Smartphone Market Share

Brazil Smartphone Usage Share

As in Mexico, Android holds a dominating position in both market share and usage while iPhone usage remains far higher than its market share. Windows Phone has a small presence, but it seems muted compared to other Latin American countries.

Argentina: Android Leaves Other Platforms Behind

Argentina Smartphone Market Share

Argentina Smartphone Usage Share

Android’s performance in Argentina seems to be dominant enough to create an oddly stable usage share pattern. Windows Phone is the second leading platform on both metrics, but remains far behind the leader.

Categories
APIs

Permissions in Mobile Ad SDKs

If you’ve ever tried to integrate a mobile ad SDK into your application, then you’ve definitely had to declare a few permission for it to work. Permissions in mobile platforms such as Android and iOS have been baked in from day one as a mean to control what applications could do or access on your phone, preventing despicable people getting access to your most personal and sensitive data. In this article, we will review what permissions are required to integrate 10 of the most popular mobile ad SDKs out there.

de-illustration-cropped

For the sake of clarity and consistency, we will use the Android SDK permissions. Since most of these mobile ad networks mirror their Android and iOS SDKs this is an acceptable simplification, so without further ado, let’s jump right in.

table_permissions-1024x767

The Internet Permission

This is a no-brainer really. If any ad SDK is going to be able to serve real-time ads, then it has to be able to communicate with an adserver over the internet. It’s no surprise then that all 10/10 SDKs require this permission.

The Network State Permission

Accessing the network state simply means identifying if the device is connected to the internet. If the answer to this question is yes, then this permission can also be used to identify if the connection is through a WiFi or a Cellular connection. This is the second most common permission across our sample with 7/10 SDKs requiring this permission and another 2 listing it as optional.

Access WiFi State Permissions

Using this permission is another way to check if a user is connected to WiFi or not but is clearly not the most popular method as only 2 SDK mark this as required with another 3 making it optional.

Read Phone State Permission

A less popular permission as only 3 SDKs require this but nevertheless all three make this a requirement.

Access Coarse/Fine Location Permissions

This is a very important set of permissions. Traditionally location has played a key role in advertising but has an especially increasing importance in digital mobile advertising. It comes then as no surprise that 7/10 SDKs are interested in this permission. There is a clear trend here that these permissions are mainly optional permissions because they can be considered as more “intrusive” by users so developers tend to avoid them if not using them already. On the other side, including location info with an ad request can usually boost potential by a great deal so this situation can present a great dilemma.

Other Permissions

While the permissions mentioned above are the most popular ones, you may encounter some less frequent ones like write to external storage or even record audio. Throughout the 10 SDKs mentioned in this article, we measure 12 distinct permissions which is not a very big number considering that the Android OS has more than 100 available to declare.

Most SDKs that we have reviewed for this article have very reasonable permission requirements. Ultimately, it’s up to the app developers to find the sweet spot on what they will allow these SDKs to collect and if they are willing to introduce new permissions in their apps just for this. On the other hand, by doing so, app developers can realise a substantial boost in earnings due to more targeted and relevant ads, which can be a great thing for the end-users as well!

Categories
Platforms

Building a business not just an app? Start with the revenue model

The number of app developers using business models that don’t rely on app store payments is increasing. In some cases this is sophisticated app developers adapting to the market. In many cases it’s simply a greater number of existing businesses starting to use apps as a channel to reach potential customers. We can use the data from our Q1 Developer Economics survey to examine which strategies carry the most risk and which have the greatest chances of success. Could you use one of the more successful models for your next app?

business models - mobile platforms

We asked developers to tell us all of the revenue models they use and also whether their business was loss making, breaking even, making a slight profit, or generating comfortable profits. Revenue model popularity and a sample of profit & loss distributions are shown below.

Build apps for other people

[tweetable]Contracting is the most popular revenue model and also the one associated with the second lowest probability of making a loss[/tweetable] and third highest probability of comfortable profits. Of course, contract work also has strictly limited upside – it’s not really possible to build a scalable business around contract work without becoming a global giant consulting company. That said, the [tweetable]majority of developers would be better off if they spent most of their time on contract work rather than their own apps[/tweetable].

App store payments and advertisers

The next most popular revenue models, in-app advertising, paid downloads, in-app purchases and freemium are all relying on directly monetising an app. Together they are the four most risky models with the lowest chances of profit. [tweetable]Paid downloads are the least successful revenue model[/tweetable]. Although easy to implement there are very few cases where offering a straight paid download will create a financial success. Even on iOS, despite a still growing user base, the paid download market appears to be contracting fairly rapidly in the face of free app alternatives with in-app purchases. Despite the advantages of the in-app purchase model, it’s still quite far behind other models.

Selling services

Subscriptions are the next most popular and also relatively low risk and successful. However, implementing subscription based services is usually more complex than selling apps or virtual goods. Many subscription based businesses are simply using an app to sell subscription content. Another interesting possibility for developers in this area is to resell generic cloud services by adding value on top. As very basic (and already well served) examples, re-sell storage by adding document collaboration or photo management features on top.

Providing services that app developers can resell is one model for those selling developer services. Others include tools or services that help developers design, build, market or monetise their apps. This is one of the lower risk models with a good probability of profit. It follows the classic advice that when there’s a gold rush, the best thing to do is sell picks and shovels. There are still plenty of opportunities in this space (where are all the tools that help me prototype animations?) but also others with too much competition (some BaaS providers are already shutting down).

Selling stuff

[tweetable]Apps that make money through e-Commerce are the most successful in terms of making comfortable profits [/tweetable]and have by far the lowest risk of making a loss. Most developers using this model had existing e-Commerce businesses and have just added mobile apps as another sales channel. There are some startups with mobile first commerce apps though. More than 50% of developers using this model make comfortable profits related to their apps, so the cost of building apps is more than paid for by sales through them.

Affiliate and CPI programs allow developers to sell other people’s stuff. Using an affiliate program could be selling products related to your app through Amazon. Alternatively, a travel guide app might integrate a flight search SDK that provides a native search experience within their app – the developer gets paid whenever anyone books a flight. Affiliate programs were very popular on the web and their native counterparts are likely to be as well. CPI programs are for selling other developers apps, or at least getting users to install them. The top free-to-play games have extremely high ARPU and as they try to grow rapidly it makes sense for them to pay almost anything less than their ARPU for a new user (since new users boost chart ranking and thus organic installs). Other apps are a good place to advertise apps, so this is likely to be quite a lucrative option until either there’s an oversupply of quality advertising inventory or a crackdown on free-to-play games.

Royalties or licensing

We skipped per-device royalties or licensing in the middle of those last two. Overall this doesn’t have much lower risk than relying on the app stores or ads. However, this is inherently a higher risk strategy with bigger rewards for success. It usually involves building a product for large companies or even OEMs. The downside is that the number of direct customers in the target market is usually quite small. This is usually a model for those with great connections, a lot of funding, or both.

Build a business, not just an app

The app stores made it really easy for developers to sell software to a very large audience for the first time. With over a million apps each for iOS and Android, that is no longer the case. Discovery is hard and larger, more sophisticated organisations are dominating the top charts. If you have a great idea for an app, see if you can find a great revenue model to fit it. If not, try to come up with another idea. Outside of the VC-funded startups, developers that succeed will be the ones that think about where their revenue will come from before they’ve started building the app.

For more information of the success recipe of mobile apps, check out our App Economy Profits report.