Categories
Business

Mobile Gaming’s Dirty Secret

Mobile gaming is a major growth industry. Revenues and profits are soaring and the most successful companies are attracting valuations in the billions of dollars. However the market dynamics are such that very few can succeed and those that do have incentives which are a long way from maximising fun for players. Where are all the revenues coming from? Is the market fundamentally broken? If so, why aren’t the platform owners trying to fix it?

Mobile Gaming's Dirty Secret

Spectacular Growth

[tweetable]In 2013, games accounted for around 40% of all app downloads across the iOS App Store and Google Play[/tweetable] but approximately 75% of the revenues (according to App Annie). Game revenues more than doubled year over year on the App Store and more than quadrupled on Google Play. By the end of 2013, revenue from games on Google Play was still only about 60% of the iOS App Store equivalent. Since Apple had $10 billion in App Store sales in 2013, we can estimate very roughly that [tweetable]there were around $10 billion of games revenues across the two stores[/tweetable]. This is not far from Gartner’s estimate of $13.2 billion for all mobile games in 2013, projected to rise to $22 billion in 2015.

Increasingly Freemium

According to Distimo 90% of all games revenue on the iOS App Store came from free apps with in-app purchases in November. The percentage of revenue attributable to freemium apps in the entire store grew from 77% to 92% across the year. [tweetable]On Google Play 98% of all revenue was generated by freemium apps in November[/tweetable], so the games revenue there clearly favours the freemium model to an even greater extent than on iOS.

Now there are very good arguments that all successful digital content will eventually use some kind of freemium model, here’s a good recent summary. However, there’s a special subset of freemium that’s really generating all the growth and revenue, so called free-to-play games selling virtual goods (e.g. coins, gems, lives). Only a small fraction of users pay at all, only 1.5% according to Swrve, then a fraction of those pay so much more than you could ever get for a paid download or unlocking levels that the average revenue per user (ARPU) is higher than all other models – at least when the game mechanic and purchases are well designed to optimise for this behaviour.

Winners Take All

The games with a combination of high ARPU and broad appeal (so they get high conversion rates on user acquisition spending) can afford to bid the most for new users, squeezing others out of the best user acquisition channels. This creates a feedback cycle with the store charts, bringing in even more users organically. Our Developer Economics survey data confirms this: the typical games developer monetising via freemium and in-app purchase business models makes only about twice as much on average as those using the roughly equally popular paid download and advertising models. This difference is nowhere near enough to account for the highly skewed revenue distribution in the app stores. A large fraction of the total revenues are being made by a handful of top publishers.

Who’s Paying, How Much and Why?

Up to this point it sounds like the industry has hit on a fantastic profit formula to be emulated by all. However, if you look at the numbers and their implications then things start to look a little darker. Of the 1.5% of players who pay anything for their “free” games, 10% of those account for more than 50% of the revenue (see Swrve report above). Indeed just 1% of paying players, that’s 0.015% of all players, account for 13% of revenue; contrast with 11% of revenue from the bottom 50% of payers. Even with the astronomical size of mobile user bases, some basic arithmetic suggests the top 1% are spending more than $10k a year each on these games, even the top 10% are spending hundreds of dollars.

The free-to-play games industry likes to call these high spending players “whales” after the high rollers in the casino industry. However, high rollers only account for a small fraction of revenues in the gambling industry and they have a very real chance of winning big too, even if the odds are tipped in the favour of the casino. A better analogy from the gambling industry would be the slot machine addicts who generate a large fraction of the revenues. In fact, these mobile games are designed to be “addictive” it’s just that for some players the addiction becomes very real and they lose all rational control of their spending. So rather than hunting for the high-spending whales, this part of the industry is really exploiting vulnerable digital narcotic addicts.

If you want to see an example of what that looks like in real life, read the New York Times interview with George Yao, a long time top player in Supercell’s Clash of Clans. He spent $3k of his own money on the game in 3 months before wealthy clan mates started to bail him out. At one point he was taking 5 iPads into the shower with him to help maintain his ranking. In his own words about the experience:
“Looking back, I think I must have been insane,” he told me, with a mix of pride and revulsion. “I was so immersed in it at the time. I knew it was abnormal, but never to the extent that I see it now.”

What Next?

Apple and Google could easily stop this with some sensible limits on monthly IAP spending per app. That could cut off billions in revenue through the stores of which they take a 30% cut. However, the revenue itself is not that significant to either business. More important are the headline revenue and growth figures enabled by this that maintain developer interest in the platforms. As such we’re likely to see external regulatory action before any strong voluntary action on the part of the stores. Apple have already created the Kids section in their store which has extra review criteria to protect children from IAP and targeted advertising but they’re not currently doing anything to stop apps targeting children with purchases that aren’t attempting to list in this new “safe zone”. In most countries, children are not the only consumers protected from questionable business practices. The EU has just announced meetings with the app industry to discuss consumer protection issues – this is likely to repeat elsewhere until the real cost of “free-to-play” games is made more clear to consumers.

If you are interested in Business Models in Mobile Gaming, have a look at the three part series on battle insights by a mobile game CEO.

Categories
APIs

Mapping it out: APIs for location-based apps

mapping-it-out

It wasn’t many years ago that, finding yourself with a hankering for a curry in an unfamiliar city you’d two choices; trudging the streets or waylaying a local. Today, with almost any smartphone you can quickly locate nearby eateries, see reviews and ratings, make a choice, and get guided to your meal with turn-by-turn navigation.

Location-based services are an important, integral part of the smartphone experience. The desire to offer users ‘the best’ mapping experience was graphically illustrated in 2012 when Apple launched its own map offering. Enabling developers to take advantage of and extend a platform’s location data is a vital part of the ‘location’ value proposition.

I’ve been asking myself, what’s the state of play when it comes to creating location-based apps? Has the technology reached a maturity where all platforms are equal? If you’re starting with your first location based app, which platform offers you the best tools and the most opportunity to differentiate?

The first question: which platforms? The big three seem obvious: Android, iOS, and Windows Phone. The other major thread in platforms would seem to be HTML5 ─ not only do we have the browser options, both native and third-party on the ‘big three,’ but potentially interesting developments with the likes of Tizen and Firefox OS offering ‘native’ HTML5 apps. So I’ve thrown that into the mix.

Now, having set the scope, let’s find out what’s available.

1. Location

The foundation of all location-based apps and services is the ability to determine where the user is located. Then, for applications such as navigation and augmented reality, direction of travel or the direction the user is facing are vital pieces of information as well.

1.1. Location technology

Most smartphones offer a GPS chip, usually with the addition of Assisted GPS (A-GPS) to improve the time to a first fix when initially requesting location details. In some platforms GPS-based location acquisition may be augmented with techniques based on mobile network cells and WiFi hot spots. These technologies help improve the accuracy of location information in cities, where buildings may obscure the signals from GPS satellites.

GPS also provides heading information, but only when the user is moving. The need for heading, or more particularly information on the direction the user is facing, is provided by magnetometers and gyroscope sensors.

1.2. APIs

The key feature of the APIs provided by all the major platforms is that they insulate you from the underlying technology used to acquire location/direction information. As might be expected, given this is the core enabling technology for location based apps and services, the features offered across the main platforms are fairly uniform, as shown in the following table:

