Evaluating App Store Opportunities

We had an awesome discussion about App Stores at Mobile Monday SV last night:

Mobile Monday Silicon Valley - August

Thanks to everyone who came out to participate and made it a fantastic night, it was a great set of conversations! Much of the conversation focused around distribution and monetization, those are the hot button items generally speaking. There seemed to be a decent amount of doubt from some of the audience however that one could put together a profitable business in mobile. Chris Dury from GetJar had a fantastic summary of the options a developer has: get featured, get targeted, get viral.

The featured one is usually the first one everyone talks about. How do you make it into that coveted top 25 list on the AppStore? Have a great app, make something with wide appeal, time your marketing and PR pushes for maximum impact, price appropriately for large download volumes. Lots of folks get ruffled feathers about this setup by the way. It’s called a hit-driven marketplace, borrowing a term that seems to have been reserved mostly for the gaming industry previously. Which means if you’re at the top of the pile you make a whole ton of money, but if you’re at the bottom of the pile you don’t make crap. And with more and more titles in mobile app stores, and big corporations with deep pockets participating, people argue that there’s no way for a small independent developer to make money in the app store any more. Bullshit – but still, it’s what people say. It just means there’s competition now, and that you can’t release junk and expect to make wads of cash. Most of us don’t expect that though, so it’s just a point to consider and not a market killer.

The second method is to figure out a segment of users you’re going to be generally appealing to, users who are willing to pay more than the general population for what you have, and spend some money to reach those users in a targeted fashion. For a fantastic writeup of the principles in practice, checkout the blog posting from the iTeleport folks about how they’re making money despite never making it up into the charts. They’re never in the top 1000 apps actually in any region. But they manage to make north of $1000 a day through AppStore sales. Really this is about basic business principles. I’m surprised how often I speak to folks looking at doing a mobile project who don’t have the floor nailed down here. The major questions you need to answer here are: how many users are there out there who match your segment, how much does it cost to reach a user, and how much do you make from each user. If there are enough users, and you make more off of them than it costs to get them, you’ve got a business. There’s nothing magic about this on mobile though. This would be the same if you were running a boutique clothing store, selling decorative masks on the street, creating a new line of dietary supplements, running a restaurant, etc. It’s just business. And good business is good business no matter where you do it, just as crappy business planning is crap no matter where you do it. If you decide to release a poorly implemented application with no differentiating features for $5 on a mobile app store and fail to make money, that’s not the app stores fault. If I decided to try to sell twisted paperclips for $10 a unit in Union Square and didn’t make money would it be the fault of Union Square as a business venue? No. It’s because you’ve built a business that isn’t good enough to compete. Own up, it’s a necessary part of progress.

The third method is to go viral, which really means not relying on the app store itself to get you in front of new potential users, but to rely on your current users “getting you new users”. I don’t want to get into this whole area of how viral transmission works, explicit sharing vs. data exhaust based linking. While it’s a great topic, it’s just too huge and complex. But if you want an example the most relevant today is probably FourSquare. I will point out however that viral can actually lie in perfectly well with getting featured or being targeted. Running a good viral campaign could get you the download velocity to get up into the charts and propel you even higher. And a well structured set of viral features could lead to you getting in front of additional targeted users if you plan things in a way so that your viral hooks tilt usage in the direction of a behavior you’re trying to support. Horrible simplification, I know, But that’s all I’m going to say.

So where does that leave us? How do you evaluate the potential of developing a mobile application as a business? It depends which of those vectors of transmission you want to appeal to. If you want to shoot for getting featured you really need to plan what you’re doing more like a physical goods business than in internet business. Way back in the dark ages of computers, before most of you were born probably, a major part of what software vendors used to have to worry about was distribution. There were physical boxes with install media in them sitting on shelves in a computer store. The concerns of software providers included things like shelf placement and how many stores they could get placed in. It’s still the way the console games industry works. And really, its the way a lot of the application stores for mobile work currently. It’s not that they’re physically limited the way that a store is, but by deciding to lay out their online store so that there are a limited number of slots they’re effectively taken digital distribution and forced it back in to the physical square-footage model of software distribution. Along with all the benefits and detriments that go with it.

