EC approves Nokia's acquisition of Qt platform producer Trolltech
It was widely reported today that the European Commission approved the buyout of "widget maker" Trolltech, by Nokia. What isn't widely known is that Nokia has acquired something of real substance...and maybe even Nokia doesn't know it.
A statement from Brussels this morning indicates that the European Commission has completed its review of the proposed acquisition of embedded Linux development tools provider Trolltech by wireless device giant Nokia, a deal announced last January. It's clearing the acquisition, under the theory that should Nokia decide to limit Trolltech to producing tools only for Nokia equipment, one less tools provider in the market won't be much of a loss.
"The Commission's investigation showed that Trolltech's products have a limited market presence and that Nokia's competitors would have several credible alternatives to Trolltech's products, if, after the transaction Nokia were to decide to no longer supply Trolltech's products to rival handset manufacturers," reads this morning's statement. "Such alternatives include, amongst others, Purple Labs, MIZI Research, Access Linux Platform, Azingo Mobile, the GNOME Mobile Platform and the LiMO platform, a platform released by the LiMo Foundation, a global consortium of mobile network operators and handset manufacturers, including Motorola, NEC, NTT DoCoMo, Panasonic, Samsung and Vodafone."
What the EC's investigation may have missed is perhaps the crown jewel of Trolltech's portfolio, perhaps one key reason why Nokia decided to acquire it outright rather than license it: Trolltech is the principal provider of the Qt platform, a framework for C++ applications written for embedded Linux. Trolltech also produces embedded Linux implementations.
What makes Qt unique is an architectural element Trolltech helped introduce to C++ programming years ago -- something even Microsoft could have used during a time when it had difficulty with low-level language innovations. It's a concept for binding graphic objects to response functions that avoids the use of complex "object brokers," such as the kind Microsoft ended up creating with the Component Object Model.
Since no other phrase or acronym has been invented for it, it continues to be called simply "signals and slots." Anyone who's developed a Web page in JavaScript knows that certain functions are made to be triggered whenever certain named events take place. Qt enables a similar functionality, but on a much lower level and much more directly.
As a recent Trolltech white paper explains (PDF available here), the system involves creating an event-like structure called "events" which are fired when something occurs with respect to a control. The signals a control can fire are declared directly in the class for that control using what looks to be a keyword -- signals -- declared right along with the public and private member functions of the control's class. "Slots" which represent the functions that respond to signals, are also declared within the class, but this time within a public bracket of member type slots -- not unlike a Public Event procedure in Visual Basic. So the control is represented by a class, as opposed to some superstructure composed by imported class libraries.
Since signals isn't exactly your typical standard C++ keyword, the Qt development system handles this little peculiarity with a meta-object compiler called moc and a C++ preprocessor, which are both included in the Qt development system.
The products of this development system have, over the years, been described as "widgets" -- and it's this characterization which has managed, more recently, to cause journalists and analysts to lump Trolltech into a big pile of other "widget providers," such as those the EC named this morning. In actuality, some of the real-world culminations of Qt architecture outside of "widgets" have included computer-aided design systems at Boeing, core components for Google's server-driven applications such as Google Earth, and the Opera Web browser.
So it would appear the EC has missed one of Trolltech's principal distinguishing elements, something which it would be sad to lose should Nokia move Trolltech's IP into a closed environment.
Back in January, Nokia claimed its goal would be to promote the continued use of Qt in the free and open source markets, but that was largely taken to mean its use in cell phones and, as Trolltech describes them, "single-purpose devices powered by embedded Linux." There's a whole world of functionality that it would be a shame not to acknowledge simply because it didn't fit the slot Nokia had in mind for it.