Archive for the 'Uncategorized' Category

20
Aug
09

The State of Android Development, the way I see it

The past couple of weeks I’ve been learning how to develop apps for Google’s Android platform. I’ve looked at it before but only at a high level, these past weeks I have actually been using it for real. So what do I think?

A future conquer?

Well its obvious that this platform has some serious potential. The promise of an embedded Linux platform that is tailored for the mobile, MID and even the net book markets gives a sense of the scale of what Android is trying to achieve. It can look very slick, it can do some really cool things but yet it is distinctly lacking in key areas.

So whats the problem?

There are three major area’s where Android falls behind the likes of the iPhone platform (discounting the terrible state of the Android Market but that’s something else entirely), they are documentation, a stable API, and development tools.

Documentation

Lets face it, the documentation for the Android SDK is poor to say the least. There is a shortage of example code (see my next point) and whist the official documentation looks pretty good on the surface, it too is missing key parts. Books quickly become out of date and the internet is full of potential android developers stumbling at every hurdle whist they try to figure out the way to achieve what they need.

One notable example here is the online books from CommonsWare. The online nature of these publications means that they can be constantly updated and CommonsWare do a great job of ensuring that their text is still relevant. Which leads me on to …

A stable API

The Android platform is very much in its infancy. Parts of the SDK change at a rate of knots and the poor developers have to keep pace if their apps are to work on the latest releases. This may be fine for a seasoned Android developer who will quickly come up to speed with the new changes, but the developer just starting out ends up falling into the trap of obsolete code.

There are a lot of code snippets, example programs and forums talking about how to use the Android SDK but so much of it is out of date. The rapidly changing SDK makes these once valuable resources a hurdle for the new developer, tripping them up until they realize that the way to do what they wanted has now changed.

Development tools

Now I’m not saying that XCode is the greatest development environment out there, it has its own problems, but for the developer just starting out, XCode becomes immensely valuable. Contrast this to the Eclipse integration that Android has. The editor is slow, the ‘interface builder’ (the bit you use to graphically layout screens) is pretty useless and the somewhat temperamental nature when compiling and running the app make it the bucking bronco of development environments. Some parts of the tool are just great, code completion, the vast amount of plugin’s you can use and auto insertion of dependencies make it something that you have to use but never really enjoy.

So whats the answer?

Being an open source developer, one never likes to complain about something without either fixing it ones self of suggesting a way of doing it. Well, this is a tough one.

Google have a tight hold on the official release of the Android platform so the rapid SDK changes aren’t going to go away. Eclipse has performance issues that I would have no idea how to fix so that leaves documentation, something I can change.

From now on there will be an Android section on this blog that will try to keep pace with the rapidly changing development side of Android whist providing some tutorials that the beginner will find helpful. So, stay tuned for more.

22
Jul
09

Maemo Summit registration is now open

Registration for the second Maemo Summit, to be held on the 9th, 10th and 11th of October at WesterGasFabriek, Amsterdam is now open. It promises to be a great event just like last year, so go register now!

On a related note, the schedule is filling up but there is still time for you to submit a talk proposal. If you have a cool subject to talk about, either in a lightning session or longer talk format then you should edit the wiki as soon as possible.

21
Jul
09

Launchpad is now Open Source!

Its been done to death already but it deserves more praise, Launchpad, the project hosting infrastructure (and so much more) utilising bazaar has been released as open source. Congratulations to the Launchpad Team!

The announcement can be found here and the new #launchpad-dev channel on freenode should be used for any Launchpad code questions.

This really is a massive move by Canonical and lets hope this furthers the adoption of Linux by making development so much easier.

07
Jul
09

Qt and Nokia, the bigger plan?

So, it has been announced that Nokia is to adopt Qt as its preferred toolkit for the next-but-one iteration of the Maemo platform, Harmattan. This has stirred up a little developer concern as GTK and C developers contemplate switching to Qt and C++ but is this really warranted? and what are Nokia’s reasons for the switch? Well, it seems that Nokia has no other choice if it wants to continue to compete in a very different world from the one it has dominated for the past several years and here’s why.

Apple

No-one can deny that Apple has completely pushed the boundaries of what the smart phone users of this world expect. They want bling, they want pizazz and most importantly they want it all to work with their PC (or Mac). The iPhone ecosystem ‘just works’. Its pretty robust and offers a rich user interface-come-desktop-tie-in that no other mobile device can compete with at the moment. I met with a very ambitious start-up today that are banking a large proportion of their future business on the iPhone but yet hate the development experience. How can a platform that its developers really don’t like succeed and succeed to the extent that the Apple model does? The development rewards, that’s how!