If you don’t want to just spin the wheel on getting featured you’re going to have to do some additional planning however. We’re at the very beginning of a pretty major shift in the way that services are delivered. A few years ago it was a very small minority of folks who were thinking about how ‘mobile’ fit into their overall service plan. Now it’s pretty much taken as a given. Simply put, the model hasn’t been able to absorb the interest. Some of us are working on trying to figure out how to bridge that gap. How do you wring the inefficiencies out of the app world and allow for an environment that can see the kind of proliferation of services we saw on the general internet? We’re not there yet. So it takes some additional planning to avoid getting lost in the noise of the marketplace. But the potential is very real. Just take a look at the usage and adoption numbers. If that’s not a market worth going after I’m not sure what is.

The Web is an App (Via Diego)

Diego is updating his blog again! Awesome! Check out his “the web is an app” post for a laydown of how generalized web development is shifting. Things were already tilting in the direction of “websites” being basically a static javascript loaded that pulled in resources and data as necessary. Mobile devices have really thrown a few cans of gas on the fire however. Before it was just annoying when logic crept into display code. Now with multiple distinct front-end views it’s gone from annoying to painful.

The role of browser Javascript framework on the mobile end seems to be an area of hot contention right now. With behaviors optimized for touch devices being the headline item in most of the conversations I’m seeing. The Uxebu blog and Wolfram Kriesing’s twitter feed are good places to look if you’re interested in following how it evolves. One of the most significant recent changes is the rollup of the ExtJS, JQTouch, and Raphael projects into a new company and product called Sencha. They seem to be ahead of the curve in pulling everything together to build the mobile specific web interface on top of REST services the way that Diego is talking about. And their recent large investment from Sequoia would seem to indicate that they’re in good shape to extend that lead. Check out their online KitchenSink demo to see some of the interaction styles they support. Still lots of work to be done, but I’m hearing more and more developers saying they’re at least starting to evaluate toolkits like these for doing their mobile web UI.

Removing the Password from a PDF

I have a few ebooks I’ve purchased online that came as password protected PDFs. While mildly annoying while trying to read them on a desktop system, it’s patently absurd when I try to move them over to the iPad to use. There are a bunch of hacks floating around describing how to use conversion software to remove the password. Such as convert to a postscript file and then back to a PDF. Generally you end up with a pretty crappy PDF out the other end. You always loose hyperlinks (table of content or index), and a lot of times the formatting can get screwy. Fortunately I found a few comments mentioning qpdf, which is in the default repos for Ubuntu at least:

  • sudo apt-get install qpdf
  • qpdf --password=******** --decrypt lame_pass_version.pdf happy_version.pdf

Yay! No more crashing iBooks trying to read stuff I paid money for. And there’s an actual preview of the cover on the bookshelf now. Amazing.

WordPress Updated

I did the update to WordPress 3.0 and added a new theme for the blog (you’ll have to actually visit the site to see, most of you read through RSS). Most of my motivation was getting something in there that looks better on mobile devices. The theme I have on now does a completely fluid layout instead of fixed width, so it looks a lot better on iPhone/iPad/Android. Also on the list of stuff to try out is the WordPress Mobile Pack that Andrea and James released.

Definitely recommend doing the upgrade and switching around themes. Especially for viewing on iPhone/Android devices. The Mystique theme is what I’m currently using by the way. On the settings page it has a toggle for fixed/fluid layout. Ahh, nice and simple.

Tomi is Wrong about iPhone Economics

The whole universe seems to be buzzing about Tomi Ahonen’s post about iPhone economics, which is unfortunate cause it’s completely incorrect. First of all let me say I like Tomi. He’s helped out with the Mobile 2.0 events in the past, I’ve had a few chances to have conversations with him, he’s a good guy. Even smart people can be wrong however, and in this case there are definite issues with the analysis laid out.

