Developer Affairs: The agony and ecstasy of app stores

Back in the day, what mattered when picking a smartphone - be it a Nokia N-something, an aging Palm Treo, a BlackBerry with proper answer and end buttons, or a stylus-driven Windows Mobile brick - was the quality of the built-in applications. The features of the email program or the to-do application or whether or not the calendar integrated with Exchange were the driving forces.

Today smartphones are almost wholly dependent on third-party apps. These apps are the focus of half the commercials for every platform - they define what you can do with the smartphone or tablet. With how codependent modern smartphones and app developers are, we have to ask, what can the builders of these platforms to do better support the builders of these apps?

Each platform offers a different experience and set of features for developers. Some app storefronts are strictly curated while others are a free-for-all. They offer different mechanisms for advertising, in-app purchases, subscriptions, cloud services, and deployment. Some platform builders offer incentives, while others have the marketshare that the incentive is success.

Platforms need developers, and developers need platforms, but the relationship is a rocky one. How do we improve it for better platforms and better apps?

Users and developers alike can agree that having an app available regardless of platform is a great ideal. But at what cost?

App stores

Articles navigation

Premium partnerships for premium apps

Paying more for premium service isn’t a new philosophy. Want more personal attention? Want better service? Then you’ll have to shell out more cash. Pick any industry, and chances are you’ll find this sort of scheme. Self-serve versus full service. Do your taxes online? Bump up to the next tier and you’ll (probably) get a real, live human being to help you out.

Premium service is not necessarily a bad thing. When it comes to mobile platforms, we need all parts of the equation to be as good as possible. Better hardware. Better design. Better apps.

Premium service is not necessarily a bad thing.

Barrier to entry

To distribute apps in the Google Play store, a developer must pay a one-time $25 fee, as well as 30% of any payments through the Google Play system (app purchases, subscriptions, or in-app purchases).

BlackBerry used to charge a $200 registration fee, but waived that charge in 2011. Apps sold through BlackBerry World send a 30% cut back to BlackBerry.

Both Microsoft and Apple charge $99 a year to distribute apps in their stores, and both take a 30% cut of sales and in-app purchases. Microsoft also institutes a $19.99 fee for every free app over 100 submissions - should a developer ever aim to cross that boundary.

But in the latter case, having premium levels of service for apps conceivably could threaten to create even more disparity between independent developers and the major software houses. In a utopian world, anyone and everyone should be able to be able to pay their $99 (or whatever it costs for a specific platform) and start developing on a level playing field. Apps would then compete on merit alone.

And that’s not to say app developers are on their own. Developer relations is a huge part of any mobile platform. I’d daresay it’s one of the most important, actually. And perhaps such personal service need not be free. But it’s important that he who has the most cash not be the only one who can develop quality apps and services for a given platform.

There are time when I'd have happily paid Apple $5,000 to $10,000 just to say, "give me a dev kit".

- Guy English,Host of Debug, App Developer

Q:

How can platforms better support developers?

313

Rene RitchieiMore

Focused developers mean focused apps

Multiple development options for a platform are both a blessing and a curse. They’re a blessing in that the ability to code apps in multiple ways vastly increases the potential pool of developers who can address the platform, and thus the potential quantity of apps that could become available for that platform. Supporting HTML5 as a first-class development system means you make your platform accessible to everyone who can write a modern web app. Apple introduced web 2.0 app with iPhone OS 1.0. webOS was based on HTML5 apps. BlackBerry 10 supports WebWorks. And Google practically invented AJAX apps with Maps.

Apple also supports Objective C with their Native SDK. Google supports both its Java SDK and a native SDK for apps that need to be written closer to the metal (like games). And BackBerry supports a dizzying array of options including Adobe AIR (gag), the Android runtime, and their own Cascades SDK.

So here’s the curse part -- the easier development is, the lazier or more hesitant developers you attract, and the more non-native development options you provide, the crappier the app experience you ultimately provide.

The kitchen sink approach

Looking to beef up the BlackBerry World catalog before launching, BlackBerry decided that the new BlackBerry 10 operating system would support a wide array of app frameworks. The platform supports C/C++ for heavy apps like games, sharing support with the other platforms (and making game development much easier in the process).

BlackBerry 10 also supports Qt apps, apps built with their own Cascades SDK, HTML5-based web apps, the WebWork framework, Adobe AIR apps, and Java. Most famously, BlackBerry 10 includes an Android runtime to allow users to run barely-modified Android apps.

