Friday, December 7, 2007

Smartphone OS market share in 2007

I'm a big fan of Simon Judge's blog, Mobile Phone Development, and I read his article about Q3/2007 Smartphone Market Share with great interest. I agree with his findings, however, I would add my own thoughts to it, too.

I found it very interesting that most people might not noticed without paying careful attention to the details, that there are already more smartphones running Linux than Windows. It was surprising for me to see that as I've sort of had the impression so far that even though mobile Linux has its potentials, it still hasn't gained much market share as of yet. Well, I was wrong.

The next thing worth noting with regards to mobile Linux that almost a quarter of the whole report is about explaining why mobile Linux would be a bad alternative for manufacturers, operators, etc. Surprisingly, considering costs as well. That, of course, shows what Symbian really thinks about this threat.

As to Windows Mobile: I've also read a couple of reports, where analysts predicted that Microsoft would take over the lead role as mobile OS vendor from Symbian by 2010, but I also believe that it's unrealistic. Although I recall a question I was asked informally by someone in London, where I attended Forum Nokia Developer Day this October, that what I was thinking about the competition between Microsoft and Symbian. I asked back: is there any competition? This might sound as a joke and now I think that I was too self-confident: although Microsoft might not pose a big risk to Symbian as of yet, it's still a key player that's just getting stronger over time.

I've just read it at over IntoMobile that iPhone outsells e.g. Nokia N95 in Europe. Well, although it's a BIG warning sign, let's not forget about that Nokia

Finally, some notes on mobile OS market share in the US:
  • There are two vendors who have much bigger share here, than all around the world: Microsoft and Palm. Their cases are pretty much different, though: whilst Palm will potentially disappear from the (rest of the) market in the not-too-far future, Windows Mobile is predicted to gain bigger share from year to year.
  • However, it's not only these two players among whom the market is split. Or at least will be soon. Apple has just jumped in to this business with great initial success. Although selling pretty well in Q3/07 is something remarkable, they still need some time and stable growth to catch up.
  • Symbian fills a marginal role in this part of the world, but as we all know Nokia and Sony Ericsson are both working hard to change the situation. Nokia has, for example, just teamed up with Verizon (ehm, it was Verizon who joined Nokia, actually) for developing a fourth generation mobile broadband network. I believe a successful co-operation with a big American carrier is the first step for Nokia to gain a foothold in US. Sony Ericsson, on the other hand, has sold 50% of their share in UIQ (a company, but also the name of a Symbian variant) to Motorola. Even though Motorola is said to be fighting for survival, they're still a key player whose help might always come in handy.
  • Finally, what is not in the figures is OHA: although they're still nothing more than a promising alternative now, the first phones based on Android will appear during next year - I wonder if they will be able to make as a good start as Apple did.
Your thoughts are welcome - as always!

Tote

Thursday, November 15, 2007

Tilt-O-Mania, also known as Nokmote

Have you ever felt that your idea is stolen and "Damn, I wish I had been faster in doing it"? Now I feel exactly that way.

The first time I heard that another Nokia phone, N95, has a built-in accelerometer I started wondering why on Earth? Why on Earth is it worth for Nokia to put such a device in their phone? Has Nokia 5500 Sport (first Nokia device with built-in accelerometer) proven that it's worth making further experiments with? I haven't seen any analysis telling so, although I admit that it doesn't mean anything. Why on Earth has Nokia kept it secret that there was such a gadget in their hottest device? Is it a secret? Isn't it something that makes the device even cooler?

Then I started to think about what we could do with it? First, I thought RotateMe was a great software, I really liked the idea. But I felt something was missing. Then I found it: why not simulate joystick key presses (i.e. left, right, up, down + press) by tilting the device to the right direction? Since it's fairly easy to simulate key events in Symbian C++ just as if they had really occured, I thought it was easy to implement. The good thing in this idea that it works with existing software, no need to re-write or adapt anything: applications will not notice the difference between real keystroke and simulated.

Tilt-O-Mania

That would have been the name of my software. R.I.P. Now it's called Nokmote and it's not mine at all. :( Sorry guys behind the "sad smiley", I'm happy that you'll come out with an implementation, but I must tell you that I'm unhappy that you'll come out with it. :)

To be honest, I was always wondering why nobody had ever discovered the opportunity in writing such a software. As more and more S60 devices will come out with built-in accelerometer this feature could become such an integral part of user experience that even Nokia might want to use it. I dare to claim that even the joystick could be replaced by the accelerometer + this solution in the future. Not only could Nokia save some money by removing some existing hardware (i.e. the joystick), but they might even be able to use the new spare space for other purposes. Isn't it so cool?

