After testing the KDE Plasma Netbook workspace quite thoroughly over the last few weeks, I got myself thinking. Is there something inherently successful about KDE, or the enabling framework underneath the hood, called Qt? Not that I’m any big fan of mobile technologies, still, I can appreciate good, thorough design when it happens. So I decided to explore this venue, from the purely user space perspective.
Examples, examples, examples
This is much like Steve Ballmer’s Developers Developers Developers slogan, only different. Anyhow, without boring you with history lessons on how Qt came to be, purchased, sold and acquired by different companies, it is one of the leading frameworks for development of GUI and applications. It runs well on a range of platforms, including Windows, OS X, X11, Android, iOS, Wayland, and other merry fellows. This makes it a nice technological bridge, and a fertile ground for Borg-style market takeovers. In other words, the resistance is futile, but if you want, we have a beautiful, native port for your platform, if you will.
However, the cross-platform compatibility is but a prerequisite, a hors d’ouevre (a horse from Dover, my old joke) to what we’re discussing today. No less important is the vertical stack, from the barebone drivers and buses all the way up to the presentation layer for users. Let’s see what we have here.
KDE is probably the best example for Linux users. It’s no stranger, and we know what to expect. Easy brand recognizability, plus you get to run your KDE on desktops, netbooks and even tablets or smartphones, simply because the framework is flexible and extensible. You can even run on Windows, if you like, and the basic idea is that you can have your favorite application stack anywhere you go, retaining the functionality and the familiar aesthetics. Today though, most of the development is focused on the mobile world, where the fastest benefits can be shown if the right steps are done.
Ubuntu & Mir
Another hot potato in the Linux world. Dissatisfied with the portability and flexibility of the X stack, supposedly, Canonical is switching the development of Unity to Qt/QML. But there’s more than that, really. Making this kind of makeover also means easy, perhaps instant portability to Android and other mobile platforms, and this is exactly what the company has in mind. Quite understandable. Just to make things more interesting and a tad more confusing, it’s going to be called Mir, as opposed to Wayland, which should be the X stack TNG.
No, not that kind of Mir.
Anyhow, as the somewhat hated de-facto leader of the Linux world, take it or leave it, Ubuntu has the necessary exposure to demonstrate its use case. Perhaps Qt is its best chance to grab a slice of the market pie in the mobile world, create the minimal critical awareness factor, then expand through the stack back to its traditional desktop world, without the overhead and complexity of maintaining multiple and different frameworks. Bold move, let’s see if they can pull it off.
However, the most interesting part is the War of the Roses in the Linux world, Mir versus Wayland, and the ever not so subtle way camps are rooting for their champion, which leaves you with technology and bias all mixed together. As far as I’m concerned, this is spicy food for the next round of writing, but now, let’s focus on Qt and its cute powers.
Jolla is a Finnish developer of smartphones, currently working on Sailfish OS, which is a sort of a direct continuation of the now disbanded MeeGo project. Now, try to guess what technology Jolla is going to use in its operating system? The answer is, yes, you guessed correctly. It’s Qt, plus some HTML5. And there’s a Sailfish SDK shaping up, which is a must for any company that wants to be taken seriously.
Once upon a time, I thought Moblin, and then MeeGo to be an interesting concept that could work well on small devices. I was not mistaken, as comparable solutions swept the market. MeeGo was orphaned, but Jolla might actually succeed, provided it gives the users what they need – the right dose of functionality, simple and pleasing looks and mandatory flexibility for application developers. Going Qt is a reasonable choice, because people creating software do not need to grow yet another expertise, they have a familiar, solid background, plus the knowledge their products could potentially be used on another half a dozen platforms and as many operating systems. No lines of code wasted.
Did someone say, Blackberry? Yup, there’s Qt for Blackberry. Now, Blackberry might not be as popular as it once was, but that does not seem to stop Qt from having a port and a proper development kit for PlayBook tablet products and Blackberry 10. To make things even more interesting, there’s also a KDE community project for Blackberry. Not sure how this is going to play out, but it’s something worth considering.
I’ve kept the most interesting for the last. Qt applications for Android come in the form of KDE Necessitas project, which offers its own SDK, which itself uses the Android NDK. The technical details are less important, what matters is that developers can focus on making Qt software knowing there’s a fairly easy way to get their stuff to work on Android. This should definitely be a very good incentive to anyone seeking instant startup exit in the mobile market. Sort of.
Digressing from my purely user space interest, I downloaded the Necessitas SDK to see what it can really do and offer someone who might want to develop software for Android. Anyhow, it looks serious. During the setup, you can download almost 6GB worth of data before you even glimpse the IDE for the first time. If you’re in a hurry, you can install only the basic packages and then add the rest as you please. Now, if you’ve never developed code, the Qt Creator will look overwhelming, but it has everything you need to get going. For professionals looking to branch out to Android without losing the familiar ground of Qt, this kit seems like a very decent option.
And you can see a preview of Qt5 on Android on the official site.
Using the Web browser analogy, for me, Qt is somewhat like Webkit. It seems to be growing at a rapid pace, and most importantly, it is growing in all dimensions. If I had to bet my money on the dominant development technology for applications in the coming decade, I would probably say Qt. It’s a risky claim, but it makes a lot of sense, especially if you’ve read this article just now. Having one familiar framework that spans platforms across the board and offers consistent, flexible functionality is a huge bonus for those who seek to invest their intellectual assets in future development.
Naturally, big players in the field will dictate the pace and innovation, and sometimes even stem it, stall it or take the lead in a new, bold, unknown direction. Which is why it’s important to have a cheap way of winning hearts. It would be nice to see Qt take claim on Android and friends. That would mean more success for KDE and possibly Unity, and in turn, this would mean more fun for Linux users on the conventional computing platforms. Games, programs, you name it, when there’s a demand, there’s someone to supply it. From this perspective, the KDE almost mechanical precision makes a lot of sense, and so does the Canonical move of making Unity more mobile friendly.
Now, this article virtually lacks controversy, so you might probably be tempted to just shrug it off and move on, but I would definitely appreciate your insight into how the market might evolve, with Qt in mind. So let’s see what you have to say. How do Linux users, possibly KDE users, envision the future world of development unraveling? Whither it goes, no one knows. Comments please.