iOS (7) Android (4.x) Windows Phone 8 HTML5
Location providers GPS and GPS/Cell/WiFi GPS and Cell/WiFi GPS/Cell/WiFi Platform specific, mainly GPS
Location (lat/long) Yes Yes Yes Yes
Altitude Yes Yes Yes Yes
Direction of travel Yes Yes Yes Yes
Direction facing Yes Yes, sensor API Yes, sensor API Yes, Orientation API
Geocoding/Reverse Geocoding Yes Yes Yes No
Background tracking Yes Yes Yes Platform dependent

All the three main smartphone platforms provide similar location and orientation APIs, in addition to geocoding capabilities. While iOS and Android provide you with explicit access to the GPS location, Windows phone provides location based on a desired accuracy and fix time, which can be manipulated to ensure a GPS location is provided.

iOS is the only platform that incorporates information on heading/facing within the location API; the other platforms rely on separate sensor APIs.

In HTML5 the orientation API may create challenges due to variations in coordinate reporting by various browsers 1. Compared to the ‘big three’ HTML5 has two main limitations: Lack of a ‘native’ geocoding API, for this feature you would have to rely on the mapping service used. The ability to track location in the background is the second difference and varies depending on the platforms’ ability to run HTML5 apps in the background.

It is worth noting that Google also offers some additional location related APIs through its Google Play services (in the Google Android Location API), notably:

  • to determine the user’s current mode of locomotion (still, walking, cycling, or in a vehicle)
  • geofence feature, which can trigger an event when the user goes outside a defined area.

1.3. Indoor navigation

One of the general limitations of GPS is that it doesn’t work well within buildings. A number of technologies have been investigated to overcome this issue, the principal options are WiFi and Bluetooth based. The advantage of WiFi-based systems is that WiFi hot spots are already common. Bluetooth based systems, such as iBeacon from Apple — which are based on Low Energy Bluetooth (BLE), also known as Bluetooth 4.0 or Bluetooth Smart — offer an interesting alternative, but it is likely to be sometime before there is sufficiently dense, widespread coverage to provide a universal solution. In addition, these Bluetooth-based technologies are not yet integrated into the platforms’ location frameworks, so they aren’t transparent to the location APIs. However, they offer you an interesting avenue for differentiation.

2. Mapping Services

Having obtained your location and orientation information the next step is to add a visualization. The most obvious of these is a map, or closely related representation, such as a satellite or street view.

2.1. The big three

Each of the big three smartphone platform providers have their own mapping solutions for native apps: Apple has MapKit, Android has Google Maps, and Windows Phone HERE Maps (BING Maps was deprecated in Windows Phone 8). Google and HERE also offer their maps for other platforms, in addition to several third-party map providers, more on this later.

2.1.1. Map and related APIs

There is a lot of common ground between the Map APIs provided and the features available for the maps you can display in your apps, detailed in the table below.

There are two main areas of difference between the platform offerings:

  • the routing information provided, however in most use cases you will want to pass off routes handling to a navigation app anyway (see the discussion on extended services below).
  • offline maps. While this doesn’t directly impact on you as a developer, it could affect your users’ experience when the phone goes offline and is no longer able to obtain updates to map data. While HERE Maps offers users the ability to download maps country by country, Google does it by displayed area and Apple appears not to offer an offline option.

Google has now made its Android APIs for maps a Google Play service. So, if you wish to make use of alternative stores, either to target devices such as Amazon’s Kindle or simply take advantage of other outlets, you need to use another mapping solution. This ‘other’ solution could be the HTML5 Google Maps, a vendor offering such as Amazon Maps API for Kindle, or a third-party offering.

Apple MapKit Android (Google Maps) Windows Phone (HERE Maps)
Views Map
Satellite
Hybrid
Map
Satellite
Hybrid
Terrain
Map
Satellite
Hybrid
Terrain
Night/Day colours
Indoor maps No Yes Not available programmatically
Pan and zoom Yes Yes Yes
Pitching/Camera (2.5D view) Yes Yes Yes
3D landmarks Yes Yes Yes
Markers/Annotations Yes Yes Yes
Custom layers Yes Yes Yes
Polylines Yes Yes Yes
Route details Multiple routes for walking or driving, with expected travel time and trip advisory notices. Yes (Google Maps API Direction Services), single route for driving, bicycle, public transport, or walking. Single route for walking or driving.
Map Snapshot Yes Yes Workaround
Map type Vector Vector Vector
Offline access No Yes – by area Yes – by country
Restrictions Depends on developer program Only available as a Google Play API, no Navigation, Autonomous Vehicle Control, or Enterprise Applications, map call limits Apps for businesses, some API limits

As an alternative to embedding maps within your apps, you can pass location details to the platform’s Map app to display the user a map. This approach could be ideal where your app has a simple map use case. You can also use the same method to open StreetView on Android devices from your app.

2.1.2. Terms of Service

Apple MapKit appears to be the most flexible offering, with no apparent limitations on the applications you can create using the APIs nor on the volume of map data. Data use is ‘managed by the framework’, but there is no indication that this has created any practical restrictions. The only control is on app types through the Apple Developer programs, if you want to create apps for private distribution to company employees you need to enroll in the more expensive iOS Developer Enterprise Program.

Both Google and Microsoft place similar restrictions on the types of applications that can make free use of map data. If you want to create apps designed purely for use within a business and some specific types of apps (such as those for business asset tracking, fleet management, or dispatch) you’ll need to obtain licences through either the Google Maps for Business or HERE for business service.

In addition, Google only permits free use of its maps in free apps or paid apps that are available in an online store and are “downloadable to a mobile device that can access the online store”.

When it comes to the volume of use, both companies apply similar restrictions.

When using Google Maps you may have to pay, either through a Google console option or the business program, for additional traffic the app generates over 25,000 map loads or more each day, for more than 90 consecutive days.

For HERE Maps on Windows Phone the restriction is on routing and geo-coding requests, where there is a limit of 25,000 within 24 hours from any one app. More than that and you will need to contact the business service.

2.2. Extended map related services

The inter-app communications that enable you to pass a location to the platform’s map app, can also be used to open other location-based apps, such as those for navigation or transit routing. The various options are shown below:

Apple Android Windows Phone
Maps Yes Yes Yes
StreetView No Yes No
Traffic Yes No No
Guided or assisted navigation:
Car Yes Yes Yes
Walk Yes Yes Yes
Bicycle No Yes No
Public transport No Yes Yes

2.2.1. Third-party alternatives and options for HTML5 apps

With integrated support for maps in the main platforms it’s perhaps surprising how wide a range of third-party offerings is available. If you are creating a location-based app for HTML5, you will be using one of these offerings. An exhaustive review of the available programs is beyond this articles scope, but here is a list of some of those available:

Provider Features iOS Android Windows Phone HTML5 Pricing (Maps)2
HERE Similar to native n/a OEMs only Native JavaScript and REST Free low volume access
Google Maps Similar to native Yes No No JavaScript Free low volume access
CloudMade Map styles, Geocoding, POI, routing (vehicle, bicycle, or pedestrian inc. route times). n/a n/a n/a JavaScript $25 per 1M tiles (first 500K free)
Nutiteq Offline maps, 3D views, map projections for GIS n/a Yes n/a n/a Free for OSM data, costs on request
TomTom Geocoding, POI, routing, traffic, traffic cameras Yes Yes n/a JavaScript On request
Trimble/Spime Geocoding, POIs, routing, voice guided navigation, overlays, native app access (contacts, calendar, e-mail), monetization n/a Yes n/a n/a On request
mapIT Geocoding, POIs, routing, indoor maps, search, geo-marketing analysis tools, traffic (from Tom Tom) Yes Yes n/a Yes On request
mapquest Geocoding, POI, routing for vehicle, walking, transit, and bicycle with optimized and alternate routes, traffic including traffic search Yes Yes n/a JavaScript Free for OSM data, costs on request

