Should Apple Care that Facebook’s iPhone App Developer Quit?

[I originally wrote this article for ReadWrite Web.]

News reverberated through the developer community that long-time and highly prominent community contributor Joe Hewitt has quit developing the iPhone Facebook application. While Joe said that Apple has the right to do what it wants, he does not agree with its policies and has chosen to move on. Joe posted this tweet in the afternoon of November 11th:

“Time for me to try something new. I’ve handed the Facebook iPhone app off to another engineer, and I’m onto a new project.”

The Problem

Apple’s App Store is a mess for small and independent developers. Very few developers are making even a livable wage, and the approval process is a black box.

Let’s start with making money. Pinch Media reports that the average iPhone application has netted (for the developer) a grand total of $8,500, and 80% of developers have made less than that. That’s not per month – which would be a starting point for a two-person team – but rather total revenue earned.

And as reported a few thousand times, the approval process is a black box. For the most part, developers don’t know whether their app will be approved or in what timeframe, making the entire experience a nail-biter.

Should Apple Care?

Well, of course, Apple should care. Apple should be inclusive of its community and encourage small developers to grow and make a living from developing for the iPhone. Apple rightly views the App Store as a competitive advantage and should continue striving to keep its developers in-house.

On the other hand, Apple is not responsible for marketing and selling for its developers. The App Store is a distribution medium, not a marketing and sales platform. Apple has a system in place for enabling customers to quickly and easily purchase and download software for their devices. And it has been a massive success, with over two billion downloads.

The difference, though, is that the apps that Apple needs in the App Store most – gaming and entertainment titles – are getting in. And they are being developed by some of the biggest brands in the world. After all, the iPhone and iPod Touch are, first and foremost, entertainment devices.

Note that these big brands do not face the same problems as the rest of the developer community. Many have contacts deep in Apple, are magically ushered through the review process in a few days and get great placement on Apple’s virtual store shelves. Electronic Arts, for example, has no public rejection stories and currently has titles throughout the list of top grossing apps, suggesting that it is in the top 10% for App Store revenue generation.

And so, Joe Hewitt has quit the App Store. It’s a great show of unity for small developers, but Apple has clearly linked successful applications to big brands, and those brands continue to clamor for iPhone presence.

In Search of the Holy Grail

(I originally wrote and published this article for ReadWrite Web.)

Finally, it feels like the holy grail of mobile development is at hand. This problem has persisted since Microsoft released Palm-sized PC operating system to compete with the Palm OS a decade ago: as a mobile developer, the cost of supporting multiple mobile platforms, each with a relatively small user base and massive development learning curve, is huge. That finally seems to be changing.

In the Beginning

When handheld computers went mainstream, developers really had only one choice: Palm Pilot. Within five years, they had Symbian and Pocket PC (later Windows Mobile) to consider also. By 2009, there were no less than eight major operating systems for smartphones: two versions of Windows Mobile, two versions for Blackberry, iPhone, Android, Symbian, and webOS, not to mention traditional feature phones running various flavors of Java.

The Impact

Developers were forced to make the tough choice of which operating system to develop for. Making it harder, customers were scattered and were requesting versions of a variety of platforms, with no one platform controlling the market as was the case in the desktop world. Until a few months ago, they had only one choice: develop for each platform independently, picking and choosing which to support, each with huge costs and unknown payback.

That, however, is changing. Developers now have three ways to develop cross-platform. And while these technologies are still in their early days, they will evolve rapidly.

HTML 5 and the Mobile Web

One option is to forgo installed applications altogether and develop mobile Web applications. HTML 5, with its access to local databases, makes this possible. There are two major obstacles to this strategy right now: first, ubiquity of HTML 5-enabled browsers and, second, the willingness of customers to accept it as a standard.

While the first will be solved with time and pressure from other OS platforms, the second is a bigger problem. The customer’s willingness to accept Web-based applications is a psychological change that takes years to evolve. Device owners have been trained that cell phone connections are inherently unstable. In many places the connection disappears, and until that is resolved this mental adjustment cannot even begin to take hold.

Flash

Adobe recently announced its push into the mobile space, with Flash-enabled browsers for most platforms and a Flash-to-iPhone-app compiler for Apple’s smartphones and handhelds. This would allow developers to write all of their apps in Flash and then deploy on multiple mobile browsers and the iPhone via a compiled application.

This still suffers from many of the same disadvantages as HTML 5, because it requires a psychological change in customers to accept running apps in the browser. In addition, Apple’s hard-nosed stance against Flash in the browser will impede this movement because it will require two completely separate creation processes.

Finally, for Flash to take hold, operating system manufacturers will have to start treating Web-enabled applications the same as non-Web-enabled ones. For example, launching Web apps from the home page must become standard.

JavaScript Native Apps
A new class of applications has arisen. These are native applications that are compiled for a specific platform but that use Web technologies for the user interface. This has the most potential. The most prominent one currently is PhoneGap. Other solutions include Appcelerator, which uses PhoneGap technology under the hood, and Rhomobile, which uses the Ruby on Rails Web development language.

These technologies, all open sourced, enable developers to write back-end processes in the native code and all of the user interfaces in HTML, CSS and JavaScript. This application is then compiled into a native application. It can be uploaded to app stores, distributed via downloading and installed directly to the device.

