November 30, 2011, 11:53 AM — In an effort to slim down and improve its cross-platform capabilities, the developers of the Chrome browser and ChromeOS itself appear to be shifting away from Gtk use.
This bit of information was quietly pointed out earlier in the month on the Aura window manager pages for the Chromium Projects. Chromium is the open source implementation of Chrome and ChromeOS, and Aura is the new window manager and shell environment that will support the various interface elements on these implementations.
Gtk is not the only windowing toolset that's getting the boot in Chromium: the hWnd native controls for the Win32 API will be dropped as well.
The reasons for removing Gtk (and hWnd) from Chromium are straightforward: the developers of Chromium want the downstream Chrome browser to be more platform-independent, so they can build more platform versions faster. ChromeOS, which is of course its own platform, benefits from these changes by being much more easily scaled to run on a variety of hardware platforms.
Aura is still an early build, though you can see some elements of it in this demo video.
On its own, this move away from Gtk is not earth shattering… projects switch interface controls all of the time. But this particular move struck me as more interesting than most, since there was a little fanfare back in 2009, when Google and the Chromium developers chose to go with Gtk over Qt.
But stepping back into a broader context, I get a sense that Gtk as a development platform may be facing some bumps in the days ahead… especially in the mobile sector.
I realize I may be getting close to touching the third rail of Linux development, but let me walk through this one. The reason Gtk was dropped from Chromium, for instance, was to reduce the footprint of Chrome and ChromeOS. In 2008, the OpenMoko mobile phone project dumped Gtk and switched to Qt for the same reason.
The technical explanation for this is purported to be because Qt on embedded devices doesn't need a separate window manager, while Gtk requires X Window and a window manager to be run, thus increasing its memory format.
This is interesting from a historical perspective, because some developers will tell you that on a desktop platform, Gtk is more lightweight than Qt applications.
This might explain why, for instance, Meego (when it was still called Meego) for embedded devices used Qt and the netbook version used Gtk.
Then there's the activity around Qt and Canonical, which seems intent on pushing Ubuntu into the mobile space. Last month's release of Ubuntu 11.10 was the first release of Ubuntu to include the Qt toolkit. When the move was first announced in early 2011, Mark Shuttleworth wrote:
"The decision to be open to Qt is in no way a criticism of GNOME. It's a celebration of free software's diversity and complexity. Those values of ease of use and integration remain shared values with GNOME, and a great basis for collaboration with GNOME developers and project members."
But the recent revelations from Shuttleworth about Canonical's mobile plans for Ubuntu now have me wondering if Qt's inclusion in Ubuntu is also paving the way for an easier embedded development experience. I don't think this mobile future precludes Gtk on desktop Ubuntu, but it might very well mean mobile versions of Ubuntu will be leaning more on Qt.
Today's keynote by Canonical Community Manager Jono Bacon at the US Qt Developer Days conference could be an interesting look at what that future might look like.
So is Gtk for mobile a doomed venture? I will stop short of that declaration. The Gtk development ecosystem is rich with innovation and talent, and they certainly have the means to make Gtk a toolkit that would be of interest to mobile developers. Now that Gtk supports HTML5, too, it levels the web application playing field against Qt.
And, before anyone gets carried away and declares a victory for Qt in mobile space, please note that the aforementioned Aura window manager didn't use Qt tools, either--the Chromium team is building their own.
As I wrote in the opening, Gtk could be heading for bumps ahead. And a bumpy road, while unpleasant, is still better than a cliff.
Read more of Brian Proffitt's Open for Discussion blog and follow the latest IT news at ITworld. Drop Brian a line or follow Brian on Twitter at @TheTechScribe. For the latest IT news, analysis and how-tos, follow ITworld on Twitter and Facebook.