journal the sad state of mobile
My interest in mobile platforms lately has turned to disappointment. I'm quickly realizing that mobile technologies are in a state of disarray, and far more nascent than the commercials on TV would have you believe. Very little is ready for primetime, which is a huge headache for developers and users alike.
A few weeks ago, a friend of mine approached me with a (rather radical) idea involving mobile phone technology. My initial reaction was (of course) extreme, naive, excitement. I took to the various platforms immediately, and began researching the capabilities of each technology that we would require. What began as excitement quickly turned to dismay, as I began to hit wall after wall. What follows are a list of my disappointments. If you recognize this as a rant, it is.
IPHONE DISALLOWS BACKGROUND PROCESSES
There is no service architecture in the iPhone. There is no way to run your app in the background, or monitor events, and kick off tasks as a result. There is a "Notification Service" that will be coming, but the 2.02 firmware that was supposed to have it does not. Regardless, the notification service does not allow for background processes, but only allows a developer to send an alert to an iPhone to kick off a task.
IPHONE GPS IS BROKEN
Location based services are definitely one of the "next big things". With that in mind, Apple deemed it necessary to completely cripple iPhone GPS. How did they do this? By imposing a few key restrictions that completely hobble the device. First, GPS shuts off when the phone is suspended (so I've heard). This means that, when your screen fades to black, GPS is gone. Second, because background processes are disabled (see above), apps can't track a user's movement in the background. This second hole essentially renders the GPS a trinket rather than the game changer that it could have been.
As a side note, if we actually examine the behavior of Loopt, and Apple's fantastic misinformation commercial, we'll quickly discover that Loopt for the iPhone is essentially Twitter with a GPS report. Users are forced to update their Loopt status as they go about their day. This would be completely unnecessary if the iPhone solved the two issues that I've raised so far.
PLATFORM LOCKDOWN
Let's not limit ourselves to the iPhone. If we examine the BlackBerry platform, we see the same lockdown philosophy as the iPhone, but on different features. Apps are unable to get access to a user's address book, or even use a persistent data store without getting a license from RIM. This license forces the developer to pay $100 to RIM, which seems reasonable, albeit annoying. More painfully, getting a license forces the developer into the painful multi-week process of dealing with GETTING the license. I should note that the features that BlackBerry has locked down ARE available on the iPhone.
LACK OF STANDARDS
The most frustrating problem with mobile development today lies in the lack of standards. We see this trend happen every time a new technology emerges. Laser disc or DVD? Blue Ray or HDDVD? Betamax or VHS? The problem with mobile is that we've got dozens of platforms to choose from, and there's a third party involved: developers. With J2ME and Windows Mobile available (both of which have some problems, granted), Google decided that they needed to create Android, and Apple decided to go with Objective C and their mobile OSX.
Apple's move, I can at least understand, but disagree with. Google's move just befuddles me from every perspective except a business one (which is the only one that matters). Why would Google create Android when J2ME exists as a mobile Java platform?! After dealing with Android, I can tell you that they've tried to create something new, with completely different design patterns from J2ME. The question is: is this needed?
I was really saddened to see a commercial for the Samsung Behold, check online, and discover that it's running a proprietary OS! This is after seeing the (identically featured) BlackBerry Storm run J2ME, the (identically featured, somewhat crippled) iPhone run Objective C, and the (identically featured, somewhat ugly) T-Mobile G1 run Android.
ANDROID SUCKS
After developing for BlackBerry, which uses J2ME, I can tell you that it is far easier to deal with than Android. They contain the same capabilities and features, but J2ME is just, from a developer's perspective, easier. Android requires a bunch of inane IPC invocations involving Intents, Services, and other oddities that are just, frankly, not needed.
CONCLUSION
The first half of this entry deals with problems that stem from privacy fears. Mobile manufacturers don't want to be the first one caught with a stalker story on the news. This is a valid concern, but one that will eventually go away, much as the fear of putting your "real name" in a web form went away as the internet became a household service. Users are willing to accept these risk; every angry forum post about Loopt points to this.
The second half of this entry deals with problems that stem from a fundamental lack of standards. Businesses are vying for the top spot, and there is no dominant "Windows" equivalent on mobile. We are stuck having to develop apps for 5+ platforms in order to support everyone. These problems will result in the stunted growth of mobile for at least a few more years.
I attended a talk by Scott Thompson (now CEO of PayPal), in which he proclaimed that mobile would not be a big deal for another five years. At the time, I laughed inwardly in disagreement. I now have to agree whole heartedly with him. It's sad to see, but the mobile space is a mess right now. blog comments powered by Disqus
