Random musings on mobile software development...
Sorcery-ltd | 15 February, 2008 19:22
I'm a big fan of mobile devices as pocket-sized computers and get excited by the potential of truly mobile computing. Having worked for mobile phone manufacturers for most of my career, and now as a Forum Nokia Champion, I've generally had the latest greatest phone from back before there were colour screens or mobile internet access. -- The downside to that is I've also often been using them before they were ready by several months, not an experience to be recommended!
This has meant that until recently I've never actually bought a device from Nokia (in fact the only phone I'd ever bought was a chunky pre-paid Phillips model back in 2001). However I decided that a Nokia Internet Tablet would be the ideal Christmas present for my internet addicted father. Having played with his for a few hours I had to get one for myself!
I've had the N800 for a couple of weeks now and I think it's really fantastic! I went for the N800 rather than the N810 because it's a lot cheaper, my N95 can provide the missing GPS functionality (or a bluetooth GPS device which you'll find does a much better job) and as a touch typist I prefer to use a bluetooth keyboard when I need to do a lot of text input rather than the small qwerty built-in to the N810. Also, I find the rotating camera in the N800 easier to use for a video conference than the fixed one in the N810.
I was motivated to write this post becasue, since I got the N800, I haven't used my N95 for anything but calls and texts. The large screen on the N800 makes it far better for web browsing and I also find the browser downloads pages a lot faster. The internet tablet form factor is also better for gaming, videos and browsing through your music collection. With the vast majority of maemo software being completely free I've also already downloaded more software on the tablet than on my phone (which I've had for several months).
My phone still has several advantages though. It's small enough to fit comfortably in my pocket so I've always got it with me. It has a decent camera (you can't really use the tablet camera for taking pictures you'd want to keep). It can make phone calls and access the internet from almost anywhere (rather than just where there's WiFi).
Of course the 2 together gives me the best of both worlds. So for now I'll stick with both rather than one or the other - so S60 + Maemo rather than S60 vs Maemo. However, I'd like all the functionality in one box (well, I don't mind carrying a separate bluetooth keyboard for when some serious text input is needed). Will the final device be S60 Touch or an internet tablet with a cellular modem and better call and contacts software? I guess I'll have to wait and see.
From a developer perspective I think the Maemo platform would be a lot more popular than S60 if it weren't for the fact that there are over 150 million Symbian OS phones out there with more than a 1/3 of those have S60 3rd Edition. The numbers are growing fast too. In comparison the number of internet tablets is microscopic. I don't know the exact figure (anyone else like to comment?) but I don't believe it's really viable as a mass market commercial development platform yet.
S60 needs a lot more free and open source software (I believe people will be happy to buy good quality mobile software but you need a lot of free stuff to get into the habit of downloading and using it - it gives you more of an idea of what to expect) or Nokia (& others) need to sell a LOT more internet tablets (or both!). Ideally Nokia will include Maemo in its cross platform software initiative and we'll be able to port across the whole range with ease. Oddly, I think most of my development effort will be on Symbian based platforms for a while yet but I look forward to the day when I can justify some more time spent on Maemo. I say oddly because I think a lot more of my user time will be on an internet tablet this year. Something doesn't seem right there - maybe it's just because I'm towards the early adopter end of the spectrum but I'll have to think on it some more.
Anyone else out there who has used, or developed for, both platforms - you're thoughts and comments would be most welcome. Which do you prefer and why? How do you see the platforms evolving in the future?
Mark
Sorcery-ltd | 03 February, 2008 18:56
I've had a week to let the Trolltech news sink in so I thought I'd share my thoughts on it.
There's been a lot of discussion of Nokia's latest acquisition on the web. A number of Linux & FOSS fans are talking about the demise of Symbian. Some Symbian fans are confused by the move and worried about the nightmare of yet more fragmentation in the mobile developer space. There are also Maemo fans who are worried that Nokia is changing direction. The most sensible take I've seen on this comes from Nokia's own Quim Gill, manager of the Maemo platform.
Hardly anyone seems to be talking about the obvious benefit - PIPS and Open C on Symbian allow easier porting of open source projects BUT you still have to write the UI in native Symbian code. For an open source developer that means they still need to learn Symbian C++ and the S60 UI (which in my opinion is by far the worst bit of Symbian programming and the least well documented). Adding Qt to S60 to provide an alternative UI option opens the way for a lot more applications to be ported. If you look at the proliferation of completely free software available on Maemo (which adds enormous value to that platform) and compare it to what you can get for free on Symbian then I think you can only see this move as a good thing. Symbian APIs will probably still be required for specialist phone functionality, at least for a while, although I expect most developers won't need to care that the underlying OS is Symbian (apart from signing and PlatSec issues).
The next bonus is a clear intention (from the pretty pictures being presented as a background to the acquisition) to make a version of the Qt framework available on S40 - hopefully allowing much easier porting of applications to a truly enormous number of devices. I expect that, at least initially, this will be the Java version of Qt but perhaps one day we'll see C/C++ APIs opened up on S40, possibly sandboxed on a separate core on a next generation chip like this one from Broadcom? Maybe we'll even see S40 applications move to a Linux platform on such dual core chips eventually - the cost of the necessary processing power, RAM & Flash has fallen so fast it seems very possible.
The other advantage(?) of an open source framework from the perspective of a company like Nokia could be that it requires very little if any documentation. If you really need to find out some fine detail you can just look at the code (or ask someone who already understands it). As software platforms grow in complexity and generally tend to evolve more than they're designed, maintaining good developer documentation (particularly if you don't have any in the first place) is increasingly difficult, time-consuming and expensive. If you document as you go it increases time to market (because only the people writing the code understand it at that point). Third party developers can't wait for documentation after you've delivered the products because that impacts their time to market. So, if you want to continuously evolve and improve the platform then the simplest solution would seem to be to open up the source code!
It's my hope that this acquisition signals more openness in the future from Nokia. Both in terms of opening up new APIs and sharing more source code.
Thanks for reading and please share what you think the future holds in terms of Nokia, Linux & Openness?
Mark
Mobile and embedded software developer. Loves technology and loves to help people.
RDF Facets:
qfnZtypeQUqfnTypeZBlogContentQ
qfnZtypeQUqfnTypeZCommunityContentQ
qfnZtypeQUqfnTypeZWebpageQ
qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX