In the Mind of a Mobile Developer

Trying to work out how a mobile application developer thinks is becoming quite the hot topic these days. In the last 2 years the business of writing mobile applications from niche to normal and we’re at the stage now where not only the mobile platform is important; not only the operating system is important but a stage where the whole application ecosystem from developers to users could make or break a product. It’s no longer a ‘value-add’ to have a dynamic set of applications available for your mobile device but an expected part of the product.

I’ve been tracking mobile operating systems for a few years now and one of the questions I’m always asking is ‘how does a developer choose a platform.’

At the Mobile Dev Camp in Munich last week I had another chance to drill down into the mind of the mobile application developer. They’re a driven, intelligent bunch of people that, when in small teams, don’t worry too much about the programming language used to create apps. After all, if you’re intelligent enough to learn one language, you can learn another. I did it with <a href="">CESIL</a>, Basic, Assembler and C back in the 80’s and 90’s and if I can do it, so can most developers I'm sure, so what results is a very dynamic, forward-looking, creative mass of intelligence looking for a new idea. Obviously it helps if teams can position themselves around am existing skill-set and this is an important factor but Mobile Dev Camp Munich underpinned my belief that mobile developers are very light-footed.

<a href=""><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="mobiledevsatmdc09" src="" border="0" alt="mobiledevsatmdc09" width="495" height="372" /></a>

Earlier this year I attended MDC in Amsterdam where <a href="">I noted</a>:
<li>Developers are creative people that don’t enjoy being bound by rules so an API that allows or even stimulates creativeness by exposing hardware and features is a big advantage. New hardware with new or advanced features, stimulates developers.</li>
<li>Developers will balance the cost of development (ease of API, cost of developers, stability of platform) with perceived customer base / earning potential.</li>
<li>Developers want a platform (or are stimulated by a platform) that allows them to utilise existing or easily-available skillsets – Java for Android, Objective C for iPhone for example.</li>
In Munich I encountered another sub-set of developers too. It’s a group of developers that are looking much further into the future than many others I've met. It’s a group of people that are watching the hardware and operating systems closely with one eye and with the other, they’re watching the browser.  Advances in browser technology, web standards and, of course, platforms, means that there’s an interesting junction coming up. If the number of platforms increases and the operating systems splinter as a result, the browser becomes a way to side-step all that hassle. We’re talking about 4 years in the future here at a time when our handhelds are likely to be processing Javascript faster than on the laptops we’re using today and when HTML 5 allows video, audio and drawing operations to happen directly in the browser and the web standards allow more access to computer hardware but it’s certainly something to think about.

Improvements in browser and platform technology was at the core of the first talk I attended in Munich. Stefan Zaunseder and Christian Schilcher from <a href="">GISCAD</a> who have both spent a lot of time researching the best technologies to use to present detailed mapping information via <a href="">SVG</a>. Should they use a client application or should they use a browser?

From the statistics they presented it appears that we’re already reaching a crossover point where, on phone devices, in-browser performance is finally reaching levels that can satisfy an end user. In-browser applications have a long way to go however and more processing power and browser performance is needed in order to be able to do really cool stuff on a mobile device. There’s also the other issue. The application stores have made it nice and easy for developers to get paid for their apps. That needs to happen for browser applications too and could be a big hurdle.

Attending a mobile developer camp means you’re talking almost exclusively about smartphones but it was interesting to see the response from developers as I made my own presentation about device categorisation.

I tried to highlight the changing crossover point between devices on ARM and Intel ultra mobile platforms and to show how small the current X86 devices have become using a <a href="">big set of devices I took with me</a>. I also highlighted some applications that I think don’t really fit onto a smartphone very well. Media playback, ebook reading, navigation and high-end web browsing were my main examples. I also highlighted where Intel are moving to, the expected sizing of Moorestown devices and how the Moblin platform could cover hardware from smartphones to netbooks. When I highlighted the numbers involved I couldn’t help but notice a few people taking notes!

It’s certainly something to think about because as Moorestown and Medfield platforms feed-in with heaps of performance and Moblin develops into a mature OS you get an interesting hardware platform, a single unified OS that spans multiple device categories and of course, an <a href="">application development program</a>. Again, we’re not talking about tomorrow or even 2010 but as we look beyond and consider the <a href="">roadmap</a> and <a href="">numbers</a>, I'm sure some of those developers will be on the move again.

The Mind of a Mobile Developer is dynamic.

Thanks to Intel for sponsoring my visit to the <a href="">Mobile Dev Camp in Munich</a> under the Intel Insiders program.
For more complete information about compiler optimizations, see our Optimization Notice.