Unfortunately, I’m not a pundit though. I’m a programmer, and I have programming to do. So my response is going to have to be far more terse than the original post:

  • The first glaring and obviously horribly mistaken point is the one everyone brings up first – that there are so few iPhone devices out there compared to other platforms. That one is somehow “abandoning 97% of an addressable market” by developing for iPhone. Like I’ve mentioned in the past, that numbers argument is a great bit of FUD. But its only FUD. The simple fact is that those other 97% probably don’t and won’t give a crap about your mobile service. Anyone who cares about mobile services goes where the mobile services are, and the mobile services rightly go where the active users are. And that’s not to feature phones. Will people please stop using this huge base of inactive mobile phone holders to try to scare us off the actual users? It’s beginning to get really annoying.
  • The second giant issue is with the cost of accessing the market. Put your app up on the App Store and you potentially have access to a few tens of millions of users. Now, sure most apps never see those kinds of numbers. But take a look at the alternative model you’re proposing. Does no one else remember trying to get carrier distribution, or even distributing yourself on the web without app stores? I’ve been directly involved in two startups that managed to run themselves into the ground trying to appeal to that “mass market” we should all be going after. I had a first hand seat to the issues that others had with it at AdMob as well. iPhone might be a lower ceiling on the user base, but man, they’re almost infinitely easier to reach. And I would say it’s easily 100x easier to get people to pay for something in the App Store than it is out in the world of Java apps and the mobile web. Show of hands from all the folks who have implemented a wide-web based mobile play and had it work out? It’s never worked out for me.
  • The cost of developing an application based on SMS or multi-architecture platform like Java is way higher than developing for the iPhone. First off all there’s the problem of education. The world of SMS and MMS is way more complex, and generally carries a per-transaction cost. Then there’s all the issues like aggregators, and trying to get an SMSC backend connection so that your SMS service can actually do interesting things. (good luck getting that on multiple carriers!) And the cost of doing Java development should be a beaten enough horse that I don’t need to walk through that one right? If you want to hit that supposed “2.1 billion featurephones” how many different ports do you actually need to make? (hint: it’s not 1)
  • Then there’s this stupid American Idol model! You can make half a billion dollars off an SMS service. Yes, granted, you can do that. However, one of the prerequisites is that you also have a prime time show on national television to drive that service. So drop it. Irrelevant to the average mobile developer.
  • Finally, there’s the implication that somehow just “realizing” that there are tons of lower capability phones out there means that trying to go after them will yield more profit for a service. If this were even a tiny bit partially true shouldn’t Nokia be crushing it? They’ve been trying over and over to turn their lead in handset deployment into a market advantage, and it doesn’t seem to be going so well. Shouldn’t the folks who were working on general platforms be raking in money hand over fist instead of gradually and begrudgingly moving to iPhone and Android? Shouldn’t Handango have the highest market capitalization in the US? So why should I, a struggling startup founder with limited resources, be expected to go after a market that keeps crushing firms and spitting them out? Just about the only group I know that would take the risk/reward tradeoff of going after a broader global mobile market rather than an iPhone app are the VCs. It doesn’t make sense for a developer to start out heading straight for the open global environment unless some special situation is giving them worldwide distribution, existing partnerships, and free porting.

So no, there’s nothing wrong with you for thinking about writing your app for the iPhone if you’re looking to startup a business in mobile. If you eventually want your business to grow into a billion dollar enterprise, yes, eventually you’ll have to figure out how to move outside the App Store. But the store is a great place to start with a ton of advantages for the developer when compared to all the other channels out there.

Web Apps in Chomp

We made what I’m hoping is going to be a major change to Chomp today, we’ve put HTML web applications side-by-side with native applications in our discovery service. With all the talk around mobile web applications recently, and then the showcase of web stack applications that Apple released last night, seems like the timing couldn’t have been better. Awesome there, very happy about that. But what I’m more hoping for is that this is the very start of a trend toward increased attention and effort going into mobile web apps. A much longer term goal.

I’ve been having the discussion about the tension between mobile web apps and native mobile apps for years now, and it seems like the whole ecosystem has been “just about to tip” for that entire time. The same issues keep coming up over and over again (distribution issues, on-device presence, access to native APIs and local data, offline usage, and montization models being more abstracted through the web than when direct sales are possible) – but it’s finally looking like enough of them have been taken care of to make the system capable of supporting significant business.

