Trolltech's Qt development toolkit is serious stuff. As the foundation of KDE on the GNU/Linux desktop as well as its usage as a popular environment (when matched with Trolltech's Qtopia) for PDA interfaces, not to mention great support for Mac OS X, it is hard to imagine any tool that offers a comparably serious cross platform solution. With the third major release of the Qt 3 series last Wednesday, Trolltech CEO Haavard Nord graciously took some time to talk with us about Qt and related topics.
Qt Goes 64
With 2003 ushering in the era of 64-bit desktop computing, it was certainly time for a 64-bit development platform, and Trolltech has filled that need. Qt 3.3 offers full 64-bit support on all supported platforms. So, yes, your application compiled with Qt 3.3 will be able to enjoy the benefits of 64-bit processors on not only AMD64 processors running Windows or GNU/Linux, but also the PowerPC G5 running Mac OS X or LinuxPPC (Yellow Dog is presently beta testing 64-bit G5 PPC support).
Nord emphasized his enthusiasm for this functionality, “we are very happy to support this,” he noted. That's nice, but is anyone already using it? The answer is yes, according to Nord. He then pointed out that an electronics firm that is a Trolltech customer is already using it for intensive engineering work on chip designs. Nord continued, “They are dealing with layers and layers of data,” and thus are already really benefiting from 64-bit power.
Another issue that might concern some is whether it would be difficult to take advantage of this new 64-bit support. Nord explained that moving up to 64-bit is as simple as recompiling the application. “We are trying to shield the developers [from lower level work] … that is our primary job,” he explained.
“In a way, Qt resembles Java,” Nord continued, “Java has a rich library [in addition to being a language].” In the same way, he asserted, Qt completes C++, making it “a complete language and programming environment.” Indeed, Nord sees Trolltech's primary competitors as Java and Microsoft .Net.
And speaking of .Net, he also mentioned that those seeking to build .Net applications for Windows can now use Qt to do so. Nord seemed less optimistic about the same possibility on other platforms, responding to my question concerning the Qt# binding for Ximian's mono .Net suite as being “potentially interesting in the future,” but looking rather unpromising at the moment. He did note that it would be “interesting to see Windows forms on Linux as well,” but also pointed to the potential legal issues that doing so might entail.
The Embedded Front
Qt isn't just on the desktop, however, and we spent some time discussing Qt/Embedded and the Qtopia, an “application platform and user interface,” which is employed by Sharp in their line of Zaurus PDA's as well as Motorola in their Asian-market-only A760 smart phone. One question that seemed worth inquiring about was the state of Qtopia in Qt 3.3.
Here is a place where Trolltech has taken a conservative path with binary compatibility, and probably rightly so considering Palm's long time efforts to maintain compatibility on their devices. According to Nord, “We have chosen to base Qtopia on Qt 2.” He pointed out that some had reported success at running Qtopia on Qt 3, but most developers and users were looking to maintain compatibility with the Zaurus, and thus Qt 2 makes the most sense.
This does not mean Qtopia will be stuck in the Qt of the past forever. “The next big step for the company in the embedded space concerning Qtopia will come with Qt 4,” he told Open for Business. Will compatibility with existing applications continue? “Qt 2 and Qt 4 on the same device is technically feasible” he offered, but pointed out that many hardware manufacturers would probably want to save space rather than including two copies of Qt. It will be interesting to see how that turns out.
Qtopia's potentially largest chance for growth looks like it could come from Motorola's plans to roll out various Linux-based smart phones. During our conversation, Nord mentioned that Qtopia Phone Edition, optimized for devices requiring input using a phone's keypad rather than a touch screen, will be released in about two months. Of course, with a different method of input (the phone's keypad), some adjustments to applications may be necessary if they depend on the touch screen, but Nord did state that Trolltech supports using the same code base on both versions of Qtopia. “We support this … [but] there are some differences. … If you wrote a game and it required a pen it would be a fairly easy port to do.”
Success on the Mac Too
Qt isn't just on Linux or Windows, of course, and Open for Business was interested in to learn how response to Qt/Mac was doing. Nord sounded very positive about it. “Mac OS X has become a much better desktop and much more interesting” over the past few years, he explained. While Qt licensee Adobe has chosen not to so far, he pointed out that they could easily offer their Photoshop Album software for Mac and Linux if they wanted to.
There are actual Mac OS X success stories, and Nord talked about one during our conversation. He pointed us to Imagineer's Mokey high-end video editing tool. The tool, which is available for Mac OS X, as well as GNU/Linux, Irix and Windows, according to a Trolltech document, was used in Harry Potter and the Chamber of Secrets to edit out stage equipment from the movie. The paper notes that Imagineer adopted Qt for Mokey since it provided a powerful toolkit that was multi-platform. Since Qt is a high performance toolkit, it provided a practical solution for this need whereas Java did not.
On the Linux Desktop
Qt is probably best known by most for its usage as part of the popular KDE desktop, and for those interested in KDE, we wanted to know what was going to be happening with Qt 4 (the release of which will probably cause KDE to move to version 4 as well). While Nord said several 3.3.x releases were planned, it was “not clear if there will be 3.4 or not.” Overall, it would appear users would be better off if it turns out that the next major release is Qt 4. When I inquired about the next generation Qt, he explained that Trolltech is focusing on cleaning up the code base and improving performance. “We expect Qt to be 20-30% faster; use 20-30% less memory.”
As with the convention used by Qt previously, the 4.x release series will be binary incompatible with 3.x. However, Nord told us that the move to 4.x will be even easier than the move to 3.x was previously. “Our customers don't want infrastructure to change under their feet,” he continued. He also noted that Trolltech's paying customer base is very substantial, with over 3,500 paying customers at the moment.
With the potential for a substantial performance improvement, Qt 4 could be coming out about the time Nord estimates that GNU/Linux desktop adoption will start to become more mainstream. He remarked that there has been a shift in Qt purchasing over the past few years. “We have seen an interesting shift in the customer base … a large shift to developing on Linux.”
“I have a very strong belief in Linux on the desktop,” he continued, “the technology is ready.” He expects Linux on the desktop to be realized within the next year and expects the “market for Linux ISV's will” open up in that timeframe.
Why within a year and not last year or right now? “[The] Technology is basically there … [but] there are some issues still there.” In reference to Trolltech's newly announced membership to the Open Source Development Labs, he pointed to the need for those working on Linux's various technologies, including the competing Gtk+ toolkit, to get together and aim for a more unified desktop. He expects the needed progress to be made thanks to some big names that have recently become interested in desktop Linux. “I'm being positive because I'm seeing IBM and Novell.”
Open for Business editor-in-chief Timothy R. Butler talked with Haavard Nord by phone on February 4, 2004.