Monthly Archives: May 2011

Hope Returns for Linux Desktop

So you may be wondering why I care so much about finding the next generation desktop UI. I have expressed here my hope for Android and whether it works to bring the advances made in tablet UI design to the desktop. I have also expressed my dismay at how ugly, i.e. low usability, that the Linux desktop brings today. Windows 7 is fine but the underlying OS is not very good for developers needing the great tools that *nix brings. And that brings us to Mac.

Many have noticed how often you see developers using Macs. It seems to be the standard platform for the Android devs at Google. Many Eclipse developers are using them as evidenced by number of Apple logos on laptop lids you see looking out to the crowds at EclipseCon. The Mac seems to bring the best of both worlds to the developer, a great UI along with a powerful Unix operating system underneath.

But I have one problem with that. My employer won’t buy me a Mac, not many do. And I’m not willing to pay my own money to enter into the walled garden. My family is happy with their Windows PCs. It’s what they’re used to, and it runs the games they play. And I have more important things to spend money on.

So it all seemed like doom. The alternatives just weren’t there and my hopes seemed more like dreams. But something’s changed. Android does seem to be getting closer to the desktop as evidenced by the new tablet/netbook convertibles that are out and coming down the pipe. But the thing that has me excited actually is two advances in the last few months with Linux.

One, the Wayland display server seems to be gaining momentum. Or at least I’ve managed to build it and have seen it running. It throws away X, the bane of the Linux desktop experience, and replaces it with an OpenGL compositor. I expect that momentum to accelerate thanks to the second advance. And that is Qt 5 and it’s declaration of Wayland as one of it’s key target platforms. Combine that with graphics acceleration that becomes the heart of the Qt 5 architecture, I think the possibility now exists for a Linux desktop that looks as great as Mac and with the same *nix underpinnings. Perfect.

And with Qt’s use of declarative UI with JavaScript underpinnings, called QML, it should be easy to build a complete desktop environment. No Gnome. No KDE. Something new that gives us a new level of usability. My dreams are turning back into hope. Linux may just have it’s day yet. And developers will benefit.

Update: That reminds me, I think the Eclipse front end should be replaced with Qt 5. It runs everywhere Eclipse does. Now that would be something…

Qt 5 #ftw

I just finished reading Lars Knoll’s blog and his whitepaper on Qt 5, the next major version of Qt. I don’t think their plans can get any better. I am an instant fan.

They are planning on making it a true open source project “from day 1.” This is critical to the future success of Qt 5, especially given all the questions over Nokia’s future direction with Qt. While it helps with the trust factor, it’s also a great move by Nokia who are showing they are concerned for Qt’s future and community.

The most exciting stuff though is technical. They recognize that user interfaces are going through dramatic change. And that hardware accelerated graphics is at the root of that change. People want to manipulate objects in their applications, not stare at static widgets. As I mentioned to a colleague the other day, people want their user interfaces to be real, for the objects to have realistic physical properties, to have weight. With the architectural changes they are planning for Qt 5, it’ll be a lot easier to build such interfaces.

There’s also the recognition that people don’t want to write reams of code to make these interfaces happen. Qt will bring their markup language, QML, front and center to the developer. JavaScript, using Google’s V8 engine, will be the secondary programming language. C++ will still be available but you only need to use it where you need to use it. Again, all this is focused on making applications easier to build.

One of the key advantages of Qt has been multi-platform support. With the focus on using scenegraph’s as the key composition mechanism, the requirements on the host windowing system is reduced greatly. And with their new Lighthouse architecture, porting will be even easier. And what that should lead to is the quick arrival of ports to Android and iOS, bridging the gap between the desktop and mobile device like no one else has. And with Wayland given prominence as one of the primary supported platforms, my hopes for a revamped Linux desktop are given a lifeline.

I’m pretty pumped about this news (obviously). And I’m excited for the future of computing devices with truly usable UIs. But seeing this news, along with watching demos of Apple’s new tablet apps (especially Garageband), Android’s Honeycomb, RIM’s Playbook with the TAT interface, Eclipse’s UI all of a sudden looks very old. I’m not sure if Eclipse 4.x gets us any closer to this level, but I’ll be very curious to see how we can bridge Eclipse onto the new Qt 5. This is where I fear for the future of Eclipse.