The last major chunk of the problem that I attacked was the monitization side at AdMob, who have done a fantastic job of making it possible to make money writing mobile web apps. Apple and Google have put webkit in hands, which starts to take care of native API access, offline usage, and on-device presence (though we have a ways to go there still, solid progress is being made). So the one remaining large issue, distribution. I think if we can figure out how to start getting people to mobile web apps in decent numbers, most of the other problems with the web stack will find a way to work themselves out.

There are plenty of other longer term issues we’re going to have to take a look at, like should an end user even need to know the difference between a native app and web app? As a discovery service and not a marketplace, we don’t have direct control over that – but the answer to the question and the direction of the market is going to have to inform our model of distribution. And does a direct monetization style of web app (web widget, whatever you want to call it) need to exist to blend out the advertising dollars available and raise the total pot of addressable market for mobile web content? Lots more that we need to discuss, but I’m happy that we were able to take a concrete step today toward making mobile web apps more powerful. Hopefully the first of many steps toward putting the mobile web on equal footing with native applications. Of course, if these are the kinds of questions and issues you’re interested in, come join in the effort at Chomp. We’re hiring! :-) Sorry, couldn’t resist.

Why Mobile Developer Programs Aren’t Working

Just about every carrier/operator and handset manufacturer has some kind of developer outreach or partner program of some kind going on. Most of it has been spurred on by trying to follow in the footsteps of Apple and Google. Apple was wildly successful with their app store, so everyone followed after and created some kind of storefront of their own. When the developers didn’t show up in droves, the answer has generally been to create programs to get developers to work with the new systems. So, we’re not off to an auspicious start… but still, the cause is just, so lets see what we can do.

As a developer and community oriented person it pains me to see so much money being spent on misinformed efforts aimed at what should be a fantastic goal. I would love to see a whole bunch of developer programs out there generating good will and innovative applications. But instead what’s happening is companies are burning up tons of capital, generating mediocre results at best, and are going to end up coming out the other side of this with a bad taste in their mouths when it comes to dealing with developers. So here are some points to help out, hopefully it’s not too late.

Big issue #1 : Building a developer community is not a marketing function. If you want the folks in your developer program to be able to help developers working with your products you really need some engineers who are expert at, you know, actually working with your products. Generally you don’t get that set of skills from the folks in the marketing department (no offense to those folks). It’s just a quirk of the way these things get setup that the wrong people keep getting applied to the problem. Take a look at the makeup of the group meant to interface with developers. Are less than half the folks engineers? If so you’re doing it wrong.

The second issue is that building a developer community suffers from at least two different dimensions of cyclical network effect issues. The first issue is that it’s difficult to get developers without users, difficult to get users without apps, and difficult to get apps without developers. That part of the issue most folks are familiar with however. It’s easy enough to just pay for the first group of apps for a platform to seed the cycle. There are plenty of ways to screw that up as well, but that’s probably a subject for another post. The second form of network effect is more direct though, that it’s hard to get developers going without other developers for them to pull from. This is more the community end of things.

Apparently folks really doubt it out there in the real world, but I am a developer. I’ve signed up for and poked around with probably a dozen different developer programs (basically, anything that’s free). Typically as part of that program there’s a discussion forum of some sort meant to give developers a place where they can help each other. Generally they’re a black hole to toss time and questions into, but nothing comes back out. My prototypical example is this question I asked on Betavine back in the day. Though I really don’t mean to pick on Betavine in particular, it’s just an easy example to use cause they’re one of the few smart enough to have the forums publicly accessible so that I can link to the thread. I’ve actually put it to the test a number of times when companies at conferences say they’re trying to help developers… scary huh? Apparently no one was expecting that.

Now compare that to something like the iPhone questions on stackoverflow. That’s what it looks like when you get a self-servicing developer community going correctly – twenty six thousand questions tagged iPhone as I’m writing this. I don’t think it’s a coincidence that the folks behind stackoverflow are all engineers. If you want to build useful tools for developers you need to understand developing.

And finally, having a hackathon is not a substitute for having a functioning ecosystem. If you have a decent system up and going, you have users, you have developers, you have your own engineers – awesome. A hack event is an excellent way to get folks together, expose outside developers to people inside who can answer their questions, and spark interesting conversations. But if your pitch is more “We’re releasing Project X next month, so to celebrate we’re having a hackathon next week where you can get advance access to Project X and start working on great new apps!” – that’s just trying to get free QA work and unpaid development time. Us developers can be naive, sure. But we’re not stupid. If you’ve got something to offer the community, you’ll frequently find the community has a lot to give back. If you try to game the system you often won’t hear anything back at all however. We’ll just ignore you.

