Nokia and Open Source

Stefan Constantinescu over at Intomobile made me aware of an interesting podcast with Ari Jaaksi he must have given recently at an open source developer conference (not sure which one).  In the podcast, Ari talks about Nokia's involvement and interest in Open Source for their Internet tablet and for the open source based applications on their S60 platform (e.g. the Webkit browser).

It's interesting to compare Nokia's Open Source involvement with that of Google/Android: Nokia uses Open Source software to create their own (hardware) products. This is good for them because they can build products quicker, it's good for the open source community as the contribute back to the community, and it's good for application developers as they have a reasonably open platform for which they can develop their applications.

Google's approach with Android, however, is quite different. Their interest is creating a platform for themselves and others so that hopefully many companies develop devices and software based on Android.

In the short term, Nokia's concept works quite well as the Internet tablets they have built around their Maemo platform are great and there is not yet much competition. In the mid- and long term, however, I see their approach sidelined a bit once Linux in general and Google/Android in particular become more widespread in the mobile world. And Intel is pushing with their Mobile Internet Devices, too, likely to become a nice hardware platform in the future for new device manufacturers which then need to look for an open OS. Nokia's Maemo is then just one of many Linux based partly/fully open operating system but limited to Nokia products while other Linux based OS'es will run on more devices.

What do you think, might there be a point when Nokia opens up Maemo for third party devices?

Resources:

Jazelle: Executing Java ME Bytecode in Hardware

From time to time I have wondered before why current mobile phones are able to execute Java ME applications so well and with good performance. To me this was a bit surprising to me since Java ME programs are not compiled for a specific hardware platform but instead into a machine independent 'byte code'. This enables Java applications to run on a wide variety of Java enabled handsets. To execute machine independent byte code a Java Virtual Machine (JVM) is required. On the PC for example, JVM's are implemented in software. On mobile devices, however, I found out today that ARM for example offers a CPU operating mode referred to as Jazelle which executes Java byte code in hardware. This way Java applications can be executed much faster as if a software JVM interprets the byte code. Pretty slick! For details see the Wikipedia entry on ARM processor and ARM's description of Jazelle.

P.S.: A long time ago Sun, the inventor of Java, tried hard to push JAVA CPU's for desktop machines but never really succeeded. Now, a decade later, there are indeed Java CPU's, just for a slightly different purpose. Looks like there were a bit ahead of the time.

When ARM and Intel meet on Mobile Devices

Interesting times ahead in the mobile hardware world. Today, most mobile, wireless and embedded devices are based on a chip with a processor design from ARM. Although many companies such as Texas Instruments, Marvell, STM, VLSI etc. design and produce chips for small devices, most are based on a CPU core licensed from ARM. On the desktop and PC world, things are equally clear with Intel's x86 design dominating. With both architectures now targeting powerful mobile devices, these two worlds are about to collide.

The ARM design was initially targeted at ultra low power embedded devices. As technology evolved so did ARM's design of their processors and it is estimated that an ARM processor core is used in 95% of mid- to high-end mobile phones today. The current ARM-11 high-end platform for example is used in devices such as Nokia's N-series phones like the N95 and in Internet tables like for example the Nokia N800 and N810. The ARM-11 platform is the result of a bottom-up approach, as it has evolved from earlier platforms for simpler devices. According to ARM's web page all phones of mobile giants such as Sony Ericcson, Nokia, LG, Samsung, etc. are ARM powered. This shows how flexible the ARM architecture is today since requirements range from voice telephony with ultra ultra low power requirements to full blown multimedia devices. Today, a lot of operating systems support the ARM architecture. Examples are fully embedded operating systems of low-end to mid-range mobile devices to operating systems for smartphones like Symbian, Windows Mobile and these days also Linux. Linux is about to become popular in the mobile device world e.g. with Nokia's Internet tablets and in the future with devices built around Google's Android OS. The advantage of using Linux on mobile devices is the wide variety of available software from the Linux desktop world, which often only has to be slightly adapted and recompiled for the ARM processor architecture.

On the other end there is Intel who seems to be keen to enter the mobile space with it's x86 processor line. A couple of years ago they tried to get a foothold in the mobile space by licensing ARM technology and building a product line around that. However, they have since abandoned this approach and are now tuning their x86 architecture for low power consumption and ultra small packaging. This is kind of a top-down approach, i.e. streamlining a desktop processor architecture for smaller devices. Their advantage: No or few adaptations are required to run applications written for the desktop. Adaptation is usually only required for smaller screen sizes, mobile device specific desktop environments and less disk and memory capacity. In theory, Microsoft Windows can also run on x86 based devices but in practice it is too resource hungry.  On the downside, Intel's platform for Mobile Internet Devices (MIDs) and Ultra Mobile PCs (UMPCs) does not have a native cellular interface like ARM has. Thus, device manufacturers have to look around for additional chips in case they want to put 3G connectivity into their devices. Intel, however, will surely use their mobile platform to combine it with their own WiMAX chips.

For the moment, Intel and ARM have not made contact yet. Intel's design is still too heavy for most mobile devices but they have gained a lot of ground lately. ARMs architecture on the other hand keeps pushing forward with increased processing power and additional functionality embedded in the main chip. Give it another 12-18 months, however, and I think they will have similar offers for mobile devices. Expect heavy architecture competition.

Further resources:

My Photo

The Book to this Blog

Latest Notes...

My Pictures on Flickr

  • www.flickr.com
    martin.sauter's photos More of martin.sauter's photos

This Blog On Your Mobile

  • WINKsite

  • 2D Bar Code

Misc

  • Sitemeter
  • (c) 2005 - 2008 Martin Sauter - All rights reserved
  • Mapstats
Blog powered by TypePad
Member since 01/2006