The fundamental problem with mobile development isn’t the back end, though. The backbone of all of these platforms is C or Java, which is generally portable if written with that intention. The problem is user interface development, which requires deep knowledge and understanding of each mobile device. Making the UI cross-platform solves the vast majority of problems associated with this kind of development. If you had to point to where the approach falls short, it would be that cross-platform applications don’t feel “native,” a shortcoming that would be solved by good design and better CSS work!

Conclusion
As the smartphone market evolves, we are unlikely to see a clear winner as we did in the PC business; and because of that, developers will be forced to write for multiple platforms. But for the first time in a decade, developers have options for multiple-device development. The cost and learning curve associated with writing native apps for every platform can finally be mitigated.

While all of these technologies are early to market, the writing is clearly on the wall. After more than a decade of discussion, the combination of Flash, HTML 5 and JavaScript will make “write once, use everywhere” a reality.

Picking a Niche

I spent time the past few weeks hanging around some folks that have inside knowledge of Microsoft and I’m amazed at how bad it sounds.

Take the Windows Mobile group. Please. 2000 people working on Windows Mobile. It’s staggering. And the story goes that that’s where good MS people go to die. Hmmm.

The battle is on, and right now the old hats are being left behind. Apple and RIM, consumer and enterprise darlings, respectively, are the cream of the crop. Android’s coming up fast with a plethora of new devices.

Where does that leave Microsoft, Palm and Symbian, the former heavy-weights of the mobile space? And what niche are each one carving out?

Each needs a killer feature. iPhone, of course, is the entertainment beasts. Games galore coupled with web browsing make it a killer device. RIM, of course, does business email and IT better than anyone else. And Android, besides being the platform for hardware-only companies everywhere, will now have turn-by-turn directions to kill off the GPS companies.

If I’m Palm I head back to my roots and make the beast tool possible for organizing my life. If I’m Microsoft, I probably admit I screwed up and buy RIM, which dominates the market MS should, making MS an enterprise juggernaut with Exchange, BES and devices under one roof.

Troubling Signs for iPhone App Development

I follow about 30 iPhone developers’ blogs who, until a month or two ago, were writing prolifically. Now, silence. This is a bad sign.

Who were these people? Many of the early developers for iPhone, many of whom wrote “productivity” or other apps aimed at business (instead of entertainment, although there were a few of those also). But now none are writing.

Could this be because they are so busy they don’t have time to write? Could they be head’s down on their next great app? Could they have all been on vacation since July and just not writing?

All are possible, but I don’t think that’s it.

I think they’ve gotten discouraged. I think they aren’t making more than a few hundred, maybe a thousand dollars a month, and that the sales have been so inconsistent that they’ve stopped caring. Maybe they started doing custom work — one of the few bright spots in the mobile app economy for the 13th straight year — or maybe they went back to their day jobs. But I don’t think they are writing apps for the App Store anymore.

This is a troubling sign, to me. I’m concerned that the small, independent developers are disappearing. Who’s going to be the Google and Facebook and Twitter of mobile? Or is the market not even capable of supporting a company like this?

I’ve come to a different conclusion over my too many years in mobile. I’ve come to the conclusion that mobile development needs to be a part of a bigger company strategy, but it by no means should be the only focal point. In other words, saying you’re a mobile company won’t get you two pennies to rub together. But focusing on being a web company or products company that will utilize mobile, now that’s a different conversation.

Sidekick Disaster: Bad for Users; Great for Web Apps

At heart, I’m a contrarian. When someone says it can’t be done, my overwhelming urge is to prove it can. So when I heard the news that Microsoft or T-Mobile lost user data for as many as 1 million Sidekick users over the weekend, I thought while that’s horrible for all those Sidekick users who were affected, it’s great news for all of us who are working on web apps/mobile web.

Here’s the summation: the Sidekick does no desktop backup like the iPhone and BlackBerry, it only backs up to a web service (the “cloud”) and all those servers reside at Microsoft. Microsoft screwed up and lost all that server data and then, when devices connected to the server, it wiped the device clean.

Now this has created an avalanche of controversy about web apps and people are starting to ask whether web apps can be trusted. After all, this makes it possible for one company to screw everyone.

And this, I think, is perfect. Controversy! For those of us creating web apps, we need some controversy because it means web apps have gone mainstream!

With every generation of the web, we’ve had controversy. In the early days of the web it was fear of entering a credit card on the web. Copious amounts of film and paper were wasted discussing this lunacy. (That’s right: you’ll hand your card to a stranger in a restaurant who walks into a back room with it, who enters it into a machine that transmits the data across a telephone line to the… wait for it… servers of some bank.)

Then came Web 2.0 and the fear-mongering of online predators and putting your drunken pictures in plain view of your boss received copious amounts of press, except this time it was digital so all we wasted was electricity.

I’ve been feeling like the mobile web and web apps were left out. Where was the controversy? Finally it’s happened!

For the record, this is just more fear mongering and like all fear mongering, it has a hint of truth to it. The truth is that the risk of trusting someone else with your data means you are at their mercy. The problem is this has always been the problem! How many times has Word ate my documents? Photoshop crashed half way through editing? My PalmPilot screwed something up and wiped contacts off my device? Had a hard drive crash? Too often to count!

So has web apps/mobile web hit the mainstream? Not yet — this controversy isn’t loud enough. But we are getting closer. And that’s a good thing for everyone.