Symbian Cross-Platform WRT Tools

Symbian released a new version of their Web Runtime Tools. Not many folks seem to be paying attention cause they’re too busy watching Adobe and Apple go at it. But still, it happened. I was surprised to see releases for Mac and Linux there too, which is awesome. Development tools being Windows only in the past was one of the major issues keeping me away from Symbian as a hobby platform.

I downloaded and installed the release, fooled around with the examples in the quickstart, and it’s working! I installed Chrome from the developer channel (wasn’t a big deal to do) and the emulator is even working… a completely unexpected and welcome change for Symbian development!

WRT widgets can also populate content on the home screen now too. Very interesting. Of course, this all happens at a point where the most recent Nokia device I have doesn’t support any of this. And purchase of a Nokia device isn’t anywhere on my roadmap. So I can’t try any of this stuff out in the really real world as I would like to. This is a really great move in the right direction. I just hope it’s not coming too late.

Tyranny vs Fragmentation

Like it or not, it’s one or the other. Either someone controls the whole system and enforces a standard, like Apple with the iPhone. Or folks are allowed to do what they want, and differences in opinion end up leading to multiple versions in circulation, like Android. There are shades in between, but those are your two extremes. What weirds me out currently however is that the same people seem to complain about both. They complain about Apple exerting control over their own platform, and they also complain about Android being fragmented. You’ve gotta pick one, like it or not.

Actually, that’s not strictly true. There is another option. You could, you know, compete. It takes is a few hundred million dollars, awesome user experience designers, pushing the boundary of what handheld hardware can do, writing a platform from the ground up, capturing the imagination of developers, and delivering that solution via a channel that’s struggling with its own identity crisis. Not many folks seem to be taking that route however. Odd…. Plenty of folks willing to piss and moan about it, but just not enough to get people over that hurdle into action.

Why not? Cause the “horrible tyranny” of the app store is something that people have opted into. If the tyranny were really that horrible people would stop buying iPhones. Period. So even though there are a bunch of vocal people whose agendas aren’t served by the current state of the iPhone ecosystem, the only reason that ecosystem has enjoyed the success it has is that it does hit the sweet spot for users. And even the folks who whine the loudest about how horrible the App Store system is usually can’t stand to walk away from a platform that actually serves their needs. Take a wander to one of the Adobe offices at some point and count the number of iPhones you see. Quite a few it turns out.

On the other side of the fence, yes you always get some degree of fragmentation with an open system. But the severity of that fragmentation is a function of how well any one individual branch serves the needs of end users. Once one branch starts doing a fantastic job of serving users well and attracts more users, that starts to attract more developers. More developers means more applications, which gets more users. And as long as the folks behind that one branch can execute well, you get this nice virtuous feedback cycle going. In theory. A good place to see it actually working is the Linux kernel itself. Anyone can fork off major versions if they want to, but generally no one does cause Linus is fantastically good at his job.

However, thus far, Android is not a fantastic place to see it happening. There’s no clear strong front-runner in terms of device manufacturer and sub-version of Android, so it feels like a lot of fragmentation. If one of those versions had 95% of the market however, no one would really care about the “fragmentation”, they would build to the successful version. That’s not up to the developers and manufacturers to mandate however (cause then we would be back to tyranny, right, which is what we’re explicitly trying to avoid), the success of one particular version needs to be chosen by end users. So how do you get to that point. Well, it’ll probably take a few hundred million dollars of backing, awesome user experience and design, top notch hardware, etc…

Over the last three years we’ve finally managed to drag mobile out of the rut its been stuck in for a decade (Okay, Apple dragged the whole ecosystem out of the rut damnit – I personally had little to do with it, though I would have loved to). But now the conversations seem to be cycling back to the same issues that got this thing gridlocked in the first place – channel control and fragmentation. I hope we’re not falling into yet another rut. Maybe whoever ends up buying the smoking remains of Palm can turn that into yet another viable option?

Although I hate to admit it, it might be that mobile just isn’t really ready for genuine evolution yet. There’s a market evolution theory says that initially technological solutions demand a tightly integrated environment so that the end product can be of high enough quality to serve the general public. Then, eventually, the product is good enough that it actually over-serves most of the public. At that point modular solutions and customization are the name of the game, as users mix and match what they want depending on individual needs.

Everything is setup for the next phase of evolution to be possible. Linux and Symbian providing open operating systems, Modu and Bug Labs providing hardware platforms, and folks like DoubleTwist providing a media and device management tool. All the parts are there. In theory we should be in a great position to see the major changes that happened over the past three years to accelerate and continue to roll along. But it’s not happening. Makes me feel all itchy. Like I’m missing something that I shouldn’t be missing.

Opening Up Mobile Monetization

Interesting post at Mobiletech : Mobile Web vs. Native Apps. Revisited. Obviously, working at Chomp to help prop up the discovery end of the app ecosystem and funneling ourselves some of that sweet sweet app store revenue via affiliate programs, I do a whole bunch of speculating about web apps vs native apps. Particularly wondering if we’re painting ourselves into a corner working through the app stores. What I’ve ended up doing is just assuming that the browser will be a good enough delivery mechanism for applications, and it frees you to think about the really important issues. Will it be with HTML5 that we see native equivalent feel for web apps? Or with HTML6? Or HTML14.8? Ultimately I’ve decided it doesn’t matter. It’s a technical problem, and technical problems have a way of disappearing over time. And disappearing almost immediately when the right motivations are in place.

So what are the real underlying issues? I think John Arne is right to call out business models as the big issue standing in the way. I want to dig a bit deeper on that one however. Why aren’t the monetization models on mobile as diverse and rich as they are out on the web in general? It’s because generally the only thing people buy on their mobile phone is stuff for their mobile phone. If I take a look at what I’ve purchased with my iPhone over the last month, it’s an app here and there, maybe a song or two (okay, I didn’t buy any music last month – so it’s a bad example month.. but you get the idea). On the other hand, what did I pay for online in the last month? A couple of books, bits of furniture for the new apartment, hotel reservations, more electronics that I should probably admit to.

I would argue that’s the actual significant shift which put the web smack in the middle of much of the interesting change we’ve seen over the last 15 years. If all I could get via the web was information and software I think the web would have had a lot less impact. However, once I could get stuff, real life things shipped or waiting for me as a result of activity online, that opened up a whole new world of monetization methods. Why? Cause without the real world stuff the only people willing to advertise are folks selling software or subscriptions. With real world stuff the pool of advertising and promotional dollars skyrockets, and the associated ceiling for earning via indirect monetization gets lifted.

So instead of tracking if it’s going to be technically feasible to develop a native-feeling-enough HTML5 app and using that to determine if mobile development is going to tip to the web, I’ve been watching folks looking to push the business models out. Bringing offline commerce to mobile handsets is probably the reason folks like Gowalla and FourSquare are viewed as hot tickets by the investment community, and not just fads. And I don’t think it’s an accident that lots of folks who have had positive experiences with the app store, such as Flixster, have a component of their app that’s based on in-app purchases of offline goods (movie tickets in this case).

The two common subcases of the discussion that don’t move things offline (in-app purchases of digital goods, and paid distribution for web apps) are effectively just tweeks to the existing model. They don’t really unlock any new value, they just shift around where the customer decision point is and potentially unlock a larger portion of the same pool of revenue. But they don’t fundamentally shift things in a way that give access to previously untapped pools of money. They’re problems worth addressing, but they’re really the blunt end of the stick.

The promising part is that really there’s no technical barrier in the way of opening up mobile services to offline commerce. Much of the same systems that we have for online commerce work just as well on a handset. But just like with the web, having the technology available doesn’t mean you have a system that works for users. Apple has set the expectation at a certainly level with respect to “purchases on an iPhone”, being able to tie into an existing payment method has left users with an expectation for everything else to operate as smoothly. So yes, there’s definitely some work to be done, hard problems to be solved. And I think that’s really the problem to be tracking here with respect to mobile web or native app development.