Embedded Development on the Qt
An Interview with Trolltech CEO Haavard Nord
If you were at LinuxWorld Conference & Expo in New York last month, you may have caught IBM's demo of its PowerPC 405LP-based PDA reference design. Though IBM has deigned Linux-based routers and set-top controllers, the 405LP design was IBM's first Linux-based PDA.
On February 12, Norway's Trolltech AS formally announced its relationship with IBM, which is using Trolltech's ATopia office application suite as part of its 405LP design. LinuxPlanet caught up with the nine-year-old company's CEO Haavard Nord to ask him about the IBM deal, the latest on Trolltech's Qt libraries, the embedded device market, and about what Sun could learn from Trolltech's dual-licensing scheme.
LinuxPlanet: What is Trolltech's relationship with IBM?
Havaard Nord: We have for a long time been working closely with IBM. We have both seen the need for coming up with a well-defined platform for embedded Linux devices. With this announcement, we formalized the cooperation with IBM. The device demonstrated at Linuxworld was the first reference device using a combination of IBM software and TrollTech software.
LP: So right now, the deal you have is only for this one reference platform?
Nord: It is the start of a long-term relationship between TrollTech and IBM.
LP: Did you have any relationship with IBM before this?
Nord: We had actually worked previously with IBM. We helped IBM port ViaVoice, and create a voice-enabled interface to the KDE desktop almost two years ago.
LP: Is IBM contributing any technology to Qt?
Nord: IBM isn't contributing to the Qt codebase, but they are adding technology on the platform, but I do not think IBM is really ready to speak about this before they make a press release about this. But they are definitely adding technology.
LP: Does this mean that any reference platform coming out of IBM that involves a GUI will now include Qtopia?
Nord: Qtopia will be part of any Linux-based platform IBM creates. Qtopia has also been chosen as the standard for Sharp's line of PDAs.
LP: But do you think that Qtopia and Qt/Embedded will have applications beyond the PDA?
Nord: I think applications are one of the very strong points of Qtopia. When Sharp released Qtopia on the PDA, there were no more than 600 applications. I met Sharp a few days ago in Japan, and their community person said they were closer to 1,000 applications, including commercial software. Some of these applications are types of instant messaging applications, some are games; we have also seen that applications have been developed for a coming smart phone. We're seeing a trend that embedded Linux and Qtopia are moving into the phone space.
With the GPL and commercial licensing of Qtopia, it's attractive to both the open source community, and also to companies.
LP: IBM is also a big supporter of Java, but I'm unsure how that plays into their embedded products. Is Qt/Embedded basically the alternative to Java?
Nord: That's a very good question. Actually, Qt and Java are not competitors. They are very complimentary. For instance on the Sharp PDA, you have both Qt and Java running side-by-side in seamless integration where Java applications have the native look and feel, so they look exactly like Qt applications.
Qt is used to write all the types of applications that you would use Java to write. When it comes to email clients, instant messaging clients, and any application that requires a sophisticated user interface, Qt is the right choice for that. When it comes to the enterprise applications and also some downloadable applets, Java is the best choice for that.
When we came up with Qt/Embedded, we saw the need for integrating Java with the platform, and we created a layer called QtAWT, which made it possible to integrate Java seamlessly together with QT Embedded.
LP: I assume that this is related to the AWT libraries
Nord: The way it works is, if a Java application makes an AWT call, it is interpreted by QtAWT and instead of the Xlib, it is sent to Qt.
LP: What if it's a Swing call?
Nord: Swing is a rather large and slow library on top of Java, and I have not seen any use of Swing in embedded products at all. You need at least a one gigahertz CPU to run Swing applications. Swing is more or less abandoned as a GUI layer for Java. There has been much criticism of Swing. We think that Swing is actually very little used, even on the desktop.
LP: There's something I've always wanted to ask you about Java. A lot of people have suggested that an open source license for Java would strengthen the platform, but it's always seemed to me that Sun could learn something from TrollTech and adopt the kind of dual-track licensing that you have with the Qt libraries. Do you think that that would be an appropriate approach for Java.
Nord: I think it could perhaps be that. That is, of course, up to Sun.
LP: So are there reasons why this dual approach to licensing would not work for Java?
Nord: You know, in terms of licensing, Qt and Java are fairly comparable, and applying dual license for Java, in my view, would probably make sense. We have had a dual licensing scheme for five or six years now. It has been extremely good for the company. Over the last four years we have actually doubled sales every year -- also in the recent downturn. The dual licensing really works. It gives the open source community the best tool available, and it gives the commercial developers a tool that is widely used -- it is very easy to recruit Qt developers. The tool is very robust, and there are so many developers using it.