The kitchen sink approach to app framework support worked as far as quantity is concerned. BlackBerry World now counts over 120,000 apps.

Great developers, the ones who really care about the platforms they write for and the apps they make, thirst to learn new languages and frameworks. They take enormous pride in their work and won’t settle for anything less than the best app, period. As long as they’re interested in the platform, as long as it tickles their coding fancy, they’ll knock apps out of the park.

Great developers thirst to learn new languages and frameworks.

All options do is let the other developers, the not-so-great ones, the ones who just want the easiest way possible to port apps to as many platforms as possible, get away with re-using as much code as possible while working as little as possible. Big brands who don’t care if their app is just a barely usable webview pulled into a thinner-than-thin wrapper, benefit.

Some games, the kind that fill the screen with graphics the way a movie or TV shows does, are the major exception to that rule -- they benefit little from anything other than a straight port.

We want to make sure the BlackBerry 10 experience is a great user experience regardless of the platform the developer chooses.

If a platform is new, if users new to it need their apps and need them now, it can be a jump-start and a stopgap. The danger is that, given an easy alternative, lazy or hesitant developers will jump and stop at the gap, get their app into a new store and then never go back and make the proper, native experience the platform and its users deserve. They won’t put buttons in the right place or support gestures in a way that feels right or handle animations or transitions in a way that feels like it’s part of the overall system.

Too few developer options is a bad thing, but too many can be as well.

Q:

Do more developer options lead to better apps?

1313

Kevin MichalukCrackBerry

Finding a middle ground between open and controlled stores

Let’s be honest here. The web is about as open as it comes, and there we see both super high quality sites, and the absolute worst of spammy garbage. It’s the same thing with developers and their apps.

Just like great developers build great websites, great developers build great apps. Others put the barest minimum effort possible into their sites or apps, and a few even go out of their way to be malicious about what they make.

Apps get copied, just like websites. Apps try to scam users, just like websites. The demand for mobile apps has grown so great, and the promise of the money that can be made has taken on such momentum, that the app space is now pretty much the same as the web space. It’s the best and worst thing going today.

Playground vs Storefront

When comparing app store policies, there's no greater contrast than the approaches taken by Google and Apple. The Apple iOS App Store is highly regulated. Each app is individually screened by the review staff , who check the app for conformance to Apple's guidelines and rules, content, malware, and the like. That it's done by humans has led to some odd and notable rejections over time.

Google takes a free-for-all approach. Apps submitted to the Google Play Store go through one layer of screening conducted by a machine. It checks for the presence of known malware and ignores any usability, content, or compatibility issues. Google Play developers have been granted near free reign when submitting apps, for better or for worse.

Personally, I think the best thing for developers and customers alike is something in between the wide open market and the strictly screened store. Google Play, for example, is too open. The wild west is all well and good, and certainly exciting, until some outlaw comes along to steal your stuff or just burn it down. There’s nothing to prevent innovation and amazing new apps, but there’s nothing to prevent malware, spyware, and other crap either from getting dumped into the more than 700,000 apps on hand.

Apple, on the other hand, is often called curated but it’s really just controlled. Apple stops certain types of apps from coming into the App Store, but doesn’t do much to assure the quality of what does make it in. You get less quantity but not higher quality, and a lot of confusing rejections that hurts confidence and helps nobody. With 800,000 apps there’s certainly not been much in the way of quality control.

BlackBerry World and Windows Phone seem to be somewhere in the middle. They don’t let just anything in, but they don’t seem to have editorial policies to arbitrarily keep certain types of apps out either.

It probably doesn’t matter to most consumers how loosely or tightly their app store is controlled.

At the end of the day, it probably doesn’t matter to most consumers how loosely or tightly their app store is controlled. What matters is whether they can find the best apps possible to fit their needs. Neither Google nor Apple are nailing this yet. (Not that I’ll complain too hard, it’s left open a huge opportunity for us at Mobile Nations, especially with new features like our CrackBerry App Gallery at http://crackberry.com/apps)

Ultimately, that’s what users want. Not “openness” that theoretically might lead to an app they may or may not ever want. Not “closedness” that protects them from innovative new ideas they may actually benefit from. They want a great app buying experience that keeps out the crap, protects their devices, and makes it super easy to find the very best apps they want when they want them.

Improving the app buying experience

Currently, one of the biggest problems consumers face when purchasing apps on mobile platforms is the nature of the transaction and how they vary from platform to platform.

For instance, iOS takes the ‘buy it before you try it’ approach where there is no trial system in place and it has largely set the standard. Android used to have a rather lenient refund system where users could try out any app for 24 hours and if they didn’t like it, they could get a full refund (and lose the license to the app) with just one-click. It was ingenious. However, Google later reduced that windows from 24 hours to a short 15 minutes, which seems quite drastic. Such a limited trial time barely lets a purchaser test drive an app. Still, it’s better than nothing.

Both methods have evidently not affected the success of each platform, though it has resulted in a splitting of apps as developers create a ‘lite’ free version that is ad-supported or time/feature/uses-limited along with a full or “premium” one where users can buy the app (and unlock some features). It’s a familiar model akin to shareware on the PC, though it leads to duplicate marketplace entries and artificial inflation of app counts.

Give it a try

When it comes to offering the most purchase options to users and developers, Windows Phone stands at the front of the pack. In addition to allowing developers to offer apps for pay and for free (with or without ad support), Microsoft permits apps to be offered on a trial basis. Unlike other platforms where apps are often offered in two versions - a free 'lite' version and a paid full edition - apps in the Windows Phone Store can be offered with trial options.

They can implement full functionality for free with a time-limited trial or a free trial with limited features - all in the same app. Once a trial period is up, or a user decides they want to pay for the additional features, upgrading to the paid version is as easy as a few taps.

Microsoft’s Windows Phone has, in my opinion, taken the best method: give developers the choice for free apps and games (supported by ads if they so desire) or full-priced ones with limited trials. The trial is really the best experience as users can download a developer’s app, try out most if not all the features and if they are happy with the product, they can just buy the license and unlock the full app. This way, consumers don’t need to reinstall the software, set up a new game and most importantly, they can try the product before they commit to buying it. It’s simple reassurance.

It’s peculiar to see competing platforms not adopting the trial model as developers can often just have one app in the store, reducing complexity and confusion while creating happier customers. Indeed a developer on Windows Phone risk risking alienation from consumers if they don’t offer a trial. The reason being that people shopping for apps know quite well that the developer could have offered a trial version but purposefully chose not to - this inaction raises suspicions of the app’s quality. If a developer believes in his or her product, they will let you try it.

If a developer believes in his or her product, they will let you try it.

A fourth, more-modern version is similar to the trial method outlined above but takes advantage of the in-app purchase model. We’re seeing developers more and more build into their apps an option to purchase ad-removal or feature-unlocking, often for just $0.99, from inside the software. Such a method allows developers to offer multiple feature levels for a single app - such as free, standard, or advanced - with multiple price points. It’s a clever system that’s a natural (and some may say more fair) growth of the explosion of in-app-purchasing is building off of its popular usage in freemium games.

The best solution for improving marketplace transactions is to offer clear choices to the consumers with a no-hassle trial system can be customized by the developer. While iOS and Android have taken different approaches, we see that developers still try to get around such restrictions by offering ad-supported, free versions and multiple instances of the same app. While this works, it unfortunately can create confusion and clutter in the Store.

Q:

Refunds, trials, in-app upgrades - what would make app stores better?

313

Conclusion

Apps are important, and thus developers are important. Developers have a thousand decisions to make, from which platforms to target to how they’re going to make the app to making that app a success. Platform builders need these apps so their own devices can be a success, and thus properly supporting developers is of great importance. The evolution of developer support has been one of the most important developments in the past few years.

But there’s still work to be done. The iOS App Store is highly regulated on content and security but not quality while the Google Play Market is a free-for-all with minimal protections but maximum freedom. BlackBerry 10 and Windows Phone fall somewhere in between, but nobody seems to have cracked the right code yet.

Speaking of code, there’s the not-insignificant matter of every platform’s native framework being significantly different than that of its competitors. While cross-platform app frameworks exist, they’re neither as powerful nor as flexible as their platform-specific competition. Thanks to the variation of capabilities, restrictions, and features between the platforms, there’s no ideal solution.

A robust developer support system and community has risen over the past few years, but in the process has added new layers of complication to the process of building apps. Development, curation, distribution, and expansion all can be - and need to be - improved. But how?