Categories
Business

What we’ve learned by designing 10 developer surveys

The question in question is the question of questions

This week we launched our tenth biannual developer survey – asking thousands of developers around the world what they’re working on and how they’re doing it. If you’re involved in software development, in any way, then go and fill it out – it will only take you fifteen minutes and I’ll wait here while you do.

Answers are easy. It’s asking the right questions which is hard.
Doctor Who – the fourth one

At VisionMobile we spend a lot of time composing questions, especially when we’re compiling a survey like this one. The process sounds easy enough – phrasing 30 questions we’d like answered to provide insight into the developer ecosystem, but it turns out to be a surprising challenge.

promo

For a start we have to create a lot more than 30 questions: the survey tailors itself to ask each person about the industry in which they work, based in the first round of questions. The survey can thus be designed to last around fifteen minutes, but the whole industry can be covered.

Some questions we repeat every six months, choice of language, mobile platforms, and so forth, so we can spot developing trends, but sometimes an old question will need new options as the industry changes. A year ago we added Swift to our language list, and were surprised to see how quickly it had gained popularity, now we’ll be waiting to see if that growth has been sustained and at what cost.

Other questions are created from scratch: the technology behind the Internet of Things might not be entirely new, but the developer interest is. For the first time we’re asking about Open Source in IoT, drilling down to see how this new industry is evolving.

After the questions are written the task is far from over, for once the words are down then the “discussions” can begin. How many options should be listed? Which toolkits are worthy of mention? Whose products should be used as examples? How many IDEs can one developer realistically use? VisionMobile employs experts in many fields; with practical experience developing software and an intimate knowledge of the challenges involved, but like most developers these people are driven by a passion for their subject, and have strong opinions on the tools and techniques they consider important. The survey has to be impartial so we try to ensure that all the experts are equally unhappy, for balance.

Software development is a global industry these days, so the survey has to reach a global audience. Once the questions have been written, discussed, dismantled, and rebuilt to a mutually-acceptable level of dissatisfaction, then they have to be translated into almost a dozen languages, always ensuring that the clarity of the original remains intact.

Designing developer surveys once more

And then it is done. Perhaps not quite a joy forever, as Keats would have it, but certainly a thing of utility. Questions laid out, check boxes ready to be checked, radio buttons ready to be… radioed(?). Everything waiting for the thousands of developers such as you (what do you mean you haven’t done it yet? Get over there now, this minute). They are drawn by the desire to contribute to the project, or get access to some of the results, or win a prize in the draw, or just know that their opinion matters to the companies and organisations which will be referring to the data over the next six months before the whole process kicks off again.

Shakespeare’s Hamlet asserted that “To be, or not to be” was “the question”, but in these days of Continuous Delivery the questions will never end, and we have turn to a pair of Hamlet’s school friends (Rosencrantz and Guildenstern, with the help of Tom Stoppard) to see where that might lead us:

Categories
Business

App Usage Surpasses TV: Traditional Media Companies Slowly Wake Up

We spend a lot of time on our mobile phones (that’s no surprise). But, what’s changing yearly about the way we use these devices? Simon Khalaf, Flurry’s CEO, wrote an interesting post that breaks down the above question and much more:

Last year, on the eve of the sixth anniversary of the mobile revolution, Flurry issued our annual report on the mobile industry. In that report, we analyzed time spent on a mobile device by the average American consumer. We ran the same analysis in Q2 of this year and found interesting trends we are sharing in this report.

After putting the desktop web in the rear view mirror in Q2 2011, and eclipsing television in Q4 2014, mobile and its apps have cemented their position as the top media channel and grabbed more time spent from the average American consumer. In Q2 of 2015, American consumers spent, on average, 3 hrs and 40 minutes per day on their mobile devices. That is a 35% increase in time spent from one year ago and a 24% increase from Q4 2014. In just six short months, the average time American consumers spend on their phones each day increased by 43 minutes.

mobile-time-spent

To put things in perspective, there are 175 million Americans with at least one mobile device. This means that, in aggregate, since November 2014, the US connected population is spending an extra 125 million hours per day on mobile devices. This growth rate is especially astonishing after seven consecutive growth years.

The Browser: Sidelined

Looking at the chart above, today only 10% of the time spent on mobile is spent in the browser, down from 14% a year ago. The rest of the time, 90%, is spent in apps. Effectively, the browser has been sidelined on mobile. This has major implications on the digital industry in general and the content and media industry in particular. Historically, the media industry has relied almost entirely on search for user and traffic acquisition, building entire teams around SEO and SEM on the desktop web. But search engines are predominantly accessed from a browser. If mobile users aren’t using browsers, the media industry will have to look for new approaches to content discovery and traffic acquisition.

The Media Industry: Absorbed by Apps

The chart below takes a closer look at app categories. Social, Messaging and Entertainment apps (including YouTube), account for 51% of time spent on mobile.

app-distribution

Entertainment (including YouTube) grew from 8% of time spent last year, or 13 minutes per day, to 20% of time spent, or 44 minutes per day this year. This is 240% growth year-over-year, or an extra 31 minutes. That is more than the time it would take to watch an additional TV sitcom for every US consumer, every day!

gaming-loses-ground

Messaging and Social apps grew from 28% of time spent last year or 45 minutes per day to 31% of time spent or slightly more than 68 minutes per day this year. This is a 50% year-over-year increase. However, the majority of time spent inside messaging and social apps is actually spent consuming media, such as videos on Tumblr and Facebook or stories on Snapchat. A study by Millward Brown Digital showed that 70% of social app users are actually consuming media. While we can’t correlate the 70% directly to time spent, we firmly believe that media consumption, either articles read in the web view in app, or video consumed in the feeds, constitute the majority of time spent in social apps. This is a big trend and one that will be watched very carefully by traditional media companies. These companies have to adjust to a new world where consumers act as individual distribution channels. The growth in entertainment on mobile proves once again that content is in fact king and is beating the gaming industry in its own game.

The Gaming Industry: Time is Money

The completely unexpected result of our analysis this year is the dramatic decline in time spent for mobile gaming. Gaming saw its share decline from 32% last year (52 minutes per day) to 15% of time spent (33 minutes per day) this year. This is a 37% decline year-over-year. We believe there are three factors contributing to the decline.

  1. Lack of new hits: Gaming is a hit driven industry and there hasn’t been a major new hit the past 6 to nine months. The major titles like Supercell’s Clash of Clans, King’s Candy Crush, and Machine Zone’s Game of War continue to dominate the top grossing charts and haven’t made room for a major new entrant.
  2. Users become the game: Millennials are shifting from playing games to watching others play games, creating a new category of entertainment called eSports. This summer, Fortune named eSports, the new Saturday morning cartoons for millennials. In fact, some of the most watched content on Tumblr is Minecraft videos created and curated by the passionate Minecraft community.
  3. Pay instead of play: Gamers are buying their way into games versus grinding their way through them. Gamers are spending more money than time to effectively beat games or secure better standings rather than working their way to the top. This explains the decline in time spent and the major rise in in-app purchases, as Apple saw a record $1.7B in AppStore sales in July.

What the mobile industry in general and the app industry in particular have achieved in the past seven years is amazing. Flurry now measures more than two billion devices each month and sees more than 10 billion sessions per day. That is 1.42 sessions for every human being on this planet, every day. And that is just Flurry! If there is anything to say about the mobile and app industry it is this: Mobile is on fire and it is showing no signs of stopping.

Categories
Platforms

Developers: builders or explorers?

What do you think about when you hear the word “software developer”? Most people probably imagine a duffy engineer, turning his boss’s requirements into code. A software builder, so to speak. But developers are so much more. They’re often more like adventurers and explorers, boldly going where no programmer has gone before. This was never more true than at the eve of the Internet of Things. The most important role of Internet of Things developers is to explore new possibilities. The technology is widely available; in no small part because of open source software and hardware projects. Now we need to learn where we can take it. We can build it, but should we?

Why are Explorers so important?

Explorers are critical to any developer ecosystem, including in the Internet of Things. First, because that’s where all the truly new, out-of-the-box ideas come from. It’s hard to be super-innovative when you have a project to deliver to your boss or client. Only by exploring seemingly crazy ideas can the Internet of Things reach its full potential. The open source ecosystem is often the area where these ideas bloom.

Secondly, while exploring, Explorers gain a tremendous amount of experience. This will help them build their careers (as builders or otherwise). It also helps the companies that pay the bill. And it is needed. In Q4 2014, VisionMobile surveyed 4,000+ IoT developers. The lack of hardware development skills was the top challenge among IoT developers. 48% of IoT open source enthusiasts (those who find it important to use an open source platform) listed it as a challenge.

Learning and open source

VisionMobile’s data also shows that exploring, learning and open source technology go very well together. Among Explorers (developers that are primarily interested in gaining experience to seize on future opportunities), 20% value open source platforms and technology. That’s the highest level of any group. Conversely, Explorers are the biggest group among open source enthusiasts (32%).

Furthermore, open source is popular among developers that are new to IoT and new to software. A second group who value open source are seasoned software developers who bring open source business models to the Internet of Things. Traditional IoT developers with lots of experience underuse open source. In a way, these “experienced in software, new to IoT” developers provide another kind of ecosystem-level learning.

More data

