Join Now

Random musings on mobile software development...

S60 vs Maemo

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!

N800  N95

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

 

Comments

Open to new

tote_b5 | 17/02/2008, 11:51

tote_b5

Mark,

I'm, for one, open to explore other areas than S60. Let it be another Symbian (UIQ) or something completely different - I'm in it. But although I've had some experience with Linux, too, I'm a bit afraid of going back to programming in C, which I thought to be the #1 programming language for Linux (mobile or other). Up until now, since e.g. Google has introduced their Linux-backed sw stack and the primary(?) programming language is Java. With access to every feature there exists. I've already heard rumours that the soon-to-be-introduced iPhone SDK would support Java, too. I'm more than happy to hear that and can hardly wait for a project on these platforms.

You know, I like Symbian, but I believe that my view to the world gets broader by exploring "horizontally" in mobile developer space. Not to mention the fact that I'd eventually become more valuable, too. :)

C vs C++ vs Java

Sorcery-ltd | 17/02/2008, 13:22

Sorcery-ltd

Thanks Tote, always good to get your opinion.

I don't really care what programming language I use (within reason - please no Visual Basic!). You're right that C is the major language for Linux. The kernel and drivers are written in C. User space programs can be C or C++ (or a mixture). The main user interface frameworks, Qt (recently bought by Nokia) and GTK+ are in C++ and C respectively. So I guess Maemo, using GTK+, tends to be mostly C programming at the moment. I think that C-style programming (although no reason not to do that in C++) is best for low level software/drivers and C++ is better for UI stuff.

If Java had really lived up to the write once run anywhere hype then it'd be great but on smartphone platforms at least it's currently not much more than an inefficient execution environment with restricted APIs.

I'm very concerned that Google's Java on Android is just making this worse as it is just another new variant and the VM isn't even standard. While I'd be happy to have a play with Android or the iPhone SDK I think I'll wait and see if either of them are likely to ship some significant device volumes before giving much of my own time to them. I'm much more interested in ways of getting the same code to run across lots of platforms with minimal changes.

Mark

You must login to post comments. Login
 
 
Powered by LifeType