Windows Mobile: SDKs, Windows Mobile and the iPhone

On Monday, Apple opened their World Wide Developer Conference with a keynote from Steve Jobs, and as always it was great to watch. One of the areas I was particularly interested in were the details regarding the iPhone, and how Apple were going to let developers create applications for it.

Writing applications for mobile devices is a real double-edged sword. On the one hand, every good gadget-owner wants to be able to expand and customize their device with new features and software. And every obsessed gadget-lover wants to be able to create their own applications.

But the dark side is that a mobile device isn't a desktop computer. A mobile device connects to cell networks, it can make expensive phone calls, it has a lot of personal information on it, it's easily lost, it completely sucks when it crashes.. There are lots of reasons why having badly written applications or even malware/viruses on a mobile phone would be a Bad Thing. And mobile phones have a very intimate relationship with a mobile operator. After all, the mobile operator helps pays for the device, and has to field support calls, so they want a lot of input into what it looks like and how it works.

From a developer's point of view, the Microsoft approach is to create a complete SDK, that allows low-level access to almost every nook and cranny. The price you have to pay for this is that not all APIs can be called and not all features accessed depending on what "security clearance" you have. Developers can use code signing to earn a degree of trust, but it's still not as open as the desktop and this can be frustrating at times. With great power comes great responsibility, etc etc.

The Apple approach is different, and doesn't open up the device to same degree. Instead, the "SDK" proposed by Apple is to write web-apps. By making use of the iPhone's built-in web browser with its support for JavaScript, CSS,  and Ajax techniques, it's possible to create web pages that look and act like applications. Don't get me wrong, this approach definitely works for many types of application, and there are advantages: instead of installing software, you visit a web site. There are reduced security headaches, you always have the latest version. Maybe you can cache them so you don't need to visit the web site everytime you want to run the application, like Apple's Dashboard widgets.  There may be some hooks into iPhone features (I've read hints at being able to trigger phone calls for example), but in general, applications are isolated from the iPhone platform. This won't suit everything, but it can work a lot of the time.

So while this is causing some consternation amonst Apple iPhone would-be developers (perhaps there is a feeling that "web-apps" are merely web pages, and therefore not "real" programming - something I don't agree with, by the way), I don't think it's a truly terrible thing. The Apple web browser (I'm not sure if this includes the iPhone's browser) supports the 'canvas' tag for example, which makes graphics possible without requiring a Flash or ActiveX plug-in. That makes some neat effects possible.

And if there was a general growth in web-based applications for mobile devices - well, guess what? that means Windows Mobile devices would be able to play too. Internet Exporer Mobile supports plenty of Ajax-friendly JavaScript (see here for example), and that lowers the cost of development software and distribution Windows Mobile applications to about, um, $0.

So my feeling is that this could be Good Thing for all mobile device users, and a new way of writing applications for developers. May I recommend The JavaScript Bible, by Danny Goodman, and anything with "CSS" and "Eric Meyer" in the title.








As always, opinions in this blog are mine and mine alone.

Comments (1)

  1. Tam Hanna says:


    to be honest, I never quite liked the idea of web based apps…especially not on a smartphone style device.

    To start this off, I live in Austria and am currently on a Treo 680 and a hp ipaq rx4240 on T-Mobile(next to no EDGE coverage). For me, accessing data is a thing of approx 10kB/sec…give or take a few %.

    This translates to a waiting delay of approx 1sec per click…even my slowest applications are faster than that.

    Can you imagine a game like PocketHeroes for PocketPC(which could be a platform seller btw) implemented in AJAX? I cant…

    Best regards from Vienna

    Tam Hanna

    (Tamog AT gmx DOT at)

Skip to main content