Here are some more key insights about IoT explorers and open source enthusiasts that we summarized in an infographic, co-created with Arduino:

  • Open source is not just useful for building skills. It is also used by developers that want to increase efficiency (we call them Optimizers) and by developers that work on commission (Guns for Hire). This indicates that open source tools get the job done quickly, efficiently and inexpensively. On the other hand, developers are cautious about using open source technology in commercial products.
  • Open hardware in particular helps IoT developers to address their 3 main challenges: a lack of hardware skills, immature tools and high production costs. Arduino is clearly a leader in this space.
  • “Open” seems to be a professional philosophy that is applied on hardware, software and protocols alike. 60% of open source enthusiasts feel that open standards are missing from IoT, compared to 44% of other IoT developers.
  • All this doesn’t mean that open source has won everywhere. Some verticals, e.g. wearables, seem more difficult to address with open source technology and are therefore less popular among open source enthusiasts. Sometimes open source platforms struggle in the face of strong closed-source competitor. Smart Home platform OpenHab is a good example.

In conclusion, developer-explorers are critical to any developer ecosystem, and open source technology is an important tool to make that happen. I for one can’t wait to see what these modern-day Marco Polo’s and David Livingstone’s discover next!

open-source-enthusiasts-iot

Categories
Business Languages Platforms

Who, What, How, and Why: software development laid bare

Every six months we ask developers around the world those four questions, to see how the industry is evolving. Now in its 9th edition the VisionMobile Developer Economics survey reached out to 13,000 developers, from 149 different countries, and the results are available in our biannual report: State of The Developer Nation Q3 2015.

Who

94% of our 13,000 developers are male, showing a gender imbalance which needs to be addressed if the industry is going to reflect society as a whole. North America is making some progress here, but even in the land of opportunity only a tenth of developers identify themselves as female, and the figures of the rest of the world are much worse.

It’s perhaps surprising that Africa is next best in terms of equality, while Europe is positively embarrassing with only 4% of developers ticking the box for the minority sex. South America offers the greatest imbalance, but nowhere do developers reflect the proportion of women in the general workforce.

What

Cloud is increasingly important for developers, and cloud developers the most likely to be generating revenue (67% of them are bringing in more than $500 a month). But there’s no rush to the public offerings such as AWS or the Google App Engine, despite all the media attention: 44% of cloud developers are creating apps in private, for use on private clouds.

The Internet of Things is also getting a lot of developer attention, though more a quarter of IoT developers (26%) don’t know who their eventual customer will be. Half of those developers are making applications, rather than hardware or firmware, reflecting the evolution of the IoT industry.

When it comes to mobile the two dominant players (Android and iOS) are squeezing out the competition and 37% of mobile developers are targeting both the leading platforms. Interest in creating apps for Windows Phone has dropped slightly since we last asked, from 30% to 27%, but developers are understandably nervous of Windows 10 and the uncertainty over Microsoft’s commitment to mobile.

How

Across the developer community the most-popular development language is now a combination of JavaScript and HTML5. The evolution of web languages has imbued them with functionality, while cross-compilers and packaging tools can make them indistinguishable from native applications. That’s been enough to attract 71% of developers in North America, though only 58% in Asia where old-school languages such as Java and C retain their presence.

Learning a new language is always a challenge, though the growth in Apple’s Swift shows that developers are willing to invest in their education. Swift is, perhaps unsurprisingly, attracting a good proportion of self-taught developers (27% of those primarily using Swift consider themselves self-taught), while Java, C#, and Objective C, all appeal to degree holders (around 60% have degrees) who prefer a more-formal learning environment (around 17% are self-taught).

Why

Not all developers are motivated by money, in fact many professional developers are hobbyists or amateurs in another field. More than half of our mobile developers, for example, are also mucking around with IoT – some professionally, but mostly just to see what it can do, and what they can do with it. Developers are predominantly young, with an average age of around 30, and have both the time and the motivation to explore new areas. Many are involved in open-source projects: 11% tell us that Linux is their primary desktop target platform, despite the fact that the open-source OS accounts for less than 2% of desktop installations.

In mobile the path to revenue, if not riches, is clearly selling products and services, in the manner of Uber or Just Eat, rather than downloads and booster packs, in the manner of Candy Crush and Minecraft. Only 10% of mobile developers are chasing e-commerce revenue, but almost a fifth (19%) are taking more than $100,000 a month – a figure that only 6% of those reliant on advertising can match.

The State of the Developer Nation

The whole report, complete with graphics and figures, is a free download, and packed with more insight and analysis from Vision Mobile.

Categories
Business Platforms

Business Model combines Magic and Algorithms in Mobile Gaming

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 the third and final blog of a three part series on battle insights by a mobile game CEO.

Mobile Gaming as a Business

[tweetable]Even today, game designers prefer the traditional model of being paid up-front for games[/tweetable]. This business model allows them to devote most time on what is important to them, namely the game and it’s magical game play loop. Our world of algorithms has, however, made Free-to-Play (F2P) the dominant business model for successful games. Free is very powerful as a digital marketing tool for skillful individuals who are able to combine great gameplay with algorithm-winning distribution and marketing.

Ad revenue and In-App Purchases (IAPs) are the two traditional revenue sources in F2P games. Developers mix the two in different quantities depending on the game genre and design. Let’s explore one by one, before we look at the next possible frontiers in the mobile games business.

Getting the User to Buy Everyday

In our first game, we had one item for sale, namely a premium upgrade. This is not a good business model when your game has strong retention. We still have customers today who played our games nearly three years ago… incredible! These users love our games and, in our original game, their maximum spend was $2.99. That was it for three years of entertainment. 🙂

By implementing lifelines, offering new question packs, and decoupling game boards from the premium upgrade, we have in subsequent games removed the limit on how much money you can spend. Our best customers now spend more and in return we offer more features and content. A much better relationship than the original fire and forget model.

Because of this ongoing relationship, we also have become much more generous. We provide the users with some in-game currency for free, so they can try the different lifelines and game boards. That drives up our conversion, as the users get familiar with our in-game currency early on. Contact to support also triggers free stuff!

Third, we actively work with conversion of users through campaigns where we make seasonable items available either free or at heavily discounted rates. We have had great success with our X-mas tree game board. 🙂

Finally, our lifelines are micro purchases offered at a time where the user is most willing to spend – very similar to the extra turns in Candy Crush Saga.

Good IAP design is hard, and it needs to be closely integrated with the core game play loop.

Advertising as an Ongoing Adjustment Process

As mentioned in “The Science of Mobile Game Marketing“, F2P games need an ad mediation layer to be successful in the advertising space.

First, you need a mix of different types of ads from incentivized video, over normal video, to static interstitials, and banner ads. The mix allows you to adjust the ad types over the lifecycle of the user. Advertising is not something users love, so you want to avoid intrusive ad formats, like forced video ads, early in the lifecycle of a user. Later they might make sense depending on your game.

It is also important to ensure you drive up your fill rate. You will not have sufficient video ad inventory from one network available at all times, and hence you should backfill with interstitials from other networks.

Finally, you need to be able to play the different ad networks against each other to ensure the best possible CPM. The ad intermediation layer allows the developer to switch between many different ad networks and adjust advertising volume by network. On top of the automated CPM-based adjustments made by the mediation layer, we adjust our volume by network each week to make sure we get the best CPM per country.

Each advertising network has its own logic when it comes to buying advertising space in games, but generally speaking we’ve also seen that ad networks take advantage of developers who are stale, i.e. developers who do not tweak the number of impressions per ad network. So if you leave your ad network distribution untouched for more than two weeks, expect your revenue to start declining.

Tweak and learn!

The Real World as a Revenue Opportunity

Game developers often use other brands for marketing. Whether it is Kim Kardashian, CR7, or FIFA, it is obvious that real world brands sell games. Integrating the real world into games does not necessarily need to be a royalty expense. In fact, this can be a great opportunity for business model innovation in the mobile games market.

Brands, people, and organizations are finding it increasingly difficult to engage with their stakeholders in a positive, meaningful way. Designed correctly, games can be one such path.

At Planeto, we have worked with brands to create question packs about a specific topic for TV stations. One TV station worked with us on a question pack on the Premier League – they wanted to engage their viewers on knowledge about the Premier League. Another TV station wanted 250 questions on fashion for the Copenhagen Fashion Week. Great fun for our users and excellent exposure for the brands.

Think about your game – how can the real world increase your revenue or extend the lifecycle of your game by bringing in brands, information, or other stuff that your users care about? Be creative – people care about more than just celebrities and TV shows – what about the city you live in? Nature? Politics?

Big Data as a Revenue Opportunity

As we live in a world of algorithms, game developers have more information about their users and their users’ behavior than any other industry out there. Where traditional industries are looking to build up data about their customers, it often feels like we have excessive amounts of data in the mobile games industry.

Taking advantage of user data requires a thorough understanding of privacy – both from a legal perspective, but also from a product perspective, i.e. what value do you bring to your users and when you decide to generate revenue from data? Privacy must have priority over any revenue considerations. There are, however, cases where the two can go hand in hand.

In the past, we have successfully offered our users a free upgrade in return of receiving an offer for a popular science magazine subscription. This is a reasonable trade-off for the user. They know an upgrade costs $2.99. They know they will be offered a magazine that aligns nicely with knowledge-oriented games that they are playing. For that, they are willing to provide an email or a phone number.

Aggregated knowledge about the users might also be valuable. If you have personal statistics, high score lists, or achievements, could other stakeholders get any value from them, if they were presented in a slightly different way?

I would love to throw a game designer and a big data entrepreneur in a room for a few days to build a truly innovative game where data is the core monetization source.

…and We Are Only Just Beginning

These are only two examples of frontier-type business models. There are many more.