Although pretty slim, there is a chance that “your cool app (TM)” will succeed in the app store and make you a small fortune and believe it or not, you lottery playing skeptics, this is a big incentive for developers. Nothing else competes with the low barrier for entry and the potential rewards at the moment. The hardware is great, especially the new iPhone S, and the development has the XCode eco-system behind it meaning that, while not straightforward, development is seldom insurmountable.

The down-trade for these riches? You sell your soul to Apple (maybe, I haven’t read through the fine print yet).

The Bigger Threat, Android

Android for me is what has got everyone scared. A free-to-license mobile operating system and SDK with the clout of Google behind it. Its like the 500lb gorilla in the corner that ‘has a pleasant nature’ but it could also rip the head of the mobile industry if it wanted, and oh how I think it wants to in 2010.

Android is the major player here. Apple may have the numbers at the moment but there is a huge amount of people who refuse to buy Apple for one reason or another and for them (some 90% of the desktop population for comparison) they need an alternative. Android will be rolled out in a scale unknown to the mobile industry. I predict that every manufacturer will have an Android based phone by the end of next year, Nokia included, and that pretty rapidly it will become an Android Vs iPhone war for the smart-phone crown. So where does Nokia’s flagship Symbian fit in?

Symbian is a transport mechanism, we sell phones!

Unfortunately for the Symbian guys (and gals) I think Nokia’s transposition to a more service and app based company will leave Symbian behind. The push to bring Qt to Symbian signals Nokia’s intent for a cross-platform ecosystem and the natural progression from this would be to completely take out the hardware below and concentrate on the higher level. Why would Nokia continue to push Symbian, and for that fact Maemo, if they could satisfy their main business objectives on any platform that Qt is available? At the moment that includes everything but the iPhone. The other telling fact is that Nokia are concentrating on bringing Qt to Android.

I believe that Nokia know that they cannot compete with Apple or in fact Google. Google have brought out “the alternative”. Motorola, LG, Samsung and other members from the LiMo Foundation have seen the writing on the wall and have concentrated their efforts on Android instead of their own Linux based solution and while Nokia continue to hold 40% of the mobile phone business, they must be looking at where they fit in for the future generation of mobile users.

Nokia’s willingness to port Qt to any and every platform gets me thinking that they know their dominance of the market is over. Their acquisition of Trolltech’s Qt software stack did have me wondering what they were hoping to achieve at the time of purchase but for me its clear now that Nokia are “betting the farm” on Qt’s success on every platform.

Whether that happens of not, we will just have to see.

06
Jul
09

Call for Content, a Reminder

The 2009 Maemo Summit call for content has been open now for a few weeks and we have been receiving some good suggestions but we need more!

Currently Dave Neary, Valério Valério and myself have been going over the submissions, ironing out the details and approving (mostly) the talks but the schedule still has plenty room for more. If you have a suggestion for a cool talk, a lightning session or would like to speak but need help, then make yourself heard now!

Make a suggestion with your subject being pitched to either Users, App Developers, or Platform Developers. It doesn’t have to be a full 25 minute talk, it can also be a 5 minute Lightning session.

So what are you waiting for?

10
Jun
09

Speed test

It seems all the cool kids are doing it so here’s mine, results from SpeedTest.net.

09
Jun
09

Fear, uncertainty, doubt (FUD)

(EDIT: planet.maemo.org I apologize for the seemingly personal post but it has other connotations, honest).

It would be a little pompous of me to say, today we should all be living in a fearful community where as part of the employed masses, we should contemplate our job futures. But with the same token it would predominately be true. Every day it seems we are bombarded with news that company x, multi-conglomerate y, is venting a whole host of talent that are shell shocked at being relieved of their livelihood. A whole host of talent seemingly gone to short-term waste and although we are sympathetic, its a little ‘off the radar’.

Well, what if every unemployed person was given a FLOSS course and assigned a project to either document, use and report bugs on, or even contribute code to? Not only would it give the individual a valuable means of education, it would benefit free software users in general. We would see unprecedented levels of contribution. Unprecedented coverage. WOW, maybe I should run for local council here in the UK and push these issues 😉

So, why do I bring this up? Well, my current company, as are many companies, are trying to find their way in a down-turn market and inevitable that means cutbacks. So I’m free for business so to speak. There are many things to pursue but some things stand out more than others. LinuxUK as an entity is great, a growing business, contractual and predominately short-term contract based, and it will continue to be that way. But I don’t think it can sustain another full-time employee, namely me.

So what would be the dream job of a 30 year old senior software engineer with 10 years commercial experience and a pretty good track record in the open source environment? Well, one just has too look at the like of InDT (WOW!), Nokia’s Maemo initiative, Openismus and CodeThink to see some very cool companies. Companies that are pushing the boat out. Companies that any FOSS developer would be proud of being a part of. So, I guess, as an out of work FOSS fanatic, there are possibilities.

So what does the future hold? I guarantee its immensely cool and productive, but lets wait and see!