Categories
Business

The Science of Mobile Game Marketing

Two years ago, I stepped into the mobile games market when I joined Planeto in Malmö, Sweden. With more than 5 million downloads, Planeto is a leader in knowledge-based mobile gaming. The experience at Planeto has changed me as a product creator and marketer.

Like many of my Scandinavian tech colleagues, I come from the planet where they build mobile phones. One step up the software stack to apps did not seem like a huge leap, especially as Planeto develops games for smartphones. As it turns out, one of the most talented game designers in Southern Scandinavia took me to a planet that was significantly different.

This is part two of a three part series on battle insights by a mobile game CEO.

science-of-mobile-game-marketing

Living in a World of Algorithms

In my first blog post, I addressed the development of the magical gameplay loop, a process that involves human beings at a very fundamental level working with basic needs like happiness, competition, and the urge to progress. In stark contrast, [tweetable]the marketing of mobile games hardly involves any human beings at all[/tweetable].

The mobile gaming market is at the extreme end of the digital revolution. In other industries, there is an existing physical distribution and marketing channel that gently slows down the product life cycle. There are fashion shows ever so often. There are retailers, who stock up on new items once in a while. In mobile game distribution and marketing, there are no physical inventories. There are just algorithms and a furious pace.

In a world of appfication, anyone involved in product creation and marketing needs to understand the basics of algorithm-driven marketing. That is where we are heading.

Starting with the App Store

Most people find apps by browsing the App Store or Google Play. A close second is recommendations from friends and family. People across the globe discover games in those two ways. It is as simple as that.

Apple and Google have not disclosed how their search algorithms work, but app marketers suggest the following parameters have an impact:

  1. Title
  2. Keywords
  3. Rating value & numbers
  4. Downloads over time

Title and keyword optimization is a topic on its own. Let us instead explore how rating and downloads can be improved.

Getting Your 4+ Star Rating by Beating the Algorithm

If you have read my first post about the magical gameplay loop, then you already know that perfecting the gameplay loop is crucial to creating a good game. In most cases, a good game does not automatically guarantee a good review. Customers will give you a one star rating for many different reasons: connection errors, strange chat messages from other players, tiny features that they do not like, etc. Often bad reviews do not contain any text – just a single star, a negative impact on your ranking, and a customer that rapidly moves on to the next app.

To avoid the info-less one star review, you need to take the pace out of the rating algorithm by implementing a funnel system that leads customers to the right place. The objective is to get only happy customers, who are willing to spend time on your app, to leave reviews. Unhappy customers, who are also willing to spend time on your app, send you an email with their issues instead. Quite a simple change that actually provides much more valuable info – you may find the details here.

Boom… first small victory against the algorithms. 🙂

Cross-promotion is a Friendly Face in the Sea of Algorithms

Once you have your ratings sorted out, the next step is to drive downloads. By far [tweetable]the easiest and cheapest way to drive downloads is to cross-promote in your existing games[/tweetable]. This is of course not an option for first-time developers, who instead should be thinking of including mechanisms to cross-promote the next game. Never think of your business as a one game business. We have successfully used Appboy in all our products, and it works wonders for us. Chartboost is another option.

Create your own friendly faces!

Living with the User Acquisition Algorithms

If you do not have a successful app already, then you need to follow the painful path of acquiring new users. No friendly faces here. It all comes down to math. The basic equation you need to be aware of is this:

Average Cost Per Install (CPI) < Average Life-Time-Value (LTV) * k-factor

LTV can be calculated in many different ways, but in simple terms, it can be thought of as Average Revenue Per Daily Active User (ARPDAU) * Average retention in days. K-factor is the number of users invited by each new player. If your CPI is $2, your LTV is $1, and each player invites another player (k-factor = 2), then you are break-even.

As such, the concept is simple, but it explodes rapidly. There are hundreds of different advertising channels to use and hence CPI never stands still. ARPDAU is easy to calculate on a given day for all your users, but as soon as you break it down into segments/cohorts (time, advertising channel, segments, geo, etc.) it becomes very complex fast.

Very few developers win in their fight with the UA algorithms. This is truly a scary beast. Experiment with UA, but do not get carried away, until you have a winning formula. In general, nothing is 100% guaranteed. The formula might work for one geographical area and might be totally inoperative for another.