Education: I am not a big fan of the 1st generation of brain training apps. They are generally not fun to use and need such a huge commitment that they are unlikely to have any effect for 99% of their users. In the end, I do believe we will become better at using games for education. We are just not there yet.

Media: The traditional media industry is going through a tough spell at the moment. Great games where entertainment is integrated at the core of the game could be the future for some magazines, newspapers, and TV stations. SMS voting is one step in the right direction, but there must be more revolutionary designs waiting to be discovered.

Social: Games are good at bringing people together around a common interest. “Play first, date later!” could be an interesting business proposition to pursue.

I believe the next generation of big mobile game innovators will find business models that integrated a magical gameplay loop in weird and wonderful ways with the world of algorithms. What other innovative gaming business models have you seen or would you love to see?

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.

Categories
Platforms Tips

4 out of 10 sites unaware of the Google’s new Mobile Ranking Signal

A variety of mobile devices have flooded the Web in the past years. To no one’s surprise, Google announced that starting April 21st, they’ll expand the use of mobile-friendliness as a mobile ranking signal, in fact penalizing all sites that don’t have a mobile strategy – dubbed “Mobilegeddon” in the recent press.

Furthermore, Google just paid $25 million for exclusive rights to the “.app” top-level domain. Although the company hasn’t yet announced any specific plans for .app, this could be the signal that the Mobile Web will evolve beyond Responsive Web Design (RWD) and lean more towards rich UX/UI and mimicking of the native environment.

Presumably, [tweetable]the update to their algorithm will have a significant impact on Google’s mobile search results[/tweetable]. If you’re like me, you’d want to go all the way and find out the specifics: what is the current distribution of mobile web strategies, how many websites will be impacted by this change and to what degree? If you already have a mobile web strategy in place or just started developing one, you’d probably also want to know how to optimize it: how “lengthy” should your pages be or how “heavy”? And what Google’s PageSpeed Insights has to says about it?

We have searched the answers to these questions by analyzing the top 10,000 Alexa sites, from 5 different categories: News, E-commerce, Tech, Business and Sports. What we discovered was no less surprising and we felt like this is something worth sharing with the community. Before diving into the data let me tell you a few words on the methodology.

As per Google’s guidelines, we have taken into consideration three types of configurations for building mobile sites:

google-table

Google recognizes three different configurations for building mobile sites. (Google Developers)

  • Responsive web design: serving the same HTML code on the same URL, regardless of the users’ device; render the display differently based on the screen size.
  • Dynamic serving (also known as adaptive): using the same URL regardless of device, but generating HTML code dynamically by detecting the browser’s User Agent
  • Separate URLs (also known as mobile friendly): serving different code to each device and a separate web address for the mobile version

To detect the strategy used by different websites, we have crawled them using an iPhone User Agent.

Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3

On top of that, we also identified those sites that implemented a Smart App Banner meta tag in the head of their home page, to market their iOS app:

<meta name="apple-itunes-app" content="app-id=myAppStoreID">

For analyzing the performance, we have used the PageSpeed Insights API, which takes into consideration not only the size of a webpage, but also compression, server response time, browser caching and landing page redirects, among others.

We also wanted to see how long mobile pages have become. Since RWD relies heavily on scrolling, we asked ourselves if this is an effective way to display content and what can be considered an optimum page height. Throughout the rest of the article, you’ll see references to “X5” height rate, which means that a site’s main page height is 5 times the height of the viewport on iPhone 6 (375 x 667). This is an indication of how much scroll needs to be done in order to reach the last piece of content.

visionmobile-infographics

Overview of Mobile Strategies on the Web

It’s 2015 and if you think that RWD is winning over mobile friendly sites (separate URLs), you’re spot on. Nearly 28% of the sites we’ve researched are responsive, while 26% have opted for a separate mobile address. The gap is indeed there, but it’s not as wide as we might have assumed. The surprising fact is that 40% of the researched sites have no mobile web strategy whatsoever! To me, that’s HUGE! Since Google’s new algorithm update is just around the corner, we can easily imagine that ignoring mobile users will no longer be an option.

Deeply buried in the data, we’ve also found another interesting fact: approximately 4% considered that being adaptive (serving different content under the same web address) is the right strategy for their mobile web presence.

2% of the researched websites have chosen to target their mobile users through applications (iOS). The number may in fact be bigger, but the inconsistency in promoting their apps makes them difficult to track.

Let’s dig a little bit more and see the variations between different categories and the impact that each strategy has on the overall mobile experience.

Newspapers – resistive as always

Being “stuck in the past” seems to be rightly attributed to the publishing industry, especially to newspapers: 38% of the websites from this category are mobile-friendly (separate URLs) and only 25% responsive.

In the PageSpeed Insights (PSI) results, adaptive comes on top with 75% scoring between 40 and 60 (although only 15% are above 60). Interestingly enough, mobile-friendly sites score even better (19% with PSI > 60), while only 11% of responsive sites have a score higher than 60. In fact, most of the sites that score under 20 are responsive (10%).

Wait, what? I thought Google loves responsiveness, right? There are countless articles about how Google recommends RWD as the best way to target mobile users. Surely, something doesn’t add up!

Or maybe most of the responsive sites don’t comply with Google’s own recommendations. A plausible explanation might be that developers have mistaken Google’s love for good mobile experience with the love for responsiveness, thus taking Google’s guidelines for granted. Instead of taking advantage of RWD, they end up producing sites that score poorly on all aspects.

When looking at sites’ height distribution on mobile devices, we see that the average for mobile-friendly ones is X8, which is pretty close to the X7 average rate represented by adaptive sites. However, 54% of adaptive sites have a less than X5 height rate.

In all fairness, “old” doesn’t necessarily mean wrong for newspapers sites and this time it might be working in their favor: 47% of responsive sites have a X10 – X15 height rate and 14% even over X15, which means that mobile users have to do a lot of scrolling before reading a certain piece of content.

So why are mobile friendly pages shorter? Did they notice that not so “lengthy” pages are more suitable for reading content on mobile? Is that the reason behind choosing mobile friendly (separate URLs) over responsiveness? But if that’s the case, why not going all the way towards adaptive? They’re doing a better job in terms of producing closer to optimum mobile pages (averaged at 2.5MB for both mobile-friendly and adaptive, compared to 3.7 MB for responsive) so perhaps it’s the ease of managing a separate mobile site all together.

Looking at Alexa’s popularity ranks, we notice that as the rank decreases, the number of responsive websites grows. The majority of sites with a low popularity rank are in fact responsive (14%), while 53% of the analyzed adaptive sites place themselves among the top ranked ones.

Tech sites – leaning towards RWD

In contrast with the above findings, responsive sites predominate in the “Tech” category (33%), while only 12% are mobile friendly (separate URLs).

In addition to that, 58% have page sizes under 2MB and consequently – a higher score on PageSpeed Insights: 51% mark over 60 and only 1.5% under 20. A page size of 2MB might sound a bit too much, but in fact, caching and other factors are influencing the overall PSI score.

When comparing the results to the newspapers category, tech websites show a major improvement. Yes, responsive sites still have the biggest height ratio (X6), but the average is significantly lower than what we’ve found earlier (X8).

Unfortunately, the “Tech” category also has the biggest percentage of sites that have NO mobile strategy whatsoever: 51%. It would seem that we have either modern responsive sites or nothing at all.

Overall, adaptive sites are still the most efficient in terms of score, but responsive sites are stealing the 1st place when it comes to height ratio, with a slightly bigger percentage of websites having a height rate of X5.

E-commerce sites fare better than most

For the “Shopping” category, mobile-friendly (separate URLs) and responsive sites are at a tie: 26%. Surprisingly though, adaptive e-commerce sites scored the biggest percentage of all categories: 6%. What would cause e-commerce sites to lean towards adaptive?

One plausible reason can be their appetite for improving conversion rates, thus their attention to optimize everything related to the buying funnel, which is influencing their mobile strategy as well.

If we analyze the height distribution for all three configurations (separate mobile URLs, responsive and adaptive), we see a pattern emerging: e-commerce sites, regardless of their mobile strategy, have the biggest percentages for under an X5 height rate: 90%, 58% and respectively 81%.

One could speculate that the reason for keeping their pages shorter is related to the influence that a lower height ratio might have on conversion rates. On top of that, PageSpeed Insights offers the highest score for all three mobile strategies: ~90% of mobile friendly/adaptive sites and 75% of the responsive ones have scored at least 40 points.

[tweetable]Clearly, e-commerce sites are doing a great job at optimizing for mobile[/tweetable] and, regardless of their favorite strategy (adaptive sites seem to be leading by a low margin), they’re mastering it like no other.

Apps – still luxurious game to play

Among other categories, we’ve found that mobile applications are appealing too: close to 6% of sites from “Business” and “Sports” have created their own iOS application, even if most of these previously opted for mobile friendly sites: 9% respectively 15%.

As a general rule, regardless of the category, if a site doesn’t have a mobile web strategy, chances are it won’t go for an application either. You’d expect it to be the other way around, but if a site owner ignored all previous mobile web strategies at his disposal, would he really be open to a more laborious and expensive approach (apps)? Not really.

Optimum Height and Page Size on Mobile

Analyzing ~10,000 sites in various categories surfaced a couple of guidelines that you might want to take into consideration when implement your mobile web strategy. In essence, what’s the maximum height and page size that your mobile friendly, responsive or adaptive site should have to ensure a 50+ PageSpeed Score?

