Apple’s policies for the App Store have always been a bit vague and uneven, leading to quite a few good headlines over what apps got rejected and which ones got in. I put it down to the human element in the review process as one reviewer’s biases need not line up with another. Still though the developers worked out the inputs and outputs of the application review process and if your app was useful, family friendly and didn’t go rampaging through private APIs you were golden. Apple, not content with the amount of control it was already exerting over its developers, then decided to up the ante by banning all cross platform frameworks putting a big question mark over some of their most successful applications and developers.
The whole thing can be traced back to Apple’s public flamewar with Adobe. I’m not really sure what triggered this decision in the first place (although it smacks of Jobs’ idealism) but they did it with precise timing, just a few days before Adobe was to announce their Flash to iPhone app packager for CS5. Perhaps the idea of a torrent of applications hastily converted from flash onto the iPhone was a bit too much for them to bear but in casting their net so wide they caused many people to become hesitant about developing on the platform, especially those who found great success using such 3rd party frameworks.
Apple began doing some damage control in order to ensure that they wouldn’t lose some of their biggest money earners. They gave unofficial word that frameworks such as Unity3D were safe since they generated an actual iPhone application and didn’t require use of an intermediate interpreter. Still since coding in Unity3D is done in C# this ran up against yet another draconian rule that all iPhone applications must be written in one of the sanctioned C based languages. With Android starting to pick up at a phenomenal pace there’s no doubt that Apple began to rethink their stance on many of these matters with hopes of winning back the developers they had once scorned.
Last week saw Apple release what amounts to their set of principles and guidelines that are applied when reviewing apps that will make it onto their app store. You can get the full pdf of all the guidelines here and it makes for some interesting reading. Most of them are just formalisation of the rules that most developers knew about but couldn’t get solid verification from Apple that it was a hard and fast rule. Probably the biggest coup in this whole document is they abandoned their previous stance on not allowing any cross platform libraries, allowing such applications through as long as they didn’t download any code:
The black box that is the Applereview process is creaking open. In a very brief release, Apple has essentially relaxed the requirement that developers use Apple’s own development tools “as long as the resulting apps do not download any code.” They’ve also published some review guidelines, allowing programmers to understand just what will go on behind the curtains in Cupertino.What does this mean? Well, in the updated SDK license, circa April of this year, a number of paragraphs essentially bannedoutside development tools including systems that ported Flash, Silverlight, Java, and other platforms to the iPhone. Now, presumably, any app that runs on the iPhone, regardless of source, will be considered. The language is so mushy that it’s still unclear what this means.
On the surface it would appear that Apple has backpeddled on their previous stance. Indeed the news was enough for Adobe to state that they were going to restart developing their Flash to iPhone packager which had been shelved after Apple hamstrung it earlier this year. The not downloading any code exclusion is quite understandable as this could easily be exploited as an attack vector by a malicious third party. Still most attackers wouldn’t bother with an app (that leaves a paper trail) since the browser on the phone will happily download code and run it. But I’m sure Apple knows that already.
For what its worth it seems like Apple is finally caving into the developers who helped them make their products so successful and rightly so. Developing something for an Apple product has always been about the end user, much to the detriment of those creating for those users. This is in stark contrast to Google who’s always been about the developers, favouring their freedom to develop however they want with almost no thought to the user experience. Both approaches have their pluses and pitfalls but in the end if you don’t have developers you’re going to have a hard time attracting users to your platform.
Will this lead to a flood of low quality applications on the app store and the fiery death of the user experience on the iPhone? Most likely not as there’s already enough crap on the app store to make sure that any poorly ported Flash app will be lost amongst the noise. Realistically anyone looking to publish on the iOS platform knows what they’re getting into and will redesign the app as such, lest they get bad reviews that ultimately bury their app completely. In the end I think it’s just Apple realising that the road they were going down wasn’t going to do them any favours and the rising star of Android is beginning to look attractive enough for some to make the switch.
The question now is though, will they keep their hard line on Flash? Time will tell.
6 months ago saw the announcement of Microsoft’s attempt to remain relevant in the smartphone space: Windows Phone 7. At the time I poked fun at it the fact that it was basically Microsoft’s interpretation of what the iPhone would’ve looked like if they made it but realised that the platform had potential. If there’s one thing Microsoft is good at its throwing money at a problem until they eventually get it right, like with the Xbox (are they even making money on the consoles yet?) and Windows Phone 7 seemed to be one of those kinds of problems. One thing that it did have going for it was the fact that a Windows developer like me could code for the device without reskilling too much and that’s where the real power is.
As much fun as it is to learn a new platform it’s still a giant barrier to building an application on a new platform. I haven’t done any development on any mobile clients yet purely because the two major ones I want to target use a language that I’m not familiar with. Sure there are cross platform libraries that might help to ease the learning curve but unfortunately they’ve been hamstrung by Apple’s restrictions and aren’t fully compatible with my IDE of choice, Visual Studio. So for any enterprising developer looking to build a mobile application there’s always an initial hump to get over in order to be an effective developer on the platform. That or you shell out some dollars to get someone else to do it for you, but not everyone can afford that.
If you were just to look at the number of developers working on any platform, whether it was mobile/desktop/web/whatever, the largest group would arguably be those working on Windows. With the number of desktops, laptops and other devices running some form of Windows exceeding 80% of the total computers worldwide the number of developers working on that platform far outnumbers that of any other. Microsoft knows this and whilst anti-trust legislation will prevent them from using their current monopoly on the desktop to leverage into the mobile space that won’t stop them from making it damn attractive for developers to gravitate to the Windows Phone 7 platform.
Now I’ve been a developer for a while, about 6 years as an amateur and maybe half that as being paid to do it as part and parcel of my usual system admin responsibilities. In that time I’ve used my share of environments, languages and platforms and out of the lot the one that I keep coming back to is Visual Studio. Whilst some might hate me for this next comment Microsoft’s tools just make coding things so damned easy to the point where there’s nothing I don’t think I’m a tutorial away from being able to do myself. Microsoft knows this and the past few months have seen them trying to lure their developers over to the mobile space with things like free development environments only seeking to charge you once you’re sign up for their marketplace.
They just don’t stop there either. Microsoft made headlines about a month ago when they gave each and every one of their employees a new WP7 phone. It was however a veiled gift as it came with the instructions that not only should they evangelize them amongst their friends but also develop apps for them in their spare time. With Microsoft having 89,000 employees this is no small number of handsets and whilst not all of them are developers (I’d hazard a guess at 30~40%) there’s still enough of them there to have their numbers brushing up against both the iPhone and Android platforms. That doesn’t even include potential developers outside Microsoft who might just start developing for WP7 if it takes off merely because it would be easy to do so. Realistically if Microsoft can harness the power of their developer base in the same way Apple did with theirs they could really pull themselves around in the mobile space, maybe even turning it into a 3 horse race.
The question is of course whether or not the teaming masses of Windows developers will find any point in developing for the mobile space. It can be argued that many desktop applications, where the vast majority of Windows application developers reside, can’t be transitioned onto a mobile platform in any useful way. Realistically if any developer was looking to tackle the mobile market they would have done so already and consequently have substantial investment in their platform of choice. Still the ease at which WP7 applications can be developed using existing skills and knowledge means that the platform might just become dominate because it brings developers to the mobile space that would have never considered it before. Since it can be argued that Windows Mobile is arguably the same thing as WP7 (just not as sexy) it’s going to take a bit more wooing from Microsoft to draw those reluctant developers over and in the lead up to the first WP7 phone hitting the markets will show them doing just that.
Personally I’m still excited about it. I’ve tried to develop simple applications for Windows Mobile before and it was always a royal pain in the ass. The new Windows Presentation Framework based interface for WP7 means that developing code for them will be that much easier. Additionally the integration with existing code bases will mean that the kinds of functionality that would usually have to be developed for the specific platform can now be leveraged with minor modifications, something that I know will at least have developers playing around with WP7.
And that is what has the potential to make WP7 the dominant player in the mobile space.
Market research is a great way to procrastinate. I’ve spent quite a lot of time getting to know what platforms I should be targeting just so that I don’t waste my actual development time on building something that no one will bother using. In this time that would have been better spent actually coding something I’ve come to notice an interesting trend in the world of mobile applications: everyone seems to be ignoring the biggest market of them all, Symbian. Owned by Nokia Symbian smart phones still dominate the market with over 45% market share which dwarfs all of its competitors to the point of being more than RIM (Blackberry) and iPhone combined. So why isn’t every other developer jumping at the opportunity to exploit this market to the point that they have done for the likes of Android and the iPhone? The answer, to me at least, has its roots in simplistic ideals but overall is quite convoluted.
At its heart the neglect of the Symbian platform can be traced back to one thing: money. Symbian has been around for quite some time (its ancestors can be found as far back as the late 1980s) although its current incarnation in the world of smartphones made its first appearance back in 2001, opening up a world where a phone’s capabilities could be expanded by the installation of third party applications. Its release was closely followed by the first release of PocketPC (later renamed Windows Mobile) that supported smartphones but Symbian still had the upper hand thanks to its uptake with many of the large phone manufacturers. As time went on Symbian found its way onto nearly all of Nokia’s advanced handsets which, coupled with their easy to use interface and overwhelming feature sets, led to astonishing popularity with the 100 millionth Symbian handset being sold only 5 years later with total shipments today exceeding 390 million.
Still unlike the iPhone or Android platform there really wasn’t any incentive to develop for them. The segmentation of both the Symbian and Windows Mobile market was and still is quite vast with no real guarantee of what features or specifications one phone might have. Whilst there are still many applications that can be developed despite these limitations many developers shunned the mobile space because apart from corporate applications there was no tangible way to monetize their efforts. Then along comes the iPhone with one standard set of hardware, a large fanbase and a distribution channel with built in monetization for any developer willing to shell out the $99 fee. After that the mobile space began to open up considerably but Symbian, even with its giant market share, has yet to capitalize on the mobile application market.
This means that whilst the Symbian market might be the largest of them all its also the least likely for any developer to be able to profit from. Symbian handsets cater to a much larger market than any other, including the lower end that even Android fails to capture. Unlike Apple, which deliberately targeted a market with cash to spare, Symbian users are the least likely to pony up some cash for an application. Additionally since there’s been no real central, easy to use medium for users to get applications on their Symbian phones (I know, I tried it on my N95) the vast majority of them won’t be in the mindset to go after such an application, favouring web based applications instead.
There is also, of course, the technical challenge behind building an application on these platforms. Whilst I’ve only dabbled in Windows Mobile (which for a C# developer was incredibly easy) recent reportsshow that Symbian is not only the hardest it also requires two to three times the amount of code to complete the same application on an iPhone or Android handset respectively. Whilst learning another language is really just a lesson in semantics it still slows your development time down considerably and when you’ve got your eye on making some money from your venture a steep learning curve will be a major barrier to entry. There has been some work to reduce this somewhat with the integration of the S60 platform with the open source cross platform library QT, but my previous experiences with that framework don’t make me so hopeful that it will make developing for Symbian any easier.
The ignored giant Symbian is an interesting phenomenon as intuition would tell you that the largest install base would drive the largest secondary markets. As a developer I still find it hard to ignore the call of almost 400 million devices that could possibly run my software but knowing a few people who own Symbian devices (read: they use their phone as a phone, not much else) I still feel like my effort would be better spent elsewhere. As time goes by it will be interesting to see if Symbian can continue to hold onto its dominance in this space or if they will eventually lose out to the young upstarts Android and iOS.
I haven’t really blogged a lot about Android handsets mostly because I’ve never owned one of the beasts. My checkered past with the dominant supplier of hardware for the devices had me casting skeptical looks their way for the first year of Android’s existence but it’s become quite clear that since then they’ve managed to release some solid hardware backed up by ever improving software in both the platform and the applications that are being developed for it. The current Android darling (HTC EVO 4G) has been selling out with an almost Apple like fever across the United States. It seems that the Android platform has finally hit critical mass, and people are starting to take notice.
The most notable data points I have to support this view is the often quote number of Android handsets sold per day. Back in February Google announced, much to everyone’s surprise, that they were shipping around 60,000 Android handsets per day. It took another 3 months before they’d quote that same metric again where upon they stunned everyone by saying that their shipped volumes had grown to over 100,000 per day. Two days ago saw them quote this metric once again albeit with the staggering figure of 160,000 sold per day:
Android cofounder and Google vice president Andy Rubin just announced at the Droid X event that 160,000 Android devices are being sold per day. That’s up sharply from last month when Google announced that 100,000 Android devices were being activated each day.
As recently as February the number was just 60,000 per day. The Droid X will begin shipping on July 15 for $200. Given how hot the EVO is selling on Sprint, we can probably expect another jump in those Android sales numbers soon.
If you take those numbers as an average then you get Android sales of approximately 14.4 million per quarter. Compare that to the most recent figures from Apple on their iPhone at about 8.8 million per quarter then it becomes clear that Android is now a very serious competitor in the mobile space. Apple might not be worried though and there’s a good reason for that, they’re taking a leaf out of Nintendo’s book (hear me out here people).
You see long before the Wii was released Nintendo was struggling to keep up with other 2 of the major console gaming giants. Sony was dominating the market with their Playstation 2 and Nintendo’s current answer, the GameCube, wasn’t the smash hit that its past generations were. Knowing that they had to innovate or die Nintendo began the process of identifying their market and began to reform themselves around this idea. In essence their target market, the loyal customers of decades gone past, had grown up and now saw Nintendo’s offerings as childish. The now grown up gamers were more happy with the offerings of Sony and Microsoft respectively and Nintendo, not wanting to lose the family friendly title they’d earned themselves, began to look beyond the gamer title to discover their biggest untapped market: people who didn’t play games. The result is the Nintendo Wii a console that was so wildly popular that they were sold out constantly for months at a time. Nintendo knew that some of the biggest markets are the ones with people not using your products.
Contrasting this with the Apple vs Android battle the similarities to Nintendo start to become apparent. Apple only makes two handsets both of which are really the same product. Granted it’s a pretty good product that is arguably the cause for the creation of its current competitors. Android on the other hand is now available on a multitude of devices with plenty more in the pipeline from multiple manufacturers. For Android sales this means that there’s a handset to suit almost any mobile phone user out there opening up a much wider market than that of the iPhone. Thus many of the features reserved for the annals of the smartphone users have now trickled down to the lower end of the market. This is simply a market that Apple won’t capture because realistically, that’s not where the money is for them.
There are of course pitfalls to capturing such a wide market. Platform fragmentation is something that all developers wanting to bring their application onto Android handsets have to deal with. For good programmers it’s an easy but time consuming task to overcome as you either aim your application at the lowest common denominator thereby limiting its capabilities or you deliberately shut out a segment of the market, potentially damaging your revenue streams or potential user base. Whilst this could be overcome with faster response times from handset manufacturers with software updates it still stands as a barrier to developers adopting the Android platform and it remains to be seen how Google will cope with it.
Realistically even though I expect Android to become the dominate player in the smartphone market I don’t think Apple will be affected that much. They carved out their product niche a long time ago and the users they courted back then will remain loyal to them for a long time to come. Android with their shotgun approach to market domination will capture more users overall but I think that for a long time to come they’ll still be playing catch up with Apple in terms of market potential. In the end though the smartphone war means better products and a bigger catalog of handsets to choose from, a boon to consumers everywhere.
It’s one of those rare occasions where everyone wins. Apple gets their profitable niche, Google creates an open platform that anyone can use and we get ever more capable phones. Isn’t that just plain awesome?
The last two years have seen a very impressive trend upwards in terms of the functionality you can fit in your pocket. It didn’t seem like too long ago that streaming a YouTube video to your phone would take half an hour to load and would cost you at least $5. Compared to today when my phone is actually a usable substitute for my fully fledged computer when I’m on the move. For the everyman this has led to even the cheapest of phones being filled to the brim with oodles of technology with even sub $100 phones having features like GPS and 3G connectivity. Even more interesting is the line that once separated smart phones from regular phones has become increasingly blurry to the point where consumers rarely make the distinction anymore.
Realistically the initiator of this paradigm shift¹ was Apple as they brought technology that was usually out of reach to everyone. Sure they did it whilst making a decent buck off everyone but they broke down that barrier many people held that paying over $200 for a phone was something of an extravagance. Now it’s not unusual for anyone to shell out up to $1000 on a phone these days, especially when that cost is hidden away in the form of a 2 year contract. The flow on effect was not limited to Apple however, and now we have yet another booming industry with many large corporations vying for our wallets.
For the most part Apple still reigns supreme in this world. Whilst they’re by no means the largest competitor in the smartphone market, that helm still belongs to Symbian, they still carry the lion’s share of mobile Internet traffic. That hasn’t stopped Google’s competing platform from sneaking up on them with them taking 24% to Apple’s 50%. The growth is actually becoming something of a talking point amongst the tech crowd as whilst Google has floundered in its attempts to replicate Apple’s succes with its Nexus One it’s platform is surging forward with little signs of slowdown. Could it be that the line Google towed of open winning out in the long run has some truth to it?
Amongst developers the one thing that gets trotted out against programming for Android is the market segmentation. With the specs on Android devices not tightly controlled you have many different variables (screen size, is it multi-touch, does it have a keyboard, etc) to account for when building your application. With the iPhone (and soon Windows Phone 7) those variables are eliminated and your development time is cut by a significant amount. Still the leniency granted by the Android platform means that manufacturers are able to make a wide variety of handsets that can cater to almost any need and budget, opening up the market considerably. So whilst Apple might have broken through the initial barrier to get people to buy smartphones it would appear that people are now starting to crave something a little more.
For every person that has an iPhone there’s quite a few who want something similar but couldn’t afford it or justify the expense. The Android platform, with over 60 handsets available, gives those people an option for a feature rich phone that doesn’t necessarily attract the Apple premium. In essence Apple pioneered demand for devices that it had no interest in developing and Google, with it’s desire to be in on the ground level for such a market, took the easier road of developing (well really they bought it) an open platform and leaving the handsets up to the manufacturers. At the time this was a somewhat risky move as despite Google’s brand power they had no experience in the mobile world, but it seems to be paying off in spades.
Real competition in any markets is always a good thing for end consumers and the mobile phone space is no exception. Today almost any handset you buy is as capable as a desktop PC was 10 years ago, fueling demand for instant access information and Internet enabled services. Google and Apple are gearing up to duke it out for the top spot in this space and I for one couldn’t be more excited to see them duke it out. I never really want to see either of them win though because as long as they’re fighting to keep their fans loyal I know the mobile world will keep innovating at already blistering pace they’ve managed to sustain over the past 2 years.
¹Don’t you dare call buzzword bingo here, that’s a proper use of the term.
I can remember the decision that led up to me purchasing my very first smart phone. Sometime around the end of 2003 I had managed to land myself 4 different part time jobs, mostly because none of them would give me the hours I wanted. This of course meant that my schedule was a tad hectic at the best of times and I found that managing all of them at once usually ended up with me showing up at the wrong place at the right time. So I got myself a cheap and cheerful PDA that ran Windows Mobile and kept my schedule in there, letting me keep track of everything and making sure I never disappointed my various bosses again.
About 3 years later I had landed my first ever System Administrator job and I thought that since I was such an IT bigshot (HA!) I would need a device to match, casting my aging PDA aside. A couple clicks through Ebay and $1000 later I was in possession of an O2 XDA Atom Exec and all the pains that it brought along with it. Initially I was pretty happy with my purchase as it let me do away with 2 devices in place of one and the upgrades to Windows Mobile made it a lot more usable that its predecessor.
Still I can remember trying to use the Internet on it and being extremely disappointed. Apart from the ludicrous charges from my mobile carrier (which was Telstra at the time) most websites failed to render properly and would take an impossible amount of time to load. The experience improved every so slightly when I was in range of a wifi point but considering the only places that had free wifi were in fact my or any of my friend’s houses the usefulness of a mobile web device was completely and utterly non-existent.
I’d mostly given up on the mobile web until the end of 2008. My O2 XDA last legs had long fallen off and it had developed the cute problem of switching itself off if you bumped it even slightly. After doing the rounds for a phone I had initially settled on a Nokia N95 although that quickly got traded in (long story short, got sold wrong model) for a HTC Diamond. The slim device came with a bevvy of Internet ready applications and I had specifically chosen a carrier that had a decent 3G wireless plan to make use of them. It seems that the bad taste that I had left over from 5 years ago was about to be washed away by the minty freshness of a mobile Internet revolution.
And was it ever. I set up my email to sync directly to my phone, my RSS feeds would update every morning before I headed out to work and I always had the weather forecast at my fingertips (with cool animations to boot). The Internet experience was much improved thanks to the Opera Mini browser that does a lot of the heavy lifting on proxy servers before forwarding you the results and the speed of 3G brought all those web pages to me in a time frame that was actually quite usable. I even went so far as to put my phone on my employer’s network and had my work email being pushed to my phone as well, which proved to only be mildly useful but a good demonstration to the higher ups.
The last year has seen a tremendous amount of growth and refinement in the mobile Internet experience and I’m begrudged to admit that its due to Apple’s iPhone. The original iPhone made highly capable (and expensive) phones the ubiquitous status symbol that so everyone wanted. The release of the 3GS made a point of making the mobile Internet experience something that should be available and extremely easy to use. This in turn put the other smart phone giants on the back foot to bring about a similar experience for their users, which until recently they’ve been struggling to do.
Google has done extremely well in this regard with their Android platform steadily gaining ground on Apple every month. It’s got to the point where I can’t say the growth is due to the tech crowd anymore, there has to be a good share of everymen buying Android handsets. It also can’t be due to the Nexus One either, as the numbers were looking pretty good before its release early this year. Whilst they’ve still got a ways to go to dethrone Apple as the number one (7.7 million sold in 2009, 60,000 are moving every day apparently) they’re looking to keep competition healthy in the mobile space, which is a win for us consumers.
Microsoft on the other hand has been extremely slack in this space. Whilst I’m very excited to get my hands on the Windows Phone 7 series devices (I really should install that emulator…) mostly due to their 0 cost to entry for programming on them the first retail device isn’t scheduled to be released until late in the year. Couple that with the fact that their share of the mobile Internet space has been in the single digits for almost 2 years now means that they’re probably the furthest thing from everyone’s minds when they’re going to buy a new phone. It will be interesting to see if they can turn their luck around and make the mobile scene a three horse race, but I’ve got my doubts.
In all honesty the revolution in the mobile space should come as a surprise to no one, but it always gets me when I’m rummaging through my desk and I happen across my old O2 and just remember how far the whole scene has come. With the latest hand helds coming out with processors that were considered top of the line in desktop PCs just a decade ago the days of a phone just being a phone are long behind us, and the future is always looking that much more awesome.
Most people know about the ideas of Virtual Reality, such as the concepts expressed in the Matrix trilogy of movies and other Science Fiction productions. However many people are unaware of the bridge between these worlds that already exists using today’s technology. This is known as Augmented Reality and it attempts to enhance our current perception of the world using technology. The simplest form of this I can think of is Heads Up Displays (HUDs) that you can even get in your car these days (if you happen to own one of those spiffy European cars ;)). However I don’t want to get bogged down in the idea of visual augmented reality, as that’s really just a small part of it.
With today’s technology putting more and more information at our fingertips our reality is becoming more augmented then we might think. For instance, my phone has a web browser built into it and an Internet connection that would’ve cost most companies thousands of dollars a decade ago. Right now if someone asks me a question that I have no idea about a quick trip to Wikipedia has the general information about the topic at hand almost instantly. Additionally back when I had a Windows Mobile phone (Which I managed to lose, but that’s another story!) I used to subscribe to RSS feeds that would be updated every hour. This meant that I had up to date information on various topics that interested me in my pocket at all times. If I was out at lunch I’d merely scroll through the newest items and I’d always be up to date on the latest.
But even this “pull” side of augmented reality is only one part of it. When I was down in Melbourne visiting one of my friends he happened to tell me about these new shoes that he got. It seems that Nike had gotten together with Apple to produce what basically amounted to a pedometer that was embedded in the shoes and was capable of recording statistics whilst you were jogging. He was partly doing this because his work had a sponsored health campaign, and they were all uploading their stats to a website to see how they were all going. As much as I hate the term “Web 2.0” it’s very much that, putting the users in charge of generating content that is of interest to everyone.
So where is all this technology going? Back in 2004 a university project in Singapore spawned a real world Pacman, using GPS and a complex overlay of the real world. Whilst this is more of a gimmick it did show the potential of using many disparate forms of technology to augment and enhance our view of the world. One of the coolest apps, which also demonstrates the power of Open Development Platforms, is Wikitude AR Travel Guide for the HTC G1 Android mobile phone:
What I like about this app is that it is a consumer level application. It’s designed for your everyday user to be able to download and use without having to think about it. As the Android platform matures I’m sure we’ll start to see many more implementations of applications like this and I for one, can’t wait.
It’s almost enough for me to break out Visual Studio and start coding again……