And you know what? The solution is not Nokia/Symbian specific: any (mobile) device having a motion sensor could do on-screen navigation like this. Another Symbian phone, iPhone, gPhone even a laptop, though it would be funny to see a businessman tilting his computer at the airport just for the sake of navigation. :)

On the other hand, I was shocked to find that my(?) idea was not original at all. I mean not that now somebody has come out with an implementation for S60, but this idea was implemented years(!) ago on another mobile phone. You know, some of my colleagues have worked with a MyOrigo device and when I told them my idea they enlightened me that it had already been implemented. Check out this article from The Register and you'll see that such a device is already on the market. Okay, it is a not-really-famous mobile phone and perhaps it doesn't even make use of accelerometer data, but still the idea is theirs: user tilts software navigates.

Never mind, although I'm sorry to see that I can't be THE pioneer in this area, I'm happy to see that it'll be available to us soon. Good luck for writing the software!

Tote

Tuesday, November 13, 2007

Android SDK is out - first impressions

After watching the video about the introduction of Android for developers, I'm convinced that the new phone will generally be as useful and user-friendly as e.g. the-also-newcomer iPhone. Well, it came as no surprise to me, I'm just expecting a lot of innovation from the new player in mobile space. I don't expect that the new platform will offer as many features as traditional Symbian-powered devices and I can even dare to say that it's not going to be as stable, either ... yet. However, I'm pretty sure that they will catch up soon and offer real alternatives for users, phone manufacturers, operators, etc.

What has totally escaped my attention, though, was that the programming language for this platform would be Java. Based on the fact that it's going to be a Linux-based OS I kind of anticipated that the programming language would be C/C++. I don't know the rationale behind this decision, but it will definitely give a boost to the otherwise stagnating JME programming environment.

I wonder, though, how Google is planning to solve the infamous Java fragmantation problem for mobile phones. What is that? Well, even though Java is a very popular and platform-independent (aka portable) programming language, it's just the set of Java core services that is available on every mobile device. The presence of additional features, such as advanced mobile graphics, security, etc. depend on phone manufacturers' decision, whether it's worth adding them. Which makes Java mobile applications market very fragmanted (some features are available, some are not) and development very frustrating. You know, I have heard an example that a mobile Java game programmer had to make 100(!) variants of his game "just" to be able to distribute it to as many phones as possible.

Another thing about mobile Java development is that most mobile phones are running on another operating system than Java. In fact, Java is not an operating system at all, even though there have been attempts to make Java-based mobile platforms, see e.g. SaveJe for more details. But Symbian OS is similar to Android platform in that they both have their native platform (Symbian OS and Linux, respectively) meaning that platform features are usually available in native programming language first and then some JNI layer added on the top and there you are, it's ready for Java programmers. So far so good. However, it introduces some latency in the equation as it requires some time to write features in native environment first and wrap it in the second round. Will Android suffer from the same problem?

My regular readers already know that I was involved in S60 Browser development and it was very challenging and I really liked it. For that reason, I'm happy to see that Google chose WebKit for their mobile browser (S60 Browser is also based on this rendering engine) and in the demonstration it worked well. I was wondering which display method they would choose for web pages:

  • S60 approach that displays the web page in its entirety without scaling
  • or iPhone approach that scales down the web page to so that it fits to display dimensions, though it's hardly readable, but lets the user zoom it very conveniently (e.g. by double-tapping on screen)
They actually chose both: they first display the page without scaling and then user can scale it down for better navigation. I'm pretty sure that Nokia has their own IPR on MiniMap (i.e. the zooming interface) so that might be one of the reasons why Google didn't choose that option. However, what surprised me that they use the same visual history for page navigation as in S60 Browser.

So these are my first impressions after spending half an hour with Android after midnight. I'm really keen to hear your comments - just as usual! :)

Tote

[Update]: I'm shocked, check this out: Dalvik: how Google routed around Sun's IP-based licensing restrictions on Java ME. It basically says that Android phones will NOT be JME-powered, but you can write JSE programs to them. With Android, Google has introduced their own VM, Dalvik, which eventually does not make use of Java bytecode, but their own Dalvik format. It's all to get rid of Sun being involved in licensing.
It's another question how good or bad will it be to the community. It means a new variant on the horizon, a VM incapable of running so-far-standard Java bytecode, thus your midlets will have to be re-compiled. I can see why Google is happy to have their own solution to this problem, but I can also see why developers would be unhappy due to that they'll have to take just another Java variant into consideration. Even if their pockets will be full with (Google's) money.