If we analyze page sizes less than 2M, we realize that mobile-friendly sites, particularly in the Sports category, come on top with little over 91%. We also notice that only 30% of responsive sites score over 50 on PageSpeed Insights. Again, just keeping the page size at this level isn’t enough to ensure a high PSI score since caching can be equally important, but it’s a good place to start.

Interestingly enough, the “News” category is the only one where the majority (52%) of the adaptive sites with scores over 50 has page sizes between 2MB – 4MB. Even if adaptive sites seem to be able to “carry” more weight, their height rate should be kept at the minimum (X5) to ensure a good score.

Applying the same logic to height rates, clearly X5 seem to be the optimum rate for scoring 50+ on PageSpeed Insights. Once more, responsive sites seem to have the least chances of scoring over 50, even if they aim for a lower height: 62%.

Is the Mobile Web Heading Towards “Appification”?

[tweetable]Today, mobile web consumption occurs mostly from in-app browsers[/tweetable]. Just look for example at the Facebook app, that used to open links by using an external browser. Now, they have embedded a browser directly in the app and it makes sense – they don’t want their users to have a broken experience.

With that in mind, shouldn’t mobile websites offer a more app-like experience? Isn’t the linear scrolling experience we see on responsive sites a bit outdated?

In all fairness, what we’ve concluded thus far doesn’t take into account various UI/UX aspects and doesn’t answer some critical questions: When scrolling becomes too much for a mobile site? What’s the impact of having a long scroll and is this the reason for poor mobile reading experience on the web? What else can we do to ensure that mobile users have a good experience on the web?

That’s why in the second phase of the study we’ll analyze how much scrolling is actually being done on a responsive page, on mobile devices. After gathering relevant information on how mobile users interact with responsive sites we’ll be able to complete the next phase of the study by answering some key questions:

  • What’s the mobile device and browser they’re using for accessing a site?
  • How much time they spend on a particular page?
  • What’s the maximum scroll height they reached on a site?

From “Nice To Have” To Mandatory

We’ve seen that 40% of the top 10,000 Alexa sites from 5 categories (News, Tech, E-commerce, Business, Sports) don’t do anything when it comes to their mobile users. However, we’re in the middle of a big shift: [tweetable]having a mobile strategy on the web is no longer just “nice to have”[/tweetable]. If we take into consideration the impending change of Google’s mobile ranking algorithm, we can conclude that at this point any mobile web strategy is a good strategy.

As far as this first part of our study is concerned, from a technical point of view, a page that fits within 2MB and has a height rate of X5 has a good chance to score 50+ on Google’s PageSpeed Insights. Although adaptive websites are overall the most efficient ones regarding these aspects, they are not very popular either. Even though the study clearly shows that RWD is far from being optimum, responsiveness is the leading strategy adopted when targeting mobile users.

If we add to the mix the “.app” top-level web domain bought by Google, the line between native apps and web apps is getting thinner and thinner. The Mobile Web is already evolving beyond responsiveness into something new and exciting where everything is an app instead of a site, where user interactions are more important than just page views and ultimately where all apps are interlinked into a Web of apps.

If you are interested in learning more about mobile app development read the third post of our series on Mobile App Marketing, on Business Models.

Categories
Languages Platforms Tools

Why JavaScript will win on mobile

JavaScript is not the world’s most elegant programming language. So much so that one of the world’s top experts on the language wrote a book about “The Good Parts”. The book carries the headline “Unearthing the Excellence in JavaScript” because that excellence is quite deeply buried. Even so, it has rapidly become one of the most popular languages in the world. That popularity is deserved, because despite the flaws in the language, JavaScript gives developers significant advantages that they can’t get with other languages. Some of those advantages were created when browser vendors agreed to standardise on JavaScript (OK, technically ECMAScript) as the language for the web. Others are inherent to the web app programming model and more yet have been created through tooling enhancements. However, despite the fact that native apps are dominating web apps on mobile devices, JavaScript’s advantages are steadily transferring to mobile. Will it eventually dominate there too?

why-javascript-will-win-on-mobile

Popularity not priority

The latest TIOBE Community Index has JavaScript in 6th place amongst all programming languages and rising. The TIOBE method of ranking tends to favour older, more established languages and is not so quick to pick up trends. By contrast, the Redmonk rankings have JavaScript in first place. The Redmonk method is somewhat biased towards languages with strong open source communities but more accurately reflects current interest and trends. Our own Developer Economics surveys have shown that [tweetable]HTML5/JavaScript combination is the second most popular language amongst mobile developers[/tweetable] with 55% using it, just narrowly behind Java (at 57%). However, even if we combine those who prioritise HTML5 and JavaScript (19%), they’re still a long way behind Java (29%) on this metric. It seems likely this is going to shift significantly over the next few years. [What do you think? We have a new survey out, so take the survey and let us know your thoughts]

JavaScript breaking free from the browser

This is not a standard “the web will win” argument. I don’t believe that browser or webview-based apps will eventually dominate on mobile devices. Use will grow but they won’t be the norm. If true open web standards are to dominate in the future then they need to move on from the Document Object Model (DOM). The DOM is a base for building documents, not apps. Of course you can build an app around a platform originally designed for documents but you’re starting from a position of handicap. Look at the modern frameworks that allow you to build fairly performant apps for mobile browsers/webviews: React.js, Famo.us and Ionic. All three share the common feature of touching the DOM as little as possible.

Yes, there’s WebGL (or HTML5 Canvas if you must) too but those are low level graphics APIs. You need large, probably multi-megabyte, frameworks on top to create a good platform for building most apps. That’s not a good fit for the web app programming model, where the latest application code lives on a remote server, particularly not in a mobile environment. It’s true that you could have a hybrid app with a large framework on top of WebGL stored locally and just fetch the application specific code from the server but then why use the browser at all? Why not just JavaScript on top of some other cross-platform framework built for hardware graphics acceleration (hint: Qt has a nice offering here). One with a higher level API so there’s not so much overhead bridging between languages. Perhaps also one that’s less restricted when it comes to accessing device specific functionality.

There are now a couple of really interesting new options that fit this description, React Native and NativeScript. These work in different ways but both build apps with a native UI using JavaScript. Appcelerator’s Ti.Next may also be interesting, although they’ve been talking about it for a couple of years without an actual release yet, so we’ll wait and see.

The JavaScript exception

Here is where Apple has restored JavaScript’s advantage on mobile. A key thing that has prevented most developers from adopting an agile, web-style continuous delivery model on mobile is Apple’s ban on code downloading. Without that iteration is significantly slowed and split testing is much harder to do. This effectively means developers, particularly startups, learn slower. Until very recently, the only ways to get more rapid iteration were to go Android first, or build a hybrid app, since Apple made JavaScript downloaded in a webview an exception to the code downloading rule. In the first case it means moving away from the platform with the most early adopters. Unfortunately in the second case the UX trade-offs are too great, with most developers that went that route for a consumer app failing or switching to native. But in iOS 7 Apple added the JavaScriptCore interface to their own JavaScript runtime and in the latest iOS Developer Program License Agreement they modified the exception to code downloading rules to include JavaScriptCore.

This makes sense from a security perspective. Apple can audit and update their own runtimes, whereas if they allow 3rd party runtimes to download code they have no effective way of monitoring or dealing with security issues. Since JavaScript is Apple’s only scripting option and they can’t allow native code downloading, JavaScript is restored to a privileged position – the only option for those that want to iterate fast. The availability of JavaScriptCore triggered efforts like React Native and NativeScript and the timing of Apple’s relaxation of the code downloading policy has been perfectly timed for their public release.

Will open win?

Web advocates sometimes suggest that the open-standards-based web must eventually win because open always wins in the end. However, Linux is a very clear case where an open ecosystem thrives without a committee agreeing standards. With React Native, Facebook appears to be very rapidly building a developer ecosystem around their open source project. Already having a rapidly growing community around React.js obviously gives them a headstart but the NativeScript team at Telerik are working with Google such that Angular 2.0 should integrate seamlessly. Google are going to support non-DOM environments whether the web standards go in that direction or not. Microsoft and Google might take a long time to agree on the standards they’ll implement in their future browser versions but they’re working together on TypeScript, to make it easier to build complex apps with JavaScript (it turns out compilers are much better than people at spotting type mismatches).

Apple has built some fairly impressive tooling for their new Swift language, particularly the interactive playgrounds. However, Facebook possibly already has a better developer experience with React Native in terms of immediate feedback and rapid cycle times whilst coding. Apple will continue to iterate on that tooling alone, whilst the developer community can now enhance the tooling for these new JavaScript environments. Android may technically be open source but it’s not open in terms of community contribution. Google are enhancing the Android platform and tooling alone. [tweetable]Perhaps it’s really open developer communities that win[/tweetable] and genuine open source based communities can iterate faster than open standards based ones. For these “native UX built with JavaScript” environments to succeed, the platforms don’t have to lose. Apps will still be tailored to the platform look and feel and adopt new platform-specific APIs.

Javascript will win on mobile.

At the moment it looks like the very open JavaScript developer community will win because they get to build apps with native look, feel and performance but a web-style development experience. The closed platforms also win because apps are still being tailored for their captive ecosystems. For now, open web standards lose. It seems likely they can only win if the mobile browser vendors can agree to new standards that enable the creation of apps that genuinely offer an equivalent experience to native ones.

Update: Where we right in our predictions? Here is a latest update on the popularity of Javascript.

What do you use?

Do you think JavaScript will dominate on mobile in the future? Or Java, Objective-C and Swift will continue to lead? What about for the Internet of Things, or on the backend via Node.js? Let us know what you’re building your apps with by taking our survey.