You may wonder why I haven’t included Open Street Map in the list. While this service provides tiles, its open source/donation supported status means it may block your app if it breaks the ‘heavy use’ tile download policy. Therefore, the most practical way to use Open Street Map data is either to host it on your own server or use the free Open Street Map data provided by a third-party, such as Nutiteq or mapquest.

3. Augmented Reality

Location apps are increasingly moving away from the map, through the medium of Augmented Reality (AR). With applications, such as HERE City Lens, users are no longer required to figure out what all those lines and pins are telling them, they can simply point their phone’s camera at a scene and have it annotated with relevant information.

In addition to the need for location and heading information, AR requires the ability to paint over a display of the camera viewfinder and project POIs into the viewfinder. With the exception of POI projection in HTML5, all the platforms provide native APIs to enable the creation of AR apps.

In addition there are several third-party tools for creating location-based AR app, these include:

Provider iOS Android Windows Phone HTML5 Pricing
ARLabAR Browser Yes Yes n/a n/a €199 per platform
ARPA SDK Yes Yes n/a n/a On request
DroidAR n/a Yes n/a n/a Open source
GART – Geo Augmented Reality Toolkit n/a n/a Yes n/a Open source
Layar Geo SDK Yes Yes n/a n/a €7500 per year
Wikitude SDK Yes Yes n/a Yes Free with watermark, € 99 to € 1499

4. Conclusion

With minor variations, developing apps for the main platforms (iOS, Android, and Windows Phone) brings similar features and capabilities to your location-based apps. Only iOS, however, leaves you free to create whatever app you want, free from additional licensing costs.

In most cases the development process, from coding to store, is straightforward. The exception is where you want to target devices based on the Android Open Source Project, such as the Kindle, which use a store other than Google Play. The resulting need to use alternative (non-Android Google Maps) APIs will be something of an annoyance, at least.

Developing for HTML5 adds additional complexity, as a choice needs to be made of a third-party location/mapping service, but achieving similar results to those seen in native apps is entirely possible.

As I mentioned at the start, location–based apps and services are a key value-proposition for mobile devices. Their importance will only increase as the technology powering mobile devices starts to transition beyond phones and tablets into watches, cars, and a range of other smart mobile devices. This, combined with the competition between platforms, means that additional capabilities will continue to be added to the features available to apps, such as the ability to include and manipulate traffic data, and create embed and customize navigation.

Footnotes
  1. Firefox and Chrome does not handle the coordinates the same way.
  2. Vendors may offer separate pricing for geocoding, routing, navigation or other services.
Categories
Business

How We Learned to Built Hardware, the Agile way

I ‘m part of a hardware research group at Telefónica Digital called “Physical Internet Lab”. Three years ago we started a small group under the Emerging Technologies area of the company focusing on the Internet of Things. The commitment of the group was (and is), in ambitious terms, “to democratize the Internet of Things” opening it to as many makers, developers and users as possible. Our goal has been not entirely altruistic: Telefónica as a network operator has a lot of value to add in the Internet of Things economy.

On day to day basis we build prototypes and products, usually connected objects or components like the Thinking Things building blocks.

Setting up the lab three years ago was no easy task. We wanted to work at the crossroads of the Internet, the Things and the People. But our development skills were almost 100% software related. In the process we built a team skilled on all three sides. And we figured out how to do agile hardware.

agile-hardware

Of Agility and Hardware

We ‘ve come full circle. Telefónica I+D (the Telefonica Digital development branch) was created 25 years ago to produce hardware innovations such as X.25 and ATM switches. We did that in the classical engineering fashion: writing long and rigid lists of requirements, splitting the work across solution providers, integrating and then testing following a waterfall schema.

Over time Telefónica I+D adapted quickly to the technology changes and by the mid-nineties we were developing mostly software. First we followed the same engineering process; then we moved towards more iterative methods. In the last 10 years we have adapted fully to agile methodologies.

As we were building the laboratory we found ourselves getting back to hardware. But the company now could not understand a slow-moving unit. The lab had to be agile. So we had to bring agile methodologies to hardware development.

The first difficulties came with the corporate facilities. Hardware work demands physical proximity and we could not afford to have a distributed team depending on collaboration tools on the Internet. At the same time, soldering fumes or drilling noises were not welcome in our modern, bright, open spaces. So the team had to move to a closed office in an old building in Madrid city center.

Moving to the city center was a boon: in minutes we could reach many shops and services, buying anything from hammers to plastic boxes. Visitors now found it easier to visit us in a centric garage-like office. This was great for our open approach as we wanted to help and interact with other companies and organizations.

Purchasing tools was another problem. The corporate procedures were tuned for large-scale purchases such as server farms or external services. Buying a handful of resistors for 10 euros could take several weeks, creating bottlenecks to our work. Fortunately the purchasing department showed a great deal of sensibility. We worked together to redesign the process. Now we buy any component or tool in a single day while still working by the book.

Putting together the Agile team

Hardware work implies multiple teams across several companies with extremely specialized profiles. When setting up the lab we opted for a small and autonomous team, able to build a hardware prototype with no external dependencies.

A small team allows us to work closely integrated, in the same location, continuously coordinating our work. A small team also means that budgets are smaller and is well suited to experimenting, failing, learning and adapting.

Basic agile methodologies such as Scrum expect some degree of overlap between the specializations of team members, so that different people can execute the same tasks naturally balancing the work load. But hardware work is different. It demands a lot of specialization. In our case most of the tasks can be executed only by one team member. As a result, the Scrum methods and tools have to be modified to reflect this reality.

Our internal workflow follows many steps. The first step is the Industrial Designer, a role which is somewhat of a novelty in the Telefonica Digital payroll. Carlos (that’s his name) starts his work in the CAD station designing the physical product: plastic pieces, metal straps, cloth, magnets. Then he builds the design using the currently available 3D prototyping tools such as the laser cutter, the CNC tool (i.e. a computer controlled drill) and a variety of 3D printers. These tools give much flavor to the lab.

In some cases we start from an existing object that we hack so that we can explain a new concept. Carlos at the same time designs and builds, which is a bit out of his job profile. Software developers are multi-taskers, too – they design and type, while software architects can also code. In the hardware industry this is somewhat unusual and typical engineers expect someone else to physically build what they have created. In the lab we follow the software philosophy. It is leaner, and gives the designer a real feel of the piece or circuit construction. This approach demands some tolerance and patience from engineers who have to get their hands dirty.

The same philosophy applies to the next step in the workflow: the electronics engineering part. The electronics engineer first designs new circuits, then prototypes them. We even design and build the PCBs to check that everything fits in place.

The agile doctrine underlines the importance of early user testing. Early use provides rapid feedback focusing the most important characteristics of the product and showing what isn’t relevant for customers. To shorten the time-to-test we use 3D printing and prototyping technologies.

In electronics engineering we massively use Open Hardware. Open Hardware gives us access to lots of ready-to-use designs that we can employ in product testing. In a sense, Open Hardware behaves now like Linux and Open Software in the mid-nineties. It allows us to focus on the real technical or design challenge rather than reinventing the wheel for every test.

Electronics and physical design teams work side by side, so they can verify in real time how components fit in the same object. Our objects become more than simple plastic boxes, as they are tightly coupled with the internal electronics.

Electronics engineers work also with the firmware developers. The firmware developers write the code for the embedded microprocessors. They also have to deal with connectivity issues and power management.

In our Physical Internet Lab, electronics and firmware engineers work side by side. In most situations knowing what will firmware do simplifies hardware design. Similarly, software developers can ask for fine changes in the hardware designs nearly in real time.

On the other side of firmware sits backend development. In our typical systems architecture, distributed devices communicate with a backend service in the cloud. We push as much intelligence as possible to the backend service, so our designs can evolve without touching the deployed hardware or executing firmware updates. We like to think that the back-end gives every object nearly infinite computing power and knowledge, as it can interact with any other Internet service.

Again back-end and firmware developers work side by side. This tight collaboration resolves any integration problems before they appear, and encourages electronics and firmware developers to take issues to the more powerful (and more agile) back-end platforms.

The final technical step is the front-end development, usually based on web and native apps. Again we do a lot of work locally in the lab, well integrated across the team.
The frontend is also tested in complete end-to-end scenarios. Automatic testing tools execute scripts that run against the firmware and the frontend.

And of course, there is a Quality Assurance side. We are extending continuous integration, test driven development and automatic testing to the embedded firmware. At the same time we have to handle more hardware specific tasks such as sensor calibration, assuring robustness and strength.

Physical Interaction Design

The web/application interface and physical design are the two endpoints of the “development chain” of our group. They form the two interfaces exposed to the final user. At the final part of our workflow, the physical interaction designer, works with both web / app and physical design.

The physical interaction designer is responsible for the design of the connected object as a whole. He takes care of building a single object with a coherent interaction model in the physical world and in the Internet.

Without the physical interaction designer we would have to separately design the physical object and the application or web interface. The result would be a split-personality product, usually an amalgamation of data stuck on top of a square box. The physical interaction designer combines the capabilities of the physical object and the Internet interface in a coherent manner.

Physical interaction design, bringing together the Internet and physical objects is a completely new field. There are a handful of specialized schools in the world, and we are working too with UX designers with strong industrial design background.

Everyday physical objects have usually long stories and designs optimized through centuries of use. We still have a lot to learn on how to take the Internet beyond of the smartphone/tablet/PC onto this physical object world. Customers will not adopt Internet of Things devices if they are a step behind of the design standards they have become accustomed in software interfaces.

Agility plays a role here, once again. Developing and prototyping quickly we can try interaction designs with users, test our assumptions and build a sizeable bunch of knowledge around user interaction with connected objects.

External providers

Of course we have to work with external providers, especially when dealing with complex technologies or industrialization. For development we often use online services for as PCB manufacturing or 3D printing. They are extremely easy to use, robust, fast, and offer a direct web interface instead of long negotiations with a salesperson.

For the final manufacturing we interact with real, serious manufacturers. Agile, as a software development doctrine has no solutions to this task. But Agile can be seen as a spin-off of Lean philosophy, which was created to deal specifically with manufacturing issues.

One of the main lessons from the Lean methods is that service providers have to be tightly integrated in the business process. We have found this is very important also for us. The lab has spent considerable efforts building trust relationships with service providers and manufacturers, integrating their teams with the lab. Schedules and plans are shared under an openness philosophy. We have established even real time communication so their teams get continuous feedback from the engineers in the lab.

The future of agile hardware

We have yet a long way to create a truly Agile Hardware lab. Physical work is sometimes slower than software development. Some other times (especially when prototyping on Open Hardware designs) they are blindingly fast and have to pause and wait for software components. Speed differences keep the group working on different “user stories” at the same time.

External dependences are many, and the lab will never be, in that sense, completely autonomous. But we can find yet faster service providers and build leaner and more integrated workflows with them.

Regarding Quality Assurance we have to handle correctly the physical device characterization and fit the expensive and slow certifications in the product workflow.
The bright side is that Agile methodologies provide and require continuous improvement. Every sprint or work cycle forces us to learn and adapt our methodology and organization, looking for a better process. Perhaps in a couple of years we’ll have a completely different process in a completely different lab, and it will be all right.

Categories
Business

Flappy Bird vs Angry Birds – a tale of Hobbyists and Hunters

Here are the stories of two successful birds on the app store. See if you can spot the difference.

Angry Birds vs. Flappy Bird_639px

Flappy Bird was a mobile game developed by Dong Nguyen, a Vietnamese indie game developer, in a few evenings after work. He launched the game in May 2013, but only 7 months later (in January) did it unexpectedly gain immense traction. It reached the top of the US charts, and Nguyen was reportedly earning about $50,000 per day from ads. He couldn’t cope with the pressure and abusive comments however, saying it “ruined his simple life”, and removed the game from the app store on February 10th.

Angry Birds was developed by Finnish game maker Rovio Entertainment. It was a runaway success… on the 52nd try! (That’s how many games the good people at Rovio had developed before Angry Birds). Rovio has expanded to be a successful franchise and merchandising business, counting its revenues in the hundreds of millions of Euros. Today, Rovio employs over 700 people according to its website.

Why did Flappy Bird become a flappy Icarus, crashing after flying too close to the sun, and not a new Rovio? In truth, Nguyen and Rovio represent very different groups of developers. Their motivations are not at all alike, and so neither is their behavior.

Developer motivations wildly differ

Dong Nguyen and his indie game studio .Gears sits on the border of a Hobbyist and an Explorer profile in VisionMobile’s developer segmentation model. Hobbyists are motivated by the fun of making an app, and like Nguyen often do it in their spare time after work. They don’t care about success – killing off a successful project that interferes with their sense of fun and peaceful life wouldn’t seem strange to them. Arcade games like Flappy Bird and the other .Gears projects are a typical project for Hobbyists (professional game developers rarely touch the arcade category).

Our Flappy Bird protagonist also shows traits of an Explorer, however. He presents a formal face with the .Gears studio, complete with email address and copyright notice. Put simply, Explorers are “practicing” to become successful app developers (either as contractors or with own apps): their main motivation is learning how to become professionals and they define success by knowledge gained as well as having a lot of fun developing. Some speculate that Nguyen might have tried to artificially boost the app using review bots, which would be more Explorer than Hobbyist behavior. (Nguyen himself denies having done any kind of promotion.)

Whether Hobbyist or Explorer, Nguyen clearly wasn’t in it for the big money. Contrast that with Rovio, a clear Hunter company. Hunters are revenue driven: their goal is to build a successful business and make money from apps. The 50+ games that Rovio built before Angry Birds are a testament to their persistence in achieving that objective. Success is measured strictly in business terms: app revenues (in the case of Rovio enhanced with merchandising) and user reach. Hunters are professionals, out to build real, lasting companies, exactly what Rovio has achieved. The difference couldn’t be clearer.

Understanding the motivations of developers is key to understanding the choices they make. This includes fundamental choices, like the one between lifestyle and business success that Dong Nguyen faced when his project became a huge success overnight. It also includes all the minor and major decisions that app development involves: business models, tools, platform selection, and much more. [tweetable]If you’re working with developers, gaining insights in their motivations is crucial[/tweetable].

— Christina & Stijn

Categories
Business

App monetisation tip: Go for niche markets, not user reach

Mobile apps have enabled some developers to reach unprecedented scale in an incredibly short time. The companies that do this best have hundreds of millions of users and are typically valued at billions of dollars. The winners in this battle for mass market attention and appeal are either backed with millions of dollars in venture capital or created by companies already worth billions. Can developers without quite so many resources behind them achieve a smaller scale of success by following the same formulas, or might targeting a smaller niche achieve better results?

VisionMobile

Categories
Business

Developer Economics: Ecosystem wars drawing to a close

Welcome to the brand new Developer Economics report! Now in its fourth year and 6th edition, the latest Developer Economics survey reached over 7,000+ developers across 127 countries, setting new standards in developer research.

DNAapps

Get your free copy here and read about the movers and shakers in the app economy. Dive deep into our rich dataset and discover how developers select and prioritise platforms, which developer tools they use and how their choices translate to revenues.

As always, we have a lot more data available so get in touch (moredata@visionmobile.com) to get the data you need if you can’t find it in the report.

The mobile Developer Mindshare

The latest Developer Economics research shows that 84% of mobile developers are now developing for Android or iOS (or both), the two clear winners in the developer mindshare race. While Android amasses hundreds of millions of new users every year, sales of iDevices are still rising, attracting developers that are more interested in revenues rather than reach.

3b_mobile_mindshare

HTML5 continues to play an important role in mobile development, providing diverse development paths for those developers that want to extend their web skills or web assets onto mobile. [tweetable]37% of developers rely on HTML5 for developing mobile websites and web apps[/tweetable], but more developers use HTML5 to target native platforms via hybrid apps or converted or translated HTML5 code.

Microsoft remains the outsider in the ecosystem battle but has gained some ground in the past few months owing to rising sales of Lumia handsets. Windows Phone still faces a long and thorny road in its quest for mobile mindshare. Meanwhile [tweetable]Windows 8 remained stable at 21% Mobile Developer Mindshare[/tweetable] – the Q4 uplift in Surface sales is likely, however, to generate some developer interest that could push Windows 8 ahead.

Getting your priorities right

Developer Mindshare tells just one side of the story. In a multi-platform race, mindshare is nice to have but what matters most is getting developers to prioritise your platform against the others. This means more, better-quality apps and faster updates, keeping users happy. [tweetable]Android is now the priority platform for 37% of developers, with iOS at 32%[/tweetable].

2_platform_distribution

But there are large variations in developers’ priorities: iOS is still the priority platform in North America and Western Europe, with Android claiming pole position in most of the other regions. There are also significant differences across developer segments: [tweetable]Android is very popular among hobbyist developers who may find the start-up costs somewhat lower[/tweetable], but iOS is preferred by Hunters, who target app-store revenue and Guns-for-Hire, who target development contracts.

HTML5 is prioritised by 14% of developers, although a large number of these developers target Android or iOS via hybrid apps, rather than building true cross-platform apps. With 83% of developers prioritising Android, iOS or HTML5, the other platforms face a mighty challenge: if they are to become key players in mobile, they need to convince iOS or Android developers to switch their priorities. But looking at the revenue distribution for developers across platforms, it becomes clear that that is not a compelling proposition for the majority of developers.

Revenues

We’ve often argued that revenues are not the most important factor for all developers. But at the end of the day, you need to make money, whether that is via app stores, advertising, e-Commerce or any other way you can think of (selling t-shirts to your users or accepting bitcoin donations).

We calculated median revenues to demonstrate the revenue disparity across platforms. The revenues shown in the graph below are the revenues that developers can realistically expect to earn per app per month.

18a_median-revenue

This graph is a picture saying a thousand words and reveals why more than half of the developer population are still investing in a platform that has less than a third of the user reach of Android.

There’s a lot more information on revenues and revenue distribution across platforms in the report, and a lot more graphs and data points that you need to know about if you’re in the app business. We don’t want to spoil the fun so go ahead and download your copy of the report and tell us what you think.

If you don’t find the information you need, then do get in touch at moredata@visionmobile.com to see if we can help.

Follow me on twitter @PappasAndreas

Categories
News and Resources Platforms

The Three Waves Of Mobile Marketing

With over one million apps in the Apple and Google stores, you‘d think that app development has become business as usual. As we enter 2014, the making of apps is a sought-after commodity. But [tweetable]the marketing of apps remains part art, part science[/tweetable].

shutterstock_114890851

App marketing and advertising took off early in the history of the app economy. The freemium model (generally speaking, apps that are free but monetize through premium upgrades, in-app purchase items or advertising), took place a couple years after. On the App Store, in-app purchase items (IAPs) were only introduced as of late 2009. On the Google Play Store, they had to wait until 2011.

Since the freemium app model started making a name for itself, the parameters and requirements of app advertising and user acquisition have been in constant evolution, strongly influenced by transformations of the app ecosystems. In particular, app publishers, marketers and other stakeholders have constantly needed to adapt to the evolving policies and barriers enforced by Apple and Google.

In fair consideration, many of the steps the two companies took were also in reaction to the evolution of advertising techniques and practices within their ecosystem. The dynamic is therefore mutual.

Looking back on the brief history of app marketing, there are three main phases or “waves” of app marketing, presented in the table below. Each phases has distinguishing features in terms of business objectives, marketing strategies and practices, technology focus, transparency standards, platform regulations etc.

The three waves of mobile app marketing:

1st wave 2nd wave 3rd wave
Timeframe 2009 – 2011 2012 – present 2013 – present
Goal Volume through top chart position Volume with a focus on the price of installs Volume with a focus on the quality of installs
Marketing strategy Incentivized Downloads Shift to quality: Non-incent ROI-positive media buying
Pricing Methods
  • Flat fee
  • Cost Per Click
  • CPM
Cost Per Install
  • Cost Per Action
  • Cost per Reengagement
  • adjusted CPI (aCPI)
Technology focus None
  • Install attribution tracking
  • In-app analytics
  • Post-install, in-app event tracking
  • Programmatic buying
  • Deep linking
  • (Cross-device) Retargeting
Tracking technology
  • iTunes Connect
  • UDID matching
  • MAC Address
  • openUDID
  • Fingerprinting
  • Platform-specific device identifier (IDFA, Advertiser ID)
  • Social Media login
Level of platform regulation and transparency Low Medium High
Market dynamics Emergence of new “pure” players Growth, stronger positioning of existing players Consolidation, M&A activity, older players start getting involved
Advertising formats Banners, editorial advertising, incentivized Interstitials, video ads Native ads

I’ll discuss these three waves along their most important characteristics.

The first wave: the early days, focus on volume

The early days of app marketing date back to 2009. They were characterized by the emergence of the Apple App Store as the main platform for user acquisition. [tweetable]Publishers mostly relied on the top chart rankings to gain visibility[/tweetable]. This led many of them to resort to the so-called burst campaigns, either incentivized or natural such as editorial app “boosters” and blogs. These campaigns generated large amounts of downloads in a short period of time in order to climb the app store rankings.

In this context, performance models, whereby advertisers only pay for the installs generated, mostly served for incentivized campaigns, and burst campaigns were often sold on a flat-fee basis. For the burst campaigns run on a Cost Per Install (CPI) basis, downloads were accounted for using iTunes Connect data or at best UDID matching. Consequently, there was neither technology focus nor need in terms of tracking. In short, user acquisition was not data-driven.

During that time, many pure players, such as Tapjoy, Flurry, or AppGratis, entered the space, as it was a land grab with low barriers to entry. Platform regulations were still relatively lenient, as the tenants of the ecosystems didn’t wish to curtail their growth. For instance, incentivized downloads were still allowed by Apple until April 2011.

The second wave: focus on quality and performance tracking

The second wave of app marketing started around 2012. The volume remained the main marketing objective, but CPI-based campaigns gained momentum and performance marketing started becoming widespread. More generally, a discrete shift towards more quality tracking in advertising campaigns was taking place.

In terms of regulation, Apple tightened its grip on a fast-growing ecosystem and cracked down on players accused of taking advantage of the top chart ranking algorithm. In April 2011, incentivized downloads were banned and in October 2012, Apple enacted clause 2.25, forbidding “Apps that display Apps other than your own for purchase or promotion in a manner similar to or confusing with the App Store”. This led to the ban of several of app discovery services, the most famous being App Gratis which was pulled from the Apple’s store in March 2013. App publishers themselves suffered the consequences of these restrictions, such as Animoca who, in January 2012, saw all their apps removed by Apple under the allegation that they were using bot farms to generate fake downloads.

Technology-wise, the growing popularity of performance marketing encouraged the rise of efficient attribution tracking solutions, in order for advertisers to trace downloads down to their respective sources. Among the tracking technologies which then emerged, the most popular are fingerprinting as well as single, platform-specific device identifiers (Google’s Advertiser ID and Apple’s Identifier For Advertisers – IDFA). As of today, [tweetable]fingerprinting remains the only legitimate solution enabling mobile web tracking[/tweetable].

Publishers also started becoming more data driven by integrating in-app analytics solutions such as Localytics to analyze usage, retention, engagement, virality and monetization metrics. Similarly, a focus grew on measuring the quality of the users through the estimation of customer lifetime value (LTV). However, this was at this time mostly performed to understand the user journey and improve the user experience, not yet (so much) to optimize user acquisition campaigns. In other words, [tweetable]performance stopped at the install, as in-app and attribution tracking remained distinct from each other[/tweetable].

In terms of market dynamics, the wave of new entrants stalled as existing advertising players consolidated their positions and stronger regulations prevented the use of shadier advertising tactics. The second wave was pioneered by ad networks (inmobi, AdMob, Leadbolt), affiliate and cross-promotion networks (AppFlood, Chartboost, AppLift), mobile agencies (Fiksu, Somo Global).

The third wave: focus on lifetime value and ROI

The third wave of app marketing started in 2013, is currently unfolding and will probably define the mobile landscape for at least the next two years. This third wave is distinguished by a massive shift towards quality, with, in particular, the growing realization by mobile advertisers that acquiring users, even at a low price, makes no sense if these users are not retained, engaged and finally monetized.

This global shift to quality has generally been embraced by advertising companies, app publishers and platforms alike, all with various consequences.

First, platforms themselves are taking on and driving the trend, and introducing heightened regulation. In 2013, Apple modified its ranking algorithm to take into account more in-app, post-install qualitative factors such as retention and engagement metrics. Google, too, started enforcing harder restrictions on its developer policies when it banned spammy user acquisition techniques such as push notifications or icon drops on the Play Store.

Naturally, it is app publishers and advertisers that are driving the largest part of the shift. Indeed, increased competition as well as rising CPI prices has made it an impediment to track and optimize user acquisition campaigns more accurately, and to allocate marketing budgets towards the best-performing channels. Technically, this means tracking post-install events, connecting them to the acquisition source, and finally linking attribution tracking to in-app metrics.

Early assessment of the LTV of acquired users now enables advertisers to quickly assess the quality of the various acquisition channels used. This in turn allows them to optimize and fine-tune the campaigns by allocating budgets to the traffic channels offering the highest user quality (users whose LTV is higher than their cost of acquisition – CPI).

On the whole, if the first wave focused on volume only and the second on price-weighted volume, the third wave is characterized by quality-filtered volume.

In the wake of this quality shift, new pricing schemes appeared: for instance, [tweetable]Cost Per Engagement (CPE) now allows advertisers to pay for actions taking place after the install[/tweetable], such as game tutorial completions, or first purchase.

More quality and more regulation also go along more trust and transparency. In the specific context of the relationship between advertisers and user acquisition networks and other partners, this means that networks have been more willing to share information about their traffic sources, while advertisers have been less reluctant to share more in-app data about the users generated.

In terms of market dynamics, the third wave is characterized by increased M&A acquisitions as older, established digital and online companies start acquiring pure mobile players. This way, in 2013 we saw, among others, retargeting company Criteo buy out mobile tracking company AD-X, Twitter snap up mobile ad exchange MoPub and, in gaming, Japanese telecoms firm Softbank together with GungHo acquire Finnish mobile game publisher Supercell. There were also a couple of mobile-only deals, such as the acquisition of Jumptap by Millennial Media or the merger of mobile gaming services company Playhaven with mobile analytics provider Kontagent.

As the third wave of app marketing is still forming, other data-driven approaches are emerging, such as real time bidding, retargeting and cross-device targeting. Reactivation and re-engagement campaign techniques are already taking into account quality factors and focusing on post-install events.

For developers, it can be of great help to keep this history of paid mobile user acquisition in the rear-view mirror as they strive to understand and adapt to its new challenges.

– Thomas

[Thomas heads up content marketing at AppLift, loves scrutinizing the developments of the mobile industry and collects photo apps on his iPhone the rest of the time. He can be contacted at tso@applift.com]

Categories
Business Platforms

Mobile Gaming And The Pyramid Of Scarcities

Distimo - App Revenue Distribution

According to Distimo’s latest report, apps with “freemium” business models, i.e. free apps monetized by in-app purchases (IAP), have dominated revenue charts in 2013. This spurred me to take a deeper look at the “economics of free” and explore new opportunities for innovation in these business models.

The Economics of Free

Let’s begin by taking a brief look at the “Economics of Free” or the “Economics of Abundance”, as described by Mike Masnick. Here’s a short, 2 minute video introducing the concept:

Economics is essentially a social science that examines the best possible way to allocate “scarce” goods or resources, i.e. ones with meaningful marginal cost and limited supply. However, digital goods like apps are abundant because the marginal cost of creating an additional copy is zero. Given the nature of near-efficient competition in the digital world, price naturally approaches the marginal cost of zero.

This explains the decline in popularity of paid app downloads and the decline of numerous traditional business models. However, cheap or free content allows developers to reach a much wider audience which consequently increases demand for related scarce goods or resources. In the music industry, the advent of digital music precipitated a steep decline in US recorded music sales from $14.6 billion in 1999 to just $6.3 billion in 2009, but concert ticket sales grew from $1.5 billion to $4.6 billion over the same timeframe. In other words, digital music converted a scarce resource (recorded music albums) into an abundant resource (cheap, easily downloadable singles), which then increased demand for a related scarce resource, i.e. concert tickets.

  1. Marginal Cost – Cost of producing an additional unit
  2. Efficient Competition – Participants do not have the market power to set prices

The Pyramid of Scarcities

This particular study focuses on scarcity-driven monetization opportunities available to developers of free-to-play (F2P) games like Candy Crush Saga, Angry Birds, etc. As shown in the image below, the scarcities created by F2P games can be segregated into 3 categories, in order of increasing scarcity (or decreasing availability)

  1. Induced Scarcity
  2. Scarcity of Goods
  3. Scarcity of Time or Access

Pyramid of Scarcities

1. Induced Scarcity

Induced scarcity is one that does not exist in reality, but is created artificially — for example, in-app purchases of digital goods. The availability of these goods isn’t really in question and therefore, the value placed on each purchase or transaction is quite low. Consequently, effective monetization depends on maximizing transaction volume from these low-value digital goods, i.e. micro transactions. This strategy is most effective when scarcity is induced because of direct player engagement, and not when it is forced onto players. Game design plays a critical role here as in-app purchases need to be naturally blended into gameplay elements. King’s games like Candy Crush Saga are perfect examples as players pay for boosters to help them progress through difficult levels. In fact, King’s revenue is expected to top $1 billion this year, almost exclusively driven by micro transactions on Facebook and mobile games.

However, exclusive use of this monetization strategy also brings up some challenges. King’s “Games Guru”, Tommy Palm, recently said that 70% of the players on Candy Crush Saga’s final level “haven’t paid anything”. While this is a great sign for consumers, King seems to be losing out on monetizing their most engaged players and biggest fans (excluding a minority population of “whales”). The only reason these players haven’t become paying customers is because they don’t consider digital goods to be scarce enough. The solution isn’t to create “paywall” equivalents, but to explore additional monetization opportunities with even scarcer products.

2. Scarcity of Goods

Scarcity of goods refers to physical products that have a tie-in with an F2P game — for example, branded or licensed merchandise. Since physical goods aren’t as abundant as digital ones, the value placed on each transaction is automatically higher. However, this comes with the trade-off of lower transaction volume. Rovio’s Angry Birds franchise is a great example of a successful merchandising strategy. Led by sales of Angry Birds plush toys, merchandising and IP sales made up 45% of Rovio’s $195 million revenue in 2012. This year, Hasbro sold over one millionTelepod” figures within a month of Angry Birds Star Wars II’s launch. This year, King also dipped its toe into merchandising with a range of Candy Crush themed candies and socks.

These products are likely to appeal to fans of F2P games even if they have never purchased digital goods. However, the biggest fans and most engaged players may be looking for something even scarcer.

3. Scarcity of Time or Access

Scarcity of time or access can be leveraged through a direct connection with the most ardent fans — for example, events like gaming competitions or conventions. Conventions tap into scarcity of time from key personnel like game designers, while social gaming competitions tap into scarcity of access to exclusive benefits and direct competition with other “superfans”. The monetization opportunity from events is likely to be immense, even though the actual frequency may be low.

So far, very few game developers have utilized this particular strategy — a related example from the non-F2P space is Mojang’s Minecraft Convention or MineCon. 7,500 tickets to the event sold out in roughly 5 minutes, generating roughly $1 million in revenue. This may seem like small change for large gaming companies, but it’s important to keep in mind that Mojang may view MineCon as more of a promotional event. Expanded ticket sales and advertising partnerships could easily make gaming events a significant revenue opportunity. Given the competition in allied industries like mobile hardware, there will certainly be no dearth of advertisers.

Opportunity for Innovation

The monetization opportunities outlined in this post show that the free-to-play mobile gaming industry still has a lot of room for growth. Most publishers have focused on just one of these strategies and I have no doubt that we will see more business model innovation from these companies as we move forward.

Having said this, these strategies are only useful for companies if their games remain popular. The gaming industry has proved again and again that companies cannot rest on the laurels of a single mega-hit. Therefore, developers need to focus on continuous innovation across a wide catalog of games. What’s most important is to ensure that players have fun. After all, isn’t that the entire point of playing games?

– Sameer

This post was originally posted in Sameer’s Tech-Thoughts blog – you can find the original article here.

Sameer is a business strategy professional with expertise in mobile ecosystems, asymmetric business models and disruptive innovation. Over the last 6 years, he has held various roles in strategy consulting, investment management, M&A and venture capital. During this time, he has developed a keen interest in the intersection between technology, innovation and business strategy. You can follow his work on his blog at Tech-Thoughts, on Twitter @sameer_singh17 or on LinkedIn.

Categories
Business

The Android Monetisation Myth: iOS still rules the west

[tweetable]Revenues from Android apps saw tremendous growth in 2013[/tweetable]. If you look at the headline global figures then revenues from Android apps on Google Play are rapidly closing on those from iOS apps on the App Store. It looks extremely likely that 2014 is the year that Android will overtake iOS in total app revenues. However, dig a little deeper and you’ll find the distribution of revenues, both geographically and across apps is rather different. If you’re planning your platform strategy for this year then a dive into the details might prove invaluable.

Almost a year ago, I wrote about two important app market trends to watch in 2013, which were continued growth of app revenues (they’re still growing, Android significantly faster than iOS) and revenue distribution (it’s getting even more concentrated at the top). According to Distimo:

“On a typical day in November 2013, we estimate the global revenues for the top 200 grossing apps in the Apple App Store at over $18M. For Google Play, our estimate is about $12M. In November 2012, these estimates were at $15M for the Apple App Store and only at $3.5M for Google Play.

That’s 20% annual growth at the top of the market for iOS and just over 240% annual growth for Android. Add to that there are also alternate stores for Android that have been growing revenues too. These figures and relative growth rates make it seem as if Android is the place to be in 2014. It might be, if you can make it to the very top. If we look at AppAnnie’s report for a similar period, they estimate that total iOS App Store revenues roughly doubled year over year*, while total Google Play revenues were a bit more than triple their year ago levels. So although Apple seems to be improving the revenue distribution slightly, it’s getting even more concentrated at the top of the market on Android.

Even the wider distribution of revenues on iOS may not be quite as good as it looks when we also consider geographic spread. Although the US is still the top revenue earner for iOS, the bulk of the growth is in Asia, particularly China and Japan. The top grossing charts in these countries look very different from the global top grossing apps and this may account for much of the widening range of high revenue apps. [tweetable]On Android, the bulk of the growth and total revenue is in Asia and thus so are the top grossing apps[/tweetable]. Japan has overtaken the US as the top revenue earning country for apps overall mostly due to growth on Android. The vast majority of the increased revenue is in free-to-play games and App Annie’s report shows that in Japan, almost all of this was attributable to just five publishers. Two of those publishers were existing major games powerhouses before the mobile era and they have several well known franchises. Two more reached the kind of scale where TV advertising became a viable route to market and exploded from there. The last of the five is LINE, who built a messaging platform with over 300 million users as a channel to promote their games.

This concentration of revenues amongst five publishers in Japan is mirrored elsewhere in the world. Consider Supercell (makers of Clash of Clans and Hay Day) were at $2.4M per day in revenues in April 2013, when they were still only publishing on iOS (they’ve since launched on Android) and were in the middle of expanding through Asia. That’s more than 10% of daily global App Store revenues for the top 200 grossing apps made by one publisher with 2 apps. Supercell aren’t unique either – according to Think Gaming’s estimates, King.com’s Candy Crush Saga is making more than $900k per day, just on iOS in the US. Indeed Think Gaming give us a better idea of the distribution. Their estimates show that the number 10 grossing game makes only a 10th as much as the top grossing game and by number 100 you’re down to nearly 100th of the revenue.

So, with revenue concentration at the top of the charts on Android even greater than on iOS, Android is the platform to target if you’ve got a world beating app with global appeal on your hands. Otherwise you’re almost certainly still better off on iOS first. Our own data, which considers revenue sources outside the app stores as well, agrees with this. If we only include the publishers earning less than $5M per month then iOS comes out on top, although if we include everyone with non-zero revenues then Android sneaks ahead. Significantly higher revenues for a tiny number of top Android developers pushes the average ahead of iOS (although the median remains way behind – there were more iOS than Android developers earning >$5M per month in our survey).

Android may become the top earning platform from App Stores in 2014 but it seems that only an elite few developers will reap the rewards. We’ve already shown that building enterprise apps and avoiding the app stores is a better bet financially but Android is not currently a lucrative platform in the enterprise market either. Still, it’s not all bad news for Android developers – the rising tide of revenues will lift all boats to some degree. Also, even 2014’s cheap Android device should be running at least Android 4.0 and have hardware capable of running almost any app well. This should reduce costs and increase the real addressable market for all Android developers. Last but not least, for an increasing number of developers [tweetable]it’s not a question of Android or iOS, it’s becoming ever more important to target both[/tweetable].