Apple Recognizes the Challenges with Algorithms

Over the last couple of years, the big game developers and publishers have gotten bigger and customers struggle to find new games – however good they are. Apple has been trying to curb the negative side effects of the App Store algorithms by including more editorial content. The aim is to promote quality games by letting human beings select the games that gets most visibility in the App Store. That has sparked an entirely new set of recommendations on how to get featured by Apple. Google stays true to its roots and is still working to solve the quality versus quantity issue with algorithms.

In a market where there are only two relevant stores, I am not sure I feel completely at ease with the thought that the storeowners decide what goes on the shelves. It drives up the bargaining power of those storeowners to new heights.

Optimizing Your Advertising Revenue by Playing Algorithms Against Each Other

Getting plenty of downloads is only one-half of a successful game. The other half is revenue. Most first-time F2P (Free to Play) game developers make the mistake of implementing their own advertising solution with one or two advertising networks. This does not work and it will hurt you badly, if your game makes it through the noise and becomes successful.

You need an ad mediation layer from the get-go – an algorithm that allows you to fight all the other ad algorithms for you. More about revenue options in the third and final blog post of the series.

…and That is Only the Beginning of Mobile Game Marketing

I have not touched on keyword optimization, user engagement campaigns (i.e. how do you convert users from free to paying users), user acquisition tracking, k-factor optimization (i.e. how do you get users to invite other users), and retention funnels. For each of these areas, there are plenty of algorithms to learn and speak.

To make your apps successful you need to take on the algorithms that govern the marketing and distribution of games. As a rule of thumb (and to set your developers’ expectations right), it is reasonable to budget with 50% of a quality free-2-play game development project being on components (in-house or 3rd party) that does not relate to the actual gameplay loop.
We all love to work on the magical gameplay loop – it is truly rewarding – but the right infrastructure components allows you to take advantage of the algorithms. Do not underestimate the power of the algorithms.

Interested in part three of the series on mobile gaming? Read about Business Models here

Categories
Business

Forget about Gamification – It is All about the Gameplay Loop!

Two years ago, I stepped into the mobile games market when I joined Planeto in Malmö, Sweden. With more than 5 million downloads, Planeto is a leader in knowledge-based mobile gaming. The experience at Planeto has changed me as a product creator and marketer.

Like many of my Scandinavian tech colleagues, I come from the planet where they build mobile phones. One step up the software stack to apps did not seem like a huge leap, especially as Planeto develops knowledge-oriented games for smartphones. As it turns out, one of the most talented game designers in Southern Scandinavia took me to a planet that was significantly different.

This part one of a three part series on battle insights by a mobile game CEO.

The Magical Gameplay Loop

Having built products with some of the best people in their field, I claim to have a good understanding of how to approach a new product idea. In simple terms, the process involves a deep dive into the needs of the particular user, understanding what technical approach might deliver a product that caters to those needs, creating a first version (1.0), shipping it to the users, learning from the users, and then building an even better version 2.0. Each step has a number of tools you can use to deliver as much “bang for the bucks” as possible. You aim to capture as many facts as possible to keep learning and testing assumptions. Although user experience design and prototyping can make up significant parts, the overall creation process resembles a deductive science project where uncovering the truth is the overarching aim.

The magical gameplay loop makes mobile game creation a very different process. The magical gameplay loop builds on the fundamental premise that delivering entertainment is hard, but when you get there, it is obvious that you have arrived. You will see it in the smile, in the clenched fist raised in the air, or a loud “damn it!” – quite magical, when it happens. 🙂

Endless Iteration of the Loop

[tweetable]The gameplay loop is what the player does over and over again[/tweetable]. In a First Person Shooter (FPS) game, the gameplay loop goes like this:

  1. a target appears
  2. you aim at the target
  3. you pull the trigger
  4. the projectile moves towards the target
  5. you hit the target
  6. the target loses life

You will do this over and over again, so this loop has to work to perfection – because if not, the player will immediately notice a glitch in one of the steps. Sounds easy, but as soon as you start adding depth to the gameplay, you start challenging the loop: different targets (speed, size, life, etc.), different weapons (power, range, accuracy, etc.), different environments (complexity, dynamics, etc.), and so on.

