Thursday, May 7, 2009

Nokia Developer Summit 2009

Last week I was lucky enough to attended the 2009 Nokia Developer Summit in beautiful Monte Carlo, Monaco. Not a bad destination to have to travel to huh. The conference was split into two tracks, Technology vs Business, and I attended the technical sessions.

I thought the overall theme was Nokia attempting to make the case that it is they who offer the most OPEN and developer friendly mobile platform today. They first acknowledged the difficulty of Symbian C++ as a programming environment and presented two new technologies to improve S60 development moving forward (and likely leaving Symbian C++ behind).

Web Runtime Widgets

The new S60 platform will support something called “Web Runtime widgets”. This will make it very easy for today’s web programmers to develop small applications for S60 using open tools and languages that they are already familiar with (HTML, CSS, JavaScript™, and AJAX). These can be “live” applications that are running on your main screen and don’t need to be manually launched. Imagine for example a news application continuously scrolling the latest headlines and sports scores across your screen.

As you may remember when the iPhone first launched this was the only method of programming for it. It appears that Palm’s WebOS (i.e. Palm Pre) will only support this model of development. Many (most?) applications today are being developed with these web technologies so it is great to see Nokia embracing that community.

To help make the point of how easy widgets are to create Nokia held a “hackathon” competition where by which developers competed to create cool and useful widgets over the two day show.

Qt

Qt (pronounced as "cute”) is a well known programming “toolkit” for developing cross platform C++ GUI applications. The idea is that you develop your application using Qt and (in theory) it should be able to run unchanged on Windows, Mac, and Linux. Developing cross platform C++ GUI applications has traditionally been an extremely difficult task to achieve. Google Earth is one well known product that uses it. There has been some controversy and resistance to this product though because of its non-free license. In June of 2008 Nokia acquired the company (called Trolltech) and immediately made the license completely free and announced that it would soon support S60. This means (again in theory) that one could easily develop a C++ GUI application that runs on Windows, Mac, Linux, S60 and Windows Mobile unchanged. Pretty damn cool. A developer asked about iPhone support and the speaker said that technically it is trivial to add support for but currently Apple’s terms and conditions forbid it (insert expletive here).

Qt supports bindings to OpenGL, the standard 3D graphics API, so it is not hard to imagine game developers choosing this technology to create excellent cross platform games.

To help make the point of how easy Qt development is a presenter created a Qt C++ “web browser” application live on stage in 5 minutes. This is something that certainly couldn’t be done with Symbian C++.

Maemo

One question that remains unanswered is the future of “Maemo”. Maemo is an open source mobile platform based on Linux. Nokia uses it on the N810 “Internet Tablet”. It supports VoIP but it does not (currently) support traditional telephony technology. Based on Linux it already supports many of the open and standard technologies described above that S60 is trying to add. There has been speculation that perhaps Nokia is secretly planning to make it the smart phone platform of the future and either leave S60 behind OR relegate it to low / medium end devices. When asked about the Maemo vs S60 question the presenter essentially gave no answer.

Summary

Overall I thought the conference went very well. Personally I found it very heartening to see Nokia acknowledge weaknesses of their platform and present technologies that I do think could make a big difference moving forward. They are slow but I think moving in the right direction.

Video and slides from the event are available on the 2009 Nokia Developer Summit site.

No comments: