The Qt Future - Mobile on Nokia
by Dj Walker-Morgan
The H went along to Qt Dev Days where Nokia outlined their plans for the open source user interface framework, placing it at the core of its mobile application development.
When Nokia acquired Trolltech, there was a question mark over Nokia's long term strategy for the Qt framework. Qt for many, is the toolkit behind the KDE desktop and it's associated applications, so what would a phone company do with it. Over the past years, the strategy has steadily crystallised, and at this years Qt Dev Day, Rich Green, the new CTO at Nokia and first Nokia CTO to speak at the annual Qt developer conference, confirmed that Qt is core to all of Nokia's plans for mobile applications; "We're betting the whole company and smartphones on Qt" Green told the audience at the opening keynote.
Over the years Qt has had a number of audiences for its C++ framework as it has grown from 80,000 lines of code and two developers, for Unix/X11 only, to over thirty million lines of code and over two hundred developers, running on Linux, Unix, Windows, Symbian, Maemo and being embeded in consumer electronic devices. It was the latter platforms, Symbian and Maemo, where Nokia originally saw the potential for Qt, to provide them with a toolkit which could address both of the company's mobile phone platforms, though since then the Maemo development effort has been replaced by the company's work on the collaborative development of MeeGo with Intel and the Linux Foundation. MeeGo is also using Qt as a way of developing and delivering applications.
Nokia plans to use Qt as the only user interface stack on its smartphones and feature-phones and aims to make it simple, for example, for developers to write an application for Symbian and run it on Meego, when devices running the new operating system arrive. This isn't just a platform for application developers though; Green says the company is "dogfooding" Qt, using it for all the software on the phones it delivers. This plan is working its way through Nokia's delivered devices. For example, currently the Symbian 3 based Nokia N8 has the operating systems built-in applications user interfaces written with older Symbian toolkits, but is already capable of running Qt based applications. Future generations of Symbian will have those built in applications written in Qt.
The focus on Symbian and Meego means Nokia is increasing its investment in Qt on those platforms, specifically in the development of Qt Quick components and Qt Mobility APIs. But this focus is not without casualties; Sebastian Nyström, in charting the future roadmap of Qt, said that although investment would be maintained in the Windows, Mac and Linux X11 versions of Qt and Qt for Embedded Linux, the company would be decreasing its investment in Qt on AIX, Solaris, HP-UX, Windows CE, S60 and Maemo 5 and would be pushing Qt3 users to migrate to Qt4. Green refuted the suggestion that the desktop applications were "on the back burner"; "We know where the community and the fame and value of Qt came from" he told The H, "and I think for us to maintain that relationship with developers we have the obligation".
One key part of the roadmap, and the predominant focus of the sessions at the Qt Dev Days was the Qt Quick declarative UI technology. Previously, Qt developers have assembled their user interfaces in C++ code, a process which created a mismatch between graphic designers concepts for an application and the developers delivered code. With Qt Quick, the idea is to separate out the user interface definition into a QML (Qt Meta-Object Language) file.
Nokia hopes to attract a wider audience to the Qt platform with Qt Quick, specifically mobile application developers and designers who are writing for other mobile platforms. It isn't expecting its existing base of developers, skilled in C++, to switch over to Qt Quick, although it hopes they will find benefits to the new way of creating Qt applications. For example, in one demonstration of Qt Quick, Nokia's Richard Collin showed how it took only 130 lines of code to create a "Cover flow" like album art browser, with three dimensional transitions and animation that kicked in when the user moved between covers. Nokia hopes that bringing designers more directly into the application development community by providing the powerful tools in Qt Quick will bring a wider range of graphical experience to Qt applications, making creating them quicker and offering visually richer results which make best use of the underlying hardware.