Screen shots from Battlefield 4: Gameplay loop takes less than 3 secs from target spotted to kill confirmed, but type of enemy, weapon type, and environment adds depth to the loop, which is repeated over and over again!
Screen shots from Battlefield 4: Gameplay loop takes less than 3 secs from target spotted to kill confirmed, but type of enemy, weapon type, and environment adds depth to the loop, which is repeated over and over again!

[tweetable]The process of developing a mobile game starts with the gameplay loop[/tweetable]. You iterate the gameplay loop many times. Planeto is on more than 20 iterations of the next game. Forget about graphics. Forget about login. Forget about high score. It is all about getting the gameplay loop nailed down, testing it with real people, and observing whether you get a fist in the air or the “one more time!” that you are looking for.

It is an inductive process, in which you start with the gut feel and experience of the game designer, observe the reaction from the players, and then iterate until you get to something that is highly entertaining. Although you can access courses and tools, like “F2P Toolbox” creating great gameplay requires experience and a lot of patience. The development of the gameplay loop deals with human beings at a very fundamental level of basic needs, like happiness, competition, and the urge to progress.

Only when the gameplay loop is truly magical do you begin the “normal” development process.

Looking for the Loop

Once you realize the significance of the gameplay loop, you start playing games in a completely new way. You appreciate the beauty of the loop in good games and you become much better at looking beyond beautiful graphics and distilling the essence of a game. You also start benchmarking games against each other on a detailed level.

This brings out a number of interesting perspectives. First, can you find a gameplay loop in other types of products than games? Is there something that the user does repeatedly and therefore needs special attention and many development iterations? I have looked back at products that I have been involved in and I can point to the core loop in most of them. Some of the core loops were brilliant, but some of them were average to poor, as the features and general infrastructure detracted from the essence of what the product was supposed to deliver. My first take-away: look for the loop and make it perfect!

Gamification – a Contradiction in Terms?

My second take-away is about the inherent contradiction in the popular notion “gamification.” If the essence of a game is the gameplay loop, then you cannot gamify something that has an entirely different user experience loop and purpose.

Let’s take CRM as an example. The purpose of a CRM system is to improve the relationship with the customer. In other words, a CRM system offers a set of mechanisms that remind/drive the sales person to interact with the customer. A gamification project might introduce badges for different activities, high score lists for the best performing sales people, or other elements you might find in a game. Gamification does not, however, change the core user experience loop in a CRM system, which is: 1) enter data to qualify the relationship with the customer, 2) create a profile of the relationship with the customer, and 3) get notified about needs for actions/next steps, which in turn creates qualification data. This set of user actions is not a game. You might get a fist in the air when a deal is won, but sales people will still hate updating the account in the CRM system – even, if they get a nice “Sales Person of the Month” badge 🙂

Games Can be Much More than Fun

This does not mean a game cannot deliver more than just fun. As I will explore in my upcoming blog post “Mobile Gaming as a Business,” I am a firm believer that business model innovation is one of the biggest opportunities in the mobile games industry. At Planeto, games are used for lead generation. Games can also tell stories or educate. It is, however, essential that the starting point is the magical gameplay loop. If you do not get that right, then you cannot deliver on anything else.

Interested in how to combine Magic and Algorithms to create a successful Business Model? Read part three of this Blog series here.

Categories
Tools

Android cryptography tools for beginners

Mobile applications draw the attention of hackers more and more each day because they have something that the attackers want, user data. Hard-coded secret keys, personal information stored in plain text on SD cards, usernames and passwords found unencrypted in databases, analytics collected and sent in the clear to remote servers, are just a few cases that make the life of an attacker easier. This post focuses on Android Cryptography tools for beginners

android-cryptography-tools-for-beginners

How do you go about protecting your users’ data? Take the Developer Economics Survey and let us know. You might win amazing prizes and new gear.

Cryptography is the right tool to use in order to protect sensitive data, and ensure confidentiality and/or integrity. On the other hand, [tweetable]cryptography is hard to use and easy to misuse[/tweetable]. Note that broken cryptography (e.g. using insecure algorithms or hard-coding keys into binaries), is listed in the top 10 mobile risks for 2014. So what’s the lesson to be learned? Well, whereas not using cryptography can be bad, not using cryptography in the right way is just as bad (not to mention time-consuming).

Let’s see then how cryptography can be used in a way that’s both easy and appropriate, in order to develop secure applications for the Android platform.