* Distimo’s year was November to November, while App Annie’s was October to October, so there may be some impacts from the relative timing of new product introductions.

Categories
Tools

The Ins & Outs of Mobile App Testing

Over the last decade, application testing has continually proved itself to be an important concern. When done well, testing can drastically reduce the number of bugs that make it into your release code (and thus actually affect your users). In addition, good testing approaches will help your team catch bugs earlier in the development lifecycle – resulting in a savings of both time and money (not to mention reputation with your users). Code that has good test coverage enables you and your team to make changes and introduce new features to your app without the fear of it breaking existing functionality.

shutterstock_131210207

The word “Testing” is a large umbrella, and is usually better understood when you break it down to specific types of testing. For example:

  • Unit Testing – automated tests written by developers, with each test targeting a narrow slice of application behavior.
  • Functional & Acceptance Testing – typically performed by QA personnel or automated UI testing frameworks.
  • Performance Testing – often performed manually with profiling tools (for example – heap and CPU profiling tools), though many mobile app developers are moving towards integrating app analytics to gather this data from real usage as well.

That’s certainly not an exhaustive list of the types of testing, but enough to make an important point: [tweetable]mobile applications face several challenges when it comes to testing[/tweetable]. Key among those challenges are:

  • Platform & Device Diversity
  • Immature Tooling
  • Lack of Awareness

If you opt to write native applications for each target platform, then any code-level testing (i.e. – Unit Tests) will not be transportable as you move from Objective-C (iOS) to Java (Android). In addition, any scripted UI-Automation testing tools may not work for multiple platforms (or at the very least require separate scripts for each platform). Hybrid solutions like PhoneGap, or cross-compiled solutions like Xamarin can offer a single approach to unit testing (given a single codebase for multiple platforms) – but do not always offer the same level of quality as native tooling when it comes to performance profiling. Despite the trade offs involved, I’ve found in my own experience that [tweetable]the biggest barrier to entry in mobile app testing is often a lack of awareness of what tools are available[/tweetable]. That is the barrier which I hope to address in this post.

Unit Testing

Unit testing for specific platforms or cross-platform tools is not difficult, and your options abound. Let’s look at a sample of some of these choices.

iOS

iOS developers who’ve been writing Objective-C for a while may be familiar with OCUnit, which shipped with XCode prior to the XCTest framework. It’s still supported in XCode 5, but the understanding is that new and future projects should focus on using XCTest.

Don’t let Apple’s sparse documentation on unit testing deter you from checking out the XCTest framework. If you’re running an OS X Server, you can also take advantage of the XCode service’s continuous integration features. As part of a continuous integration workflow, you can create “bots”, which can continually build and test your app.

Many developers prefer a Behavior-Driven-Development (BDD) style syntax for unit testing. If this describes you, be sure to check out Kiwi – a BDD style unit testing framework for iOS.

One other important mention is OCMock a mocking framework for iOS. Mocks are an indispensable part of writing adequate tests around your application’s behavior.

Android

JUnit is perhaps by far the most well known (and officially recommended by Google) testing framework for Android. The JUnit Android extensions allow you to mock Android components, but I’ve also seen quite a number of Android developers use JUnit with Mockito, another Android mocking framework.

Robolectric takes a different – and very interesting – approach by allowing you to run your Android unit tests in the normal JVM (Java Virtual Machine), without the need for an emulator. This enables your tests to not only run from within your IDE, but also as part of a continuous integration workflow.

Qt

Qt made the top 5 most used CPTs in 2013. If you’re building mobile applications with Qt, you’ll be happy to know about QTestLib, a unit testing framework built by Nokia. Based on my research, it appears that QTestLib can be integrated with a 3rd party continuous integration workflow – enabling very helpful testing automation.

PhoneGap/Apache Cordova

Web-based hybrid approaches to mobile apps can take advantage of a host of testing and mocking frameworks, not to mention scripted UI/acceptance testing tools as well (more on that in a moment). When it comes to unit testing JavaScript, three of the biggest names are QUnit, Mocha and Jasmine. I’ve personally used all three, with my favorite setup including Mocha and expect.js (which provides a BDD style test syntax). Mocking and “spy” frameworks abound in JavaScript as well, with Sinon.js and JsMockito among the more popular stand-alone mocking options.

Many PhoneGap developers take advantage of tools like PhantomJS – which is a “headless” (no UI) WebKit browser, with a JavaScript API. PhantomJS can be easily integrated into a continuous integration workflow to automatically run unit tests against your hybrid mobile application’s codebase.

Xamarin

Xamarin uses a customized version of NUnit (ported from JUnit), called NUnitLite which enables you to write unit tests against your Xamarin iOS & Android projects. For any shared codebase, you can use the unit testing framework of your choice.

Scripted UI Testing

Not every team can afford to hire an army of manual QA testers, despite how valuable that can be. Automated tooling can bridge the gap.

If you’re writing native iOS and Android apps, you’re in luck. Apple provides an “Automation instrument” that will automate UI tests against your iOS mobile application. The Android SDK provides the “uiautomator” library, described as “A Java library containing APIs to create customized functional UI tests, and an execution engine to automate and run the tests.” In addition to these, you can use third party tools like Squish, Ranorex and Perfecto Mobile’s MobileCloud Automation to automate UI tests against Android and iOS apps, web apps and more. It’s worth mentioning that Perfecto Mobile’s MobileCloud Automation exposes an API to better facilitate integration with existing build/continuous integration tools. Perfecto Mobile also offers MobileCloud Interactive, which enables you to “perform remote manual testing on real smartphones and tablets regardless of where you are” – who wouldn’t want to have a “testing army” of real mobile device users at their disposal?

Among the more interesting developments in mobile UI automated testing is the emergence of an open source project named Appium. Appium uses the WebDriver JsonWireProtocol to interact with iOS, Android and Firefox OS apps and gives you the choice of writing your UI tests in any WebDriver-compatible language (Java, Objective-C, JavaScript, PHP, Python, Ruby, C#, Clojure, Perl and others).

Performance & Profiling

Apple’s Instruments is one of the more impressive native toolsets I’ve seen recently. With Instruments, it’s possible to profile how your app executes, run stress tests, record and replay user actions, create custom instruments and a lot more. If you’re writing native iOS apps & not using Instruments, I recommend reading through the Quick Start to get up to speed.

With Android apps, you have several (albeit, lower-level) tools available: Systrace & Traceview. You can also use the Device Monitor to view memory usage based on logcat messages.

For hybrid mobile apps, you have a host of mature desktop browser tools (Chrome Developer Tools, Firefox/Firebug, etc.), which you can bring to bear on your app to profile CPU usage, memory, DOM manipulation and much more.

Many mobile developers have started taking advantage of third party analytics services such as Google Mobile Analytics, Countly, EQATEC, Flurry, Perfecto Mobile’s MobileCloud Monitoring and many others. The focus of these kind of analytics is usually more about how your app is actually used, user engagement, demographics, feature popularity, etc. However, it provides an opportunity to measure certain pieces of application performance from within real-world usage. While I wouldn’t recommend this being your first line-of-defense in performance testing, having the ability to track real world performance metrics can be a powerful tool in tuning your application to your users’ needs.

We’ve only scratched the surface of the various testing options available for mobile app development. What testing approaches & tools are you using when writing mobile apps? If you’re not currently testing your application, what are some factors that would change your mind?

– Jim (ifandelse)