First, an overview of some popular cryptographic libraries that can be integrated into Android applications. Cryptographic libraries can be seen as cryptographic toolsets that contain tools, such as encryption algorithms, padding schemes, and hash functions.

Bouncy Castle

The Legion of the Bouncy Castle is a charity from Australia that has written Bouncy Castle, a widely used library that provides both a light-weight cryptography API and a Java Cryptography Extension (JCE) provider. The Android platform already ships with a cut-down and outdated version of Bouncy Castle (with small changes in order to make it work on Android). Consequently any attempt to build and use the latest full version of the library in your application, results in classloader conflicts.

Spongy Castle

The motivation behind Spongy Castle is to allow Android developers to bundle any version of the Bouncy Castle library they want with their applications. Spongy Castle is basically a repackage of the latest version of the Bouncy Castle library; all org.bouncycastle.* packages have been renamed to org.spongycastle.*, and the Java Security API provider’s name has been changed from BC to SC.

OpenSSL

OpenSSL is an open-source toolkit that provides implementation for the SSL and TLS protocols, as well as a general-purpose cryptography library. OpenSSL has been ported to many platforms, including Android. As an alternative, you can also build it from source (using the Android NDK) and bundle it with your application.

Let’s assume now, that for application purposes, you want to encrypt some data. What encryption algorithm should you use, AES or DES? How long should your key be, 128 or 256 bits? Which encryption mode should you use, ECB or CBC? If you do not have an answer to all these questions, along with a good reason for each answer, then it seems that you have found yourself in a position where, although you probably have all the tools you need, you are not absolutely sure which ones to use and how.

This is exactly the point where cryptographic toolkits for dummies come into play. These toolkits do not implement any exotic cryptographic functionalities, nor do they intend to replace the cryptographic libraries presented above; they rather built on some of them with the sole purpose of making cryptography easier and safer to use.

Contrary to a general-purpose cryptographic library, such a toolkit normally supports only a subset of the algorithms, modes, schemes, parameters, and other cryptographic tools that are out there. Instead it provides you with sensible defaults in case you (a) know what you want to do but don’t know how to do it, or (b) don’t really care as long as you end up with a safe solution. Let’s examine some of these toolkits to better understand their role.

Keyczar

Keyczar is an open-source toolkit originally developed by two members of the Google Security Team. It has implementations in Java, Python and C++. It supports authentication as well as both symmetric and asymmetric encryption. Keyczar provides safe defaults for algorithms, key lengths and modes, key rotation and versioning, automated generation of initialisation vectors and authentication codes, and internationalisation. This specific toolkit is based on JCE, and its demo for Android (available here), uses Spongy Castle’s security provider.

AeroGear Crypto

AeroGear Crypto is a small Java library provided by AeroGear. It supports authenticated symmetric encryption, elliptic curve cryptography, and password-based key derivation. It also provides sensible defaults for algorithms. AeroGear Crypto depends on Spongy Castle for Android and Bouncy Castle for other platforms. The library is also available for iOS, Windows Phone and Cordova.

Conceal

In an attempt to find a fast and memory-efficient way to encrypt and authenticate large files on SD cards, Facebook developed Conceal. Conceal supports both authentication and encryption, and provides default implementations for key management. It uses OpenSSL, but includes only the necessary parts of it, thereby keeping its size at 85KB. Results published on the site of the library show that Conceal outperforms Bouncy Castle.

A summarised view of the libraries presented above is given in the following table. Note that, although all these libraries aim to safely fill in the gaps for developers that are new to cryptography, advanced developers can skip the defaults and specify all the details themselves (as they would do when using any crypto library).

Library Company License
AeroGear Crypto AeroGear Apache 2.0
Conceal Facebook BSD
Keyczar Apache 2.0

To sum up

If you are a mobile developer, you need to spend time making your applications usable, functional, and attractive BUT you also have to spend time making your application secure. If you do not know how to do so or if you’re worried that you might not get it right, then use one of the libraries described in this article in order to get started. No matter what cryptographic tools you decide to use, avoid implementing your own cryptographic algorithms and/or protocols; use only algorithms and protocols that are widely used, accepted, and ones that users have already spent enough time trying to break.

 

Which skills you can develop to be more effective in protecting your data?Take the Developer Economics Survey and we will let you know. Plus you may win new gear.