We'll see | Matt Zimmerman

a potpourri of mirth and madness

Ubuntu and Qt

I like to think that in the Ubuntu project, we’re pragmatic about technology. This means keeping an open mind, considering alternatives, and evaluating them objectively. It means bearing in mind the needs of the user, and measuring ourselves based on how well we solve their problems (not merely our own).

It is in this spirit that I have been thinking about Qt recently. We want to make it fast, easy and painless to develop applications for Ubuntu, and Qt is an option worth exploring for application developers. In thinking about this, I’ve realized that there is quite a bit of commonality between the strengths of Qt and some of the new directions in Ubuntu:

  • Qt has a long history of use on ARM as well as x86, by virtue of being popular on embedded devices. Consumer products have been built using Qt on ARM for over 10 years. We’ve been making Ubuntu products available for ARM for nearly two years now, and 10.10 supports more ARM boards than ever, including reference boards from Freescale, Marvell and TI. Qt is adding ARMv7 optimizations to benefit the latest ARM chips. We do this in order to offer OEMs a choice of hardware, without sacrificing software choice. Qt preserves this same choice for application developers.
  • Qt is a cross-platform application framework, with official ports for Windows, MacOS and more, and experimental community ports to Android, the iPhone and WebOS. Strong cross-platform support was one of the original principles of Qt, and it shows in the maturity of the official ports. With Ubuntu Light being installed on computers with Windows, and Ubuntu One landing on Android and the iPhone, we need interoperability with other platforms. There is also a large population of developers who already know how to target Windows, who can reach Ubuntu users as well by choosing Qt.
  • Qt has a fairly mature touch input system, which now has support for multi-touch and gestures (including QML), though it’s only complete on Windows 7 and Mac OS X 10.6. Meanwhile, Canonical has been working with the community to develop a low-level multi-touch framework for Linux and X11, for the benefit of Qt and other toolkits. These efforts will eventually meet in the middle.

Overall, I think Qt has a lot to offer people who want to develop applications for (and on) Ubuntu, particularly now. It already powers popular cross-platform applications like VLC, not to mention the entire Kubuntu distribution. I missed it when this happened last year, but Qt is now available under either the LGPL 2.1 or the GPL 3.0, which should make it suitable for virtually any Ubuntu application. It has strong commercial backing as well as a large developer community. No single solution will meet all developers’ needs, of course, and Ubuntu supports multiple toolkits and frameworks for this reason, but Qt seems like a great tool to have in our toolbox for the road ahead.

Written by Matt Zimmerman

October 20, 2010 at 10:08

Posted in Uncategorized

Tagged with , ,

142 Responses

Subscribe to comments with RSS.

  1. I’ve heard of this Qt thing. I think it is used a little bit in the KDE project ;-)

    Seriously though I like the correlations you draw between Qt’s goals and your project’s goals. I agree!

    klaatu

    October 20, 2010 at 10:55

  2. Please dont!

    Really.

    hunk

    October 20, 2010 at 11:57

    • why?

      jedibeeftrix

      October 21, 2010 at 16:00

      • KDE has a lot worse default settings for a virgin account then Gnome, the last time I tried it (on a KDE centric distribution, not Ubuntu).
        You shouldn’t need to change any settings in your DE to have a usefull environment. Every change you do, is a UI bug.

        But if you can combine Gnome UI with Qt programming, you would/could have my vote on this. But that is prob. more of a C vs. C++-issue. Object orientation is a very usefull programming paradigm for UI.

        Anders

        November 5, 2010 at 15:58

        • My mom and dad use Kubuntu.
          Both are retired.
          When I first installed Kubuntu, I was rushed for time so I only had time to install it and add medibuntu for multimedia so they ran it pretty much out of the box for 3 weeks so please let me laugh out loud.
          Because fanbois like you will take a Qt post and make it about KDE vs Gnome. I was waiting to see how many comments it would take and youre the top of the list.
          Bravo for being predictable.

          PCLinuxOS/Mandriva are still ahead of Kubuntu so I presume youre not talking about them because they also work straight out of the box.

          >You shouldn’t need to change any settings in your DE >to have a usefull environment. Every change you do, >is a UI bug.

          See, this is the problem with developers and some DE ‘experts’ as well, they think THEY know best.
          They dont.
          The best desktop is NOT the one you like or the one Matt likes, its the one I LIKE (i mean each of us).

          Thats the Mac/Win paradigm where you can have any flavor of ice cream. As long as its vanilla.
          There is no one setting for everyone. Its about choice. Just like GNOME, XCFE or KDE give us choice to be able to reach as many people as possible.

          You live in the primitive world of ‘its my way or the highway’. That doesnt fly anymore.
          If you like Gnome and it works for you. Great.
          Just like if you like sushi.
          But its not for you to say whether I or others should like a DE or sushi.
          A default exist simply because something has to be put there,… by default. Whether a user wants/needs to change it doesnt make the default bad, it just means the user prefers something else.

          Ive installed GNU-Linux on about 25 systems for seniors and let me tell you, the UI ‘experts’ arent doing defaults for them. Not with 5pt fonts and thin taskbars and miniscule icons. Heck, most of my younger friends have the same problem when I switched them over.

          I hate with a passion the left side minimize buttons in Ubuntu, I hate the window manager in Kubuntu (Oxygen, I prefer Plastik) and even the light default theme it comes with. The first thing I do on these systems is change them because they dont suit ME. And that’s who the most important person is in the equation: the user.
          Does that make them bad distros? No. It just means I have to change the default setting which takes about 30secs.
          I can work with them if I have to but i have the choice not too.

          I may still harbour resentment over the zealots who started GNome because it wasnt free enough to their liking but even now I still believe that KDE users have no problem usually running GTK apps (Mono is a whole different problem) while GNOME users find faults and moan and bitch when its the other way around (this is a personal view).

          You helped to confirm these beliefs with your fanboi attitudes and behaviour. Strangely enough Ive never seen your types at conferences have the balls to talk like that to developers.
          In the safety of the net, trash talking behaviour might work on Deadspin and Gizmodo but it is not conducive to building a FLOSS community which childish allegiances and ‘mine is bigger than yours’ mentality.

          ned flanders

          November 12, 2010 at 22:13

  3. As a developer of a app written in PyQt, I was shocked to discover many Gnome users who won’t install it cause it uses Qt. I do hope that these opinions will change. I also discovered a lot of people that think that Qt == KDE, but it is normally easy to correct that miss-understanding.

    Gary van der Merwe

    October 20, 2010 at 12:03

    • Welcome to the world of desktop Linux…….

      Segedunum

      October 21, 2010 at 17:15

    • I avoid Qt apps because once in a while one pulls in most of KDE and all its Phonon garbage. Last thing we need is *another* sound system competing for resources.

      Oli

      October 28, 2010 at 13:34

      • Phonon is not a sound system and it is part of Qt, not KDE

        Kevin Krammer

        October 28, 2010 at 13:45

      • If a Qt app pulls in most of KDE then it is called a KDE application.

        Phonon is an abstraction layer that is ontop of the sound system, or more precisely the multimedia framework. This is vital to cross platform media playback. Because of Phonon you do not need to worry about the actually system your application is running on. If you use Phonon your app will be able to do that on Linux and Mac and Windows and for whetever else there is a Phonon backend available.

        So let us conclude. Qt apps that link against KDE are KDE apps. Phonon is not a sound system.

        And finally I would also like you to ask to not call my software garbage, or any for that matter, if you do not know what it does.

        apachelogger

        October 28, 2010 at 14:18

  4. Qt apps can look near-native on Gnome these days too. A big hindrance to Qt being used more in Ubuntu’s development is the limited space on the install CD.

    Jeremy Bicha

    October 20, 2010 at 12:07

  5. Sounds like a good plan, Qt is really good, fast and easy to develop with.

    Beat Wolf

    October 20, 2010 at 12:17

    • As someone who has developed software for both Gtkmm and Qt, I have to disagree with this. Programming for Gtkmm and Qt is VERY similar, but I prefer Gtkmm due to a less hacky approach without a special precompiler.

      Comparing gtk+ code written in C with Qt written in C++ is a bit strange. , I much prefer using Gtkmm. This is mostly d

      Hextremist

      October 21, 2010 at 05:39

      • People that prefer Gtkmm to Qt are a pretty small minority.

        You can’t please everybody, but if moc is what’s keeping you in Gtkmm instead of going with Qt, you really should re-examine your priorities. Moc is not the end of the world, even if it may feel like it for the first 5 minutes after you learn that you need it.

        Ville

        October 21, 2010 at 08:23

      • I also use both and I have to wonder if you have used Qt for advanced project.

        The moc is a great strength of Qt over Gtkmm. It makes introspection not only possible, but very easy to do. I take Qt every time I have the choice.

        Bruno

        January 8, 2011 at 13:45

  6. The problem still is using qt and gtk apps side-by-side. It’s not just the look (that can, and should, be solved), it’s also the feel. File dialogs differ, for example. I have been using KDE distro’s a lot in the past, and personally think qt is a better toolkit overall. The way KDE has used it in the KDE4 series however is not to my liking. I think KDE4 is quite ugly compared to Ubuntu-nized Gnome. This sort-of-incompatibility between apps because of the toolkit they are using is, in my view, one of the main problems that Linux on the desktop faces today. If apps look and feel the same independent of the toolkit they use, then we get somewhere. I my view a distro could be the main driver for this. And it’s not just gtk and qt. Think about OpenOffice, Chrome, etc. Let’s start with the same look and work out the feel from there.

    Fred

    October 20, 2010 at 12:19

    • While I believe that KDE has always looked better and felt better than a GNOME app, I do agree that they are very different in look and feel. One thing I’d love to see is the various toolkit people getting together to agree on a single “File Picker” (and printer dialog perhaps) API call, so that on KDE I can use GNOME apps without having to use the horrible GNOME file picker, and on GNOME people can choose to use that horrible file picker when in KDE or Qt apps.

      lefty.crupps

      October 21, 2010 at 12:21

      • There’s alreay a project called OpenPrinting that is developing a common Print Dialog via dbus calls.

        The file dialog could posibly go a similar direction, but it will be a lot harder agreeing on a common set of features as they current dialogs are very far apart in philosophy. It’s easier for the print dialog as you have a common target set externally, i.e. CUPS.

        John Layt

        October 21, 2010 at 16:11

  7. When in Rome do as the Romans do.

    I want CocoaTouch apps on my iPhone, not “near-native” Flash, Qt, etc. apps.
    I want GTK apps on Gnome, not “near-native” Qt apps.
    I want Qt apps on KDE, not “near-native” gtk-qt themed apps.
    I want WPF apps on Windows, not “near-native” Qt or GTK apps.
    etc.

    To engage into the specifics of each platform is a must for best user experience. Cross-platform UI development may be cheap but produces only “near-excellent” apps, not excellent apps.

    Franklin Mosely

    October 20, 2010 at 12:26

    • Enjoy writing your code 4 times then. I’d rather have a solution that works with everything.

      TGM

      October 20, 2010 at 15:26

    • That might be the ideal, but it’s pretty unrealistic. If you only use WPF apps on Windows, you’re gonna have a hard time getting anything done…

      alex

      October 20, 2010 at 22:58

    • Qt is not native on KDE! In fact unless the author invests effort into it Qt apps are as not any more native in KDE than in GNOME (that is: limited to theme && file dialogs, unless using a custom file dialog).

      apachelogger

      October 21, 2010 at 07:41

    • By your logic vlc is a near-excellent app? I beg to differ!

      Yngve

      October 26, 2010 at 04:04

  8. I’ve said pretty much exactly the same thing in the past, except with KDE 4 and Ubuntu. They share so many goals, it’s uncanny:

    1. Adoption (and even creation, in KDE’s case) of desktop-agnostic technologies and standards, including PackageKit, PolicyKit and the new System Tray/Notifications spec;
    2. Focus on the cloud and the social desktop with Plasma Widgets/the Me Menu, ownCloud/Ubuntu One, Akonadi/the Messaging Menu;
    3. The want to create attractive art and icons, with KDE having a full SVG implementation of themes in Plasma to make it easier for artists, not programmers, and;
    4. Making user interfaces for various types of devices and input methods (with Plasma Desktop/Netbook/Mobile vs. Ubuntu Desktop/Unity Netbook).

    Those are just off the top of my head right now, but you’d think they were made for each other. On the other hand, Gnome seems to have absolutely none of these things in mind when it comes to its design. I feel so strongly that Canonical is dragging Gnome at its heel, forcing it to do stuff it was never designed to do, while their use of KDE would mean more problems get solved quicker and with better, more robust implementations.

    the_madman

    October 20, 2010 at 12:27

    • Exactly!

      There are things where Ubuntu is better and more polished than Kubuntu – the things Canonical put money into I believe, like the themes, Empathy integration, software center etc. Yet I still prefer Kubuntu because I personally find it better (yet easy) in the more important things, like window and desktop management, KRunner, some default apps (this is even more subjective, I admit).

      Now if Canonical put all that developer and designer effort into KDE4 instead of Gnome (giving it the best default settings and looks, working on the missing parts…), wouldn’t we be somewhere further already?

      bowser

      October 23, 2010 at 21:15

      • I have used KDE on KDE-based distributions and Gnome on DE-agnostic distributions, and I still think that Gnome is much easier to use for a beginner (like me in KDE and like my mother with computers).

        KDE you practicly must change some preferences. In Gnome the preferences has a good pick from the start.

        That makes KDE a less slick and usefull DE in those cases. Gnome has for a long time now considered the need for changing preferences from default as a bug. KDE should do the samt, remove the easy access for changinge settings in programs (you can still do that in Gnome, but not two clicks away). Then I might reconsider this.

        But until when KDE gives same intuitive feeling each time you start a virgin account, Gnome is a better choise for me and those I introduce into Linux/Ubuntu and is part of which distribution I use.
        Despite any technical shortcomings in the API of Gnome compared with KDE

        Comparing GTK+ with Qt is more of C vs. C++ I guess, but is nothing I have any problems with. I mean, Bug #1 should not make you adjust to that bug, should it?

        Anders

        November 5, 2010 at 14:09

    • I use Gnome everyday but i have to say that I like very very much Qt programming also it is realy easy and I think that probably in the next years will be 20 apps made with QT vs 1 made with GTK because of this. But I dislike the use of QT in KDE, maybe the KDE people should consider that KDE is not the panacea and make it more simple(its just my opinion as Gnome user).

      Anyway the good of free software is the right to choose so the best for all is a distribution with diferent Desktops and let the user make his decision. To do that the Desktops shoud be a thing layer not like now. Also all programs should respect the user preferences of Look and Feel independient of the toolkit used to program it.
      For example:
      one KDE library that makes Gnome programs looks like KDE and another Gnome lib that makes KDE programs looks like GTK. Or better than both teams agree to do an inter-desktop look and feel library that both systems use. The same way they use today the freedesktop x.org xwindows system.

      Juan Carlos

      November 19, 2010 at 13:03

  9. Ever since the new QT was released I’ve been secretly hoping that Ubuntu would build their own desktop environment based on QT. Then create a development environment package that depends on QT Creator and such.

    Ideas are ten-a-penny and implementing a whole new DE would be a large undertaking. Having said that, the current Ubuntu offering sorely lacks in standardised tools for developers, a very big problem when trying to attract new talent to the platform.

    jeevesbond

    October 20, 2010 at 13:03

    • JeevesBond, you’ve read my mind. I think KDE has become too much for a DE, a Qt based desktop environment (without optional KDE dependencies for running KDE4 apps) would be lovely right now.

      TGM

      October 20, 2010 at 15:31

      • I agree.

        I’ve always been a KDE user but I’ve just switched to a minimal system based on openbox e some gtk utilities
        I wanted badly to use only qt applications but I wasn’t able to find enough “common” programs outside KDE.

        Building a minimal DE based on QT would be great

        Framp

        October 21, 2010 at 16:33

  10. @Fred , “The problem still is using qt and gtk apps side-by-side. It’s not just the look (that can, and should, be solved), it’s also the feel. File dialogs differ, for example. ”
    nope, qt is using GNOME-look like file dialog under GNOME. Please see: http://labs.qt.nokia.com/2008/10/01/native-file-dialogs-in-gnome/

    @Jeremy Bicha , “Qt apps can look near-native on Gnome these days too.”
    Yeap, this is true because of great http://labs.qt.nokia.com/2008/05/13/introducing-qgtkstyle/ ; http://labs.qt.nokia.com/2008/09/05/qgtkstyle-now-part-of-qt/

    however as a developer of Qt application used heavily under GNOME i see one problem:
    http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
    This icon naming specification is totally outdated, 4.5 years! As a result KDE applications have their own naming convention and the same for Ubuntu. And this is a pitty because thanks to “Freedesktop icons in Qt” you may show GNOMe icons in qt applications.
    Please see: http://labs.qt.nokia.com/2009/02/13/freedesktop-icons-in-qt/
    But it won’t work in all cases because freedesktop.org spec is outdated.
    It would be great if someone could fix it.

    And count me +1 for giving developers a chance to code in qt for ubuntu. :)

    gadu

    October 20, 2010 at 13:14

    • @gadu
      “This icon naming specification is totally outdated, 4.5 years!”

      Just because there was no need to change it in 4.5 years doesn’t mean it is outdate. In fact it hints how stable it is, not requiring changes while keeping applicatable for software on free desktop platforms.

      “As a result KDE applications have their own naming convention and the same for Ubuntu.”

      As far as I know both KDE and GNOME implement their icon loading according to the spec. If Ubuntu differs, maybe they shouldn’t.

      “Please see: http://labs.qt.nokia.com/2009/02/13/freedesktop-icons-in-qt/

      Jens actually writes that they can provide matching icons exactly because of the icon naming spec.

      Kevin Krammer

      October 20, 2010 at 13:52

      • Kevin, please compare actual icons inside KDE default theme, GNOME default theme and Ubuntu default theme. There is a lot of icons which are not specified in latest fd.o spec.
        As a result you can’t have KDE application which would look 100% natively (in “icons area”) under GNOME. Ie. Default Dolphin toolbar will have 4-5 icons “out-of-place” under GNOME because those icons are not present in fd.o spec but only in KDE theme. this is a pitty and this could be improved by updating spec and aligning this spec to GNOME/Ubuntu/KDE developers wishes.

        As a result qt/kde apps developers would be able to just use updated fd.o icons-naming spec and it would look correct in case of all most used icons out there. :)

        hadu

        October 20, 2010 at 14:30

        • So you mean that some applications use icons that are not covered by the spec?

          It would be interesting in which of the following three categories these would fall:

          – Bug in the application, i.e. not using the correct name but one would be available for the respective action.

          – Bug in the theme, i.e. it not including an icon it should have.

          – Icon not application specific and not covered by the spec yet.

          Kevin Krammer

          October 20, 2010 at 14:49

          • Kevin,

            I’ve checked three popular kde apps under Ubuntu. I’ve set Humanity icon set for all kde apps – this is the same result as what would be seen if qt application used “qt freedesktop icons directly” when run on Ubuntu.

            All screenshots below show Dolphin, Okular and Kate in default configurations of each app.

            Results:
            1) Dolphin -> http://img832.imageshack.us/i/dolphin.png/
            Five icons are not covered by freedesktop spec, three from them (preview, icons, details) should be covered IMO.

            2) Okular -> http://img138.imageshack.us/i/87015175.png/
            Nine icons are out of place. Arrows at the bottom, preview, zoom over document, etc. Those actions really should have unified icon naming convention in fd.o spec

            3) Kate -> http://img816.imageshack.us/i/kate.png/
            Finally, all icons look natively under GNOME :)

            From my experience it seems that current fd.o spec should be extended to cover _used in modern distributions_ actions, icons and naming for them. Not all icons should be in spec. of course but above icons are really generic and standard.

            gadu

            October 20, 2010 at 23:30

            • It’s worth pointing out that while this is a problem in integrating KDE with GNOME. It is not actually affecting adoptation of Qt in GNOME since a GNOME developer would not use KDE icon names in their apps.

              Jens

              October 25, 2010 at 21:54

    • there is much more to the native look & feel than “GNOME-look like”, see for example this screenshot: http://people.ubuntu.com/~kklimonda/filedialogs.png
      While both dialogs look the same the left one (From QtCreator) does not give me an access to remote folders like the right one (from gedit).

      The same is going to be true about other little things. Some application will have wrong icons, other wrong button order. To make Qt the “first-class” citizen of GNOME desktop is going to take much more effort than it’s being done currently.

      kklimonda

      October 20, 2010 at 14:26

      • Button-order (I assume you mean cancel/ok) on Qt apps is user-configurable. It can (and should) put them in the GNOME-order when you open the Qt app inside GNOME.

        Mackenzie

        October 20, 2010 at 17:22

      • kklimonda: That is a gtk file chooser bug. There are gnome apps that suffer from that, as well as other cross platform apps, e.g. Firefox.

        How this bug come about is with the old gnome-vfs, apps had to be able to talk to gnome-vfs, and so the option to browse to remote locations it the file chooser was a opt-in option. How we have the new shiny gvfs which mounts your remote location into the file system, (which I like very much, and even often use it from the terminal,) and so most apps would be handle remote locations with out doing any thing special. But the default for the option was not changed.

        https://bugzilla.gnome.org/show_bug.cgi?id=531098

        Gary van der Merwe

        October 21, 2010 at 19:06

        • From what I remember the fuse has been considered the compatibility layer for applications that can’t talk to gvfs directly and not the fully-fledged solution.

          The fact that not only Qt based applications don’t know how to support gvfs has nothing to do with that – if we believe that Qt should be the first-class citizen in our GNOME desktop then it has to have a full support for it.

          kklimonda

          October 21, 2010 at 19:16

          • kklimonda, I believe you have misunderstood me. QT apps could use gvfs, as it does a FUSE like mount, if only they (gtk devs) would flick the switch in the gtk file chooser to allow it.

            This is a gtk bug that needs to be fixed by gtk.

            Gary van der Merwe

            October 21, 2010 at 19:33

            • So I’ve actually decided to test the theory that this is indeed a bug in Gtk+. I’ve Qt sources lying on my disk so I browsed them until I stumbled upon method “QGtkStylePrivate::setupGtkFileChooser” which calls “g_object_set(gtkFileChooser, “local_only”, gboolean(true), NULL);”.

              So, the local-only is actually set to TRUE by Qt itself, but why? Let’s cheat a little and use gdb to set the local-only to false. What’s the result? http://people.ubuntu.com/~kklimonda/failed_mount.png
              Not exactly success. I have people.ubuntu.com mounted but it doesn’t show up in the list of volumes available. What’s worse the remote bookmarks don’t work and display this funny message.

              So it’s not just “flicking” the switch that prevents Qt from using gvfs.

              And again, gvfs-fuse is just a compatibility layer so accessing everything through it, while possible, is not enough to make Qt a first-class citizen on GNOME desktop.

              kklimonda

              October 22, 2010 at 03:31

              • So I actually have to retract a second part of my comment, it’s indeed possible to make Qt support remote shares (over gvfs) by setting local_only to FALSE. I’ve obviously broken my local Gtk+ installation and that’s why it didn’t work.

                But it’s still set explicitly by QtGtkStyle so I guess they have a reason for that.

                kklimonda

                October 22, 2010 at 04:11

  11. Hi, I’m not a desktop app developer though I’ve tried a few times. I found the barrier to entry for Qt to be lower than GTK. Maybe it is the difference between C++ and C or maybe it is the slick Qt developer application. Qt made sense to me while I was still struggling to figure out Glib in order to make something useful with GTK.

    Matthew Nuzum

    October 20, 2010 at 14:09

    • > I found the barrier to entry for Qt to be lower than GTK

      That’s true. Compare the simplest program, “hello world”
      http://en.wikipedia.org/wiki/Gtk#GTK.2B_hello_world
      http://en.wikipedia.org/wiki/Qt_%28framework%29#Qt_hello_world

      Developing… the clarity is fundamental. The difference is big.

      Antonio

      October 21, 2010 at 09:24

      • You are comparing apples and oranges (or, in this case, C and C++). The same Hello World application written in gtkmm is just as simple and clean.

        kklimonda

        October 21, 2010 at 11:29

        • Actually, it’s not. Here’s the list expanded:

          Gtk+:
          http://en.wikipedia.org/wiki/Gtk#GTK.2B_hello_world

          Gtkmm:
          http://en.wikipedia.org/wiki/Gtkmm#Hello_World_in_Gtkmm

          Qt:
          http://en.wikipedia.org/wiki/Qt_(framework)#Qt_hello_world

          I hardly think the gtk/gtkmm versions are optimized; I wonder how a veteran gtk/gtkmm developer would write it?

          Chris Case

          October 21, 2010 at 14:39

          • gtkmm and qt examples are hardly comparable as gtkmm one uses signals to display text on user clicking a button. The direct port of Qt sample to gtkmm would look something like this: http://pastie.org/1238318

            Actually comparing such examples leads to nothing. Yes, Gtk+ has some weird APIs (like for example GtkTreeView and GtkTreeModel) but those are not show stoppers. What Gtk+ lacks is a great documentation (along with good code examples) and a clean roadmap.

            Sure, Qt shines when we talk about cross-platform development but I’m not convinced it’s something we should care about, cross-platform applications are at best second-class citizens on every platform.

            If we can’t create a platform that is appealing to developers on its own, then even switching to Qt is not going to make Ubuntu an alternative to Windows and Mac OS X.

            kklimonda

            October 21, 2010 at 15:51

            • > cross-platform applications are at best second-class citizens on every platform.
              A Qt application is compiled in every target platform. That is why is a first-class one, a native one.

              Antonio

              October 21, 2010 at 16:21

              • There is more than being native to become a first-class citizen of any platform. For example, on GNOME, application should make use of gio/gvfs, gnome-keyring, policykit and few other libraries. The same is true for KDE, Windows and Mac OS X.

                Without this level of integration you can’t give your users the best possible experience.

                kklimonda

                October 21, 2010 at 16:37

                • PolicyKit, at the least, is hardly a GNOME-specific things. There has existed a Polkit-Qt library for quite some time now. KDE applications that use PolicyKit already use the GNOME dialog in GNOME, and vice versa.

                  As for gnome-keyring, there is a FD.o spec for a generic secrets API in the works,but at the moments it’s really a bit much to ask a KDE application to use a GNOME-only secrets library.

                  Jonathan Thomas

                  October 21, 2010 at 22:01

                • So you say that you make a Gnome application that doesn’t use “gio/gvs” and so one is not a first-class citizen, that Gnome application it’s a second-class one.

                  Antonio

                  October 22, 2010 at 03:46

                  • Yes, it does feel out of place and doesn’t behave like other applications.

                    kklimonda

                    October 22, 2010 at 03:52

      • Qt is really a bit too magical here – GTK+ does what it is asked to do, not more; Qt creates the window and magically terminates your app when you close it.

        Julian Andres Klode

        October 23, 2010 at 17:26

  12. In fact, I usually find that it is GTK apps that require on non-spec’d icons that show up as unknown icons when running under non-GNOME icon themes that are spec-compliant. (Mostly dependencies on icons that are not in the spec and are only present in the gnome or humanity icon themes)

    Jonathan Thomas

    October 20, 2010 at 14:13

  13. The one question I would ask is: What about accessibility? Especially for Blind users.

    Ubuntu is currently one of the best alternatives out there. Gnome and the Orca project is widely recognised as the best Linux GUI available. With Ubuntu’s solid base and the fact that a lot of developers, testers, document writers and general users Ubuntu it has become one of the best distributions for a blind person to turn to in terms of it’s accessibility. Look at the Vinux project. This is in fact based around Ubuntu for this reason.

    QT certainly has an accessibility project however it is no where near as advanced as the GTK accessibility even though it has been set up for almost ten years now.

    I understand the need to support a system that is cross platform however I request that due concern is given to ensuring the Ubuntu distribution remains as accessible as it has been if not even more so to users of assistive technologies that are currently based on GTK.

    Visit http://live.gnome.org/Orca

    Digitaldarragh

    October 20, 2010 at 14:20

    • FUD?

      TGM

      October 20, 2010 at 15:55

      • Unfortunately not. You read often, that the accessibility of Qt is not yet good. In GTK these features are wide developed. The problem is, that most people which rely on these features are using Windows or GNOME. So there are very few developers, which push accessibility features in Qt. This is really a problem ATM.
        On the other side I don’t think it is the right way to avoid Qt for this reason. GTK has other disadvantages. Qt will close up in this section. And the best accessibility for blind people is still the command line. This can’t be the goal.

        mmj

        October 20, 2010 at 16:43

      • The issues of blind users has been the subject of FUD and counter-FUD for years. However, if blind or non-blind users don’t have any great applications to use and developers aren’t creating them then is there any point?

        However, Gnome 3 might well change the compatibility of AT-SPI to what it should be anyway.

        Segedunum

        October 21, 2010 at 17:14

    • Given the transition to GNOME 3 will break a11y anyway (new AT-SPI is incompatible with old), blind users will soon be screwed either way :-/

      Mackenzie

      October 20, 2010 at 17:25

  14. Thanks for providing your thoughs on this. I believe Qt is *the* technology that will catapult desktop Linux to greatness, once given a proper change. So far, I think it’s been unnecessarily ghetto-ized in the KDE land, without a good reason (ever since QGtkStyle came about).

    Ubuntu would do well to take the initiative and start moving forward with making Qt applications specifically for their Gnome desktop.

    Ville

    October 20, 2010 at 17:55

    • Desktop Linux is being held up by political and organizational issues, not technical. It’s not gonna get anywhere with technology alone.

      alex

      October 20, 2010 at 23:00

      • It’s not being held up by political and organisational issues. It’s being held up by application availability and the ease with which that can happen through development and deployment.

        You get that right and any other issues melt away because it’s the path of least resistance. That’s what this blog entry is hinting at and I’m actually quite shocked that it’s been discussed.

        Segedunum

        October 21, 2010 at 17:10

        • Alex, it IS political and organizational issues. As long as MS Windows (and Mac OS X) is delivered default installed on all (ok, majority) computers sold, Linux desktop could be 10 times better than the pre installed and 10 times easier to install than the pre installed ones. THAT is an political reason.
          Heck, I can’t even (without a fight with “service” people for some hours) get my money back if I choose not to accept the license for the pre installed software. Software I don’t want to use and must buy to get the computer.
          If it was easy to do that, there would be a reason for more people to save 100€ or $120 and usr fort something usefull (like movies or buy some music. Hey, someone might want to inform EU and US senate ? :D )

          Anders

          November 5, 2010 at 15:47

      • Couldn’t agree more. Desktop linux could have been so great. But instead, all sorts of irrelevant circumstances hinders people doing what is needed to live up to this potential.

        Lundgaard

        October 25, 2010 at 23:04

  15. As a developer, I find Qt superior to GTK. As a user, I find Gnome superior to KDE.

    Gnome style applications on the Qt framework would be incredible.

    Peter Shinners

    October 20, 2010 at 18:16

    • >As a developer, I find Qt superior to GTK. As a user, I find Gnome superior to KDE

      That’s exactly my feelings. As a developer I love Qt, as a user I love GNOME (but I’m not yet sure if I will love GNOME3)

      GNOME(2) written in Qt, that would be my dream environment to use and to develop. But let’s be realistic, this will never ever happen.

      pinky

      October 20, 2010 at 20:29

      • Exactly, i do not understand one thing. DE and toolkits are different beasts, and although personally I use Gnome on Fedora (after many years of KDE on various distributions), I find gtk a little underdeveloped (try doing multiplatform development with pygtk ….).

        All of the technologies which should be applied here (I see mentioning gvfs, policyKit, gnome-keyring and so on) are really DE related technologies, not toolkit related ones.

        Perhaps is my incompetence related to GUI / DE programming, but an integrated Gnome written in QT (using a compatibility layer?)…could be really interesting. Not a new DE.

        Luca

        October 22, 2010 at 11:27

    • The same here

      Victor

      October 21, 2010 at 14:22

    • It’s interesting. I _almost_ agree. The problem, for me, is that gnome looks great for all of about 10 minutes and then I remember why it’s my least favorite Desktop Environment… configuration/lacking features I want.

      For example: Window snapping. I know it exists, kinda, but resize a window. No snapping. Hasn’t been for, what, 5 years now? It annoys the crap out of me every time I run into it.

      Second example: Windows 7 Style ’tiling’ (‘Aero Snap’). KDE just added this. I love being able to hit WIN + Left and have my window now take up half my screen. What’s more: I run multiple screens. Windows 7 and KDE are smart enough to walk the window across my screens. The only hack I found for gnome… doesn’t.

      *shrugs* I have a list a mile long of gripes with KDE. I stopped liking it with the 4 switch, and am still on the fence with it. I like gnome, from arms length away. Having to use either in a work environment, and after 6 months with each, KDE won out. Gnome just doesn’t allow me to use my windows how I want. And, we’re talking features that have been in the *box environments for decades. (Fluxbox is my default, ‘no frills’ window manager. But it’s not a Desktop Environment, which is what I want.)

      I didn’t want to turn this into a rant… but it ended up being one. Ah, well.

      Chris Case

      October 21, 2010 at 14:51

      • I agree – in Ubuntu, Gnome shows it has been given some love. Yet I am still far more productive in current KDE *only after I change its default settings however*.

        Why cannot we have the best of both worlds? :)

        bowser

        October 23, 2010 at 21:42

        • Agree.
          UI is much better in Gnome, per default. They have taken the default settings seriously and other UI issues seriously. I might give to much credit, but I guess SUN had lots in introducing that to Gnome.

          I think that KDE (Qt) is better programming environment. But it has also to do with C vs. C++.

          Anders

          November 5, 2010 at 15:53

  16. There is one more very important positive side to Qt – Nokia. Nokia and Intel are pushing Qt as the default (and likely only) toolkit in MeeGo and Nokia is also planning to use Qt for their Symbian development. Basically Nokia is banking on Qt as their universal platform.

    If Ubuntu goes to Nokia _right_now_ then it might be possible to sell Nokia on an idea that Ubuntu is the recommended native development environment for MeeGo developers.

    With a bunch of Debian developers in Nokia and their previous experience with Maemo it might not be too hard of a sell. Especially if you can integrate Nokia Ovi Store into Ubuntu and offer the ability to cross-compile the same apps not only to Symbian and MeeGo but also to Ubuntu.

    Aigarius

    October 20, 2010 at 20:19

    • Cross-compile between MeeGo and Ubuntu would be easy since MeeGo build system is OpenSuse build system : you can create package for a dozen of distro at the same time (suse, debian, ubuntu, fedora…)

      I know that a good part of MeeGo development is done on ubuntu already (and opensuse).

      I like the idea of a minimalistic Qt desktop, eventually keeping most of gnome middleware library. It is the architecture of MeeGo already. If Ubuntu take that path also, it could mean less fragmentation at a platform level in linux, with still different desktop on top.

      bzhb

      October 20, 2010 at 23:00

  17. As an application developer, I think that Qt has a lot to offer. It’s a significantly more productive toolkit than Gtk+. I am consistently impressed with its capabilities and how much it accelerates development.

    I’ve been working on an experimental Qt port of Gwibber, which is significantly faster and more responsive than the current version while using a fraction of the memory. QML made it easy to add animated transitions and other nice effects.

    I’d really love to see Ubuntu embrace Qt, or at least include it in the default install for the benefit of third-party developers. Due to the LGPL license, I think it’s very likely that it’s going to start attracting a lot of ISVs.

    Ryan Paul

    October 20, 2010 at 20:31

  18. It’s easy to choose between GTK and QT – QT is obviously much better. The real problem is KDE vs Gnome, and the answer is not easy, even if the KDE internal design seem more professional.

    Fulano

    October 20, 2010 at 23:49

  19. Excellent. The pointless segregation in the Linux world (Gnome/GTK and KDE/Qt as one example) is terrible. How great it would be if Canonical and Ubuntu can lead the way in getting these two a bit closer together.

    And yes, Qt is much better than GTK for desktop app development. Who wouldn’t rather a C++ framework these days?

    David

    October 21, 2010 at 00:23

    • Gtkmm C++ wrapper for Gtk+ has been around for more than a decade, has always been well supported and up-to-date. It works very nicely IMO, and the code produced in is much easier to read than code written in gtk+.

      Hextremist

      October 22, 2010 at 18:54

  20. I always felt GTK+ had better bindings. I know developers today don’t have time to waste writing apps with C or C++. So they choose GTK+ because of its fantastic bindings for dynamic languages like Python. PyGTK+ is one major reason I develop apps with GTK+

    mystilleef

    October 21, 2010 at 00:59

    • Nokia is putting a lot more focus on the Python bindings for Qt with a project called PySide. The PySide bindings are packaged in Debian & Ubuntu today. I believe Qt Creator will be extended in the future so that Python becomes a first-class citizen for writing Qt apps (but I haven’t seen that officially announced anywhere yet).

      I think Python + Qt is an ideal solution for relatively easy, cross-platform development. I had trouble getting GTK to work on Windows a year ago when I tried. Obviously, GTK on Windows is possible since Gimp & Pidgin do it.

      Jeremy Bicha

      October 21, 2010 at 01:39

    • “I always felt GTK+ had better bindings….. So they choose GTK+ because of its fantastic bindings for dynamic languages like Python.”

      That shows the error of basing such deccisions on feelings, since in this case it’s not correct.

      The Qt Python bindings have a long and steady history of beeing more complete and having a higher covering rate in addition to beeing more up-to-date than the GTK+ counterpart.

      Morty

      October 21, 2010 at 14:27

    • I use PyQt+PyKDE and find them very easy to work with. I once ported most of Dragon to Python (til I hit a bug in the Kubuntu PyQt package) in about 12 hours with a friend for an experiment at school.

      Mackenzie

      October 22, 2010 at 17:27

  21. It should be pretty simple to get KDE and Gnome ( or any other DE ) to work together.

    1) Render the font using the same library or at least the same method as the DE it’s operating under.
    2) draw widgets as defined by the DE( spacing etc.. )
    3) Use the icon set of the DE
    4) Create or use a standard VFS library that interacts at a system level. like FUSE (or use Fuse). That way if i create a VFS in gnome it’s accessable and visible in KDE , vise versa

    pretty much everything else is shared as far as i can tell.

    Andrew M

    October 21, 2010 at 01:46

  22. I really can’t understand how some people find gnome to be better than KDE.

    I used to love gnome and this was my primal GUI till KDE 4.5 appeared.
    The differences were so big that enforced me to give up gnome for KDE.

    Look at these:
    1)Different wallpapers AND widgets for each virtual desktop. Simply awesome!

    2)Different activities that carry different wallpapers and widgets. It is like you have a 3d Desktop.

    3)Tabbed and tabbing applications. So convenient.

    4)Better start up menu with a built in search box.

    5)Much more customization options than gnome.

    So?
    KDE has so much progressed since KDE 4.0 that is hard to believe.
    KDE is clearly the future in a way that Gnome is not.
    KDE is based on QT.
    So please give more time and love for Kubuntu and start to think the unthinkable:
    that one day Kubuntu will be the prime Ubuntu!

    ex gnome lover

    October 21, 2010 at 02:28

  23. ex gnome lover has a point. KDE is AMAZING. Unbelievable. I’m still using Gnome though. I like Gnome a lot. I’m not sure what I will do about switching. I think with the new 10.10, I ought to try Kubuntu. I think tonight I will download it and push it onto a USB drive to give it the ol college try.

    joel

    October 21, 2010 at 03:23

    • I am positively impressed with Kubuntu Maverick Meerkat, and that comes from someone who has historically believed that Kubuntu is a second rate KDE distro. Kubuntu 10.10 has made enormous strides to shut my mouth for good (no more translation screwups, no more Ubuntu-specific bugs, no more enormous performance differences between Nepomuk everywhere else and Nepomuk on Kubuntu), but I’m still missing a “Kubuntu One” client that works (JR’s one is langishing somewhere), Amarok integration for the Ubuntu One Music Store, better Jockey integration (preferably linked to kinfocenter) and a real package manager replacing Synaptic (KPackageKit is replacing the Software Center, however, Muon is on the works…)

      However, I really want the main Ubuntu branch switch to KDE. GNOME has denied Ubuntu developers the chance to upstream things so vital to Ubuntu experience like Ayatana notifications and the panel menus, complete with the new system tray spec. KDE, OTOH, has all of them upstreamed (so, KDE and Ubuntu GNOME support all of those specs, but standard GNOME doesn’t) Also, I support what @ex gnome lover is saying: there’s no point to compare KDE 4.5 to KDE 4.0. KDE seems to be the future.

      Alejandro Nova

      October 21, 2010 at 11:47

      • The KDE client for Kubuntu was Harald’s, not JR’s. And the server API changed without documentation or warning, rendering it useless.

        Mackenzie

        October 22, 2010 at 18:51

  24. This is great IMO. It would be even better if most GNOME apps are made with Qt and Qt made the default toolkit for GNOME. Yes, I’d like to see a GNOME with Qt.

    It may be similiar to write gtkmm and Qt apps, but anyone who have experience on porting a gtk app to Windows will know what a nightmare it is: porting gtk apps to Windows is *way* more difficult than Qt apps.

    Currently, Qt apps works well both in GNOME and KDE. and that may be the reason to promote usage of Qt.

    poet

    October 21, 2010 at 06:11

  25. Why not taking this a step further and make Ubuntu fully MeeGo compliant with Ubuntu’s own desktop UX :)

    Even a noob like me can understand that this will never happen (rpm etc).

    Jason

    October 21, 2010 at 07:53

    • Well, technically it CAN be possible. In fact Nokia is rumored to do exactly that with Maemo 6 – it will be a Debian based distribution that will still be fully MeeGo-compilant. Basically it will provide all the required dependencies and files and also provide the needed support for installing RPM files that MeeGo software will come in (via alien). It is entirely within the real of technical possibility for Ubuntu to do the same – provide a MeeGo-compilant environment as a package and install all MeeGo apps into /opt or /usr/local for example.

      Aigars Mahinovs

      October 21, 2010 at 08:05

  26. Coding in Qt is one of the best developer experiences I’ve had.

    Robert

    October 21, 2010 at 12:24

  27. I have experience in coding with Qt and GTK(+) and I must admit that the best advantage of Qt was its superior documentation. At the end of the day, productivity matters, and with Qt I was more than happy with the results. With GTK I was stumbling due to lack of proper documentation and examples.

    This was a few years back. Don’t know the documentation status now. Hope it’s better.

    Tommi

    October 21, 2010 at 13:32

  28. To change a label font size using the Gtk API, I’d have go through a layer called “Pango”.

    To change a label font size using the Qt API, I’d make use of a class called QFont.

    Guess which one a sane GUI developer would prefer?

    Ilan Volow

    October 21, 2010 at 13:55

    • Would you feel better if Pango was called GFont?

      mystilleef

      October 22, 2010 at 09:22

  29. I don’t know if Matt will read again the comments here (i just saw the dent, and that prompted me to add this… i thought he wasn’t actually paying attention to comments), BUT:

    WE REALLY NEED TO FIX THIS SITUATION

    just look at windows, they don’t have this problem and with .NET tried to standardisize the language…

    then look at macosx: they had Carbon and Cocoa (aside from java, that has never really been cared much, and now apple got as far as declaring it deprecated!)… two toolkit with two different languages…
    Cocoa was the new one and was obviously the future, nontheless they promised support for carbon… but now they’re phasing out carbon and the only de facto standard for application development on osx is Cocoa!

    HAVING 2 SEPARATE TOOLKITS IS DAMAGING THE FOSS DESKTOP

    It can be fine to have 2 separate DE, but rather look at unity & gnome-shell & the old moblin:
    if they use the same frameworks, and the same toolkits, it’s not as much as a problem, because by writing software in it, it’ll integrate fine even with quite different desktops

    and the problem obviously, as many people above wrote, is touching many different aspects:

    audio/video (gstreamer/phonon), security (policykit), print dialogs, file-open dialogs, icons, gio-gvfs etc.etc.

    freedesktop.org, redhat (as the main developers behind gnome afaik) and QT should agree, and find a solution, to integrate all the things, update the specifications, choose a toolkit (eventually with a new version to integrate request changes of the old toolkit users), and start phasing out the old toolkit by converting the needed DE to the new toolkit
    …it shouldn’t be terribly hard: unity got this far in only a few months, gnome-shell uses heavily javascript and maybe this may help, and obviously we’ll need to do like Meego is doing: keeping the old toolkit around thus letting some legacy core technologies/programs (gnome-panel?) available until everything’s ready

    i mean: it’s fine if there’s another toolkit in development (like EFL), but this has to remain an alternative, leverage on all the existing technologies, and if it gets the interest of developers, it should substitute the old toolkit.

    choice is good, but having a standard is more important!

    Dario Bertini

    October 21, 2010 at 18:46

    • I agree with most of this. Ecxept I think different toolkit’s could be possible as long as the DE is toolkit agnostic. freedesktop.org should define the specs in such a way that it doesn’t matter what toolkit one uses.

      Take clementine for example. I thought it was a gnome/gtk application until I checked out their website. It’s a qt app. So my feeling is it _is_ possible now.

      Fred

      October 22, 2010 at 06:04

    • This is nonsense and shows a total misunderstanding of how Free software development works and what the power of Free software development is.

      And windows is full of different toolkits. Take a look at the details of different applications sometimes. Even Microsoft Office uses its own toolkit. Take a look at the Microsoft Windows section of http://en.wikipedia.org/wiki/List_of_widget_toolkits . You’ll see on that page that most platforms cope just fine with a plethora of toolkits. It’s about being able to make toolkits replicate look & feel across a desktop well. Unification of toolkits is a false goal.

      Robert

      October 23, 2010 at 12:55

      • Even though it won’t be much relevant as of now (31 oct) i’ll point out another thing…

        First of all: i said that it’s fine if there are other toolkits (efl, tcl/tk, swing, swt, windows forms, etc.) and in fact i agree with Fred and Matt Zimmermann…
        surely we should strive to be toolkit agnostic and support as many of them as possible, but at the same time we should define an HIG to aid ubuntu (and the different free desktops) in being more coherent
        (i’m actually not quite sure about “mix toolkits even within a product”, if it’s ubuntu i think it’s obvious, but otherwise i don’t get how a single (if huge and complicate, like eclipse or the adobe suite) may benefit from different toolkits… but mdz has definitely more experience than me, so maybe it’s my fault for not seeing the use case)

        I strongly believe that the free software development has many strong assets, but “choice”/fragmentation is not one of them… and when i was talking about windows i was right: look at the list:

        MFC: c++ wrapper of the windows API… not encouraged by MS (pushes .net)
        WTL: alternative to MFC, and unsupported addon in the Visual Studio SDK… certainly is not suggested as the official toolkit
        Smartwin++: old and not official
        Object Windows Library: Borland… not official
        VCL: Same
        Windows Forms: de facto superseded by WPF, but it’s still important (and still has its role inside Mono)
        WPF: Seems like the best bet if i would develop a windows-only gui right now…
        and even if you don’t consider wpf the sanest choice, there’s still only a single windows API (and obviously is completely natural to have c++ or whatever bindings, as is natural for gtk to have gtkmm or for qt to have pyside)

        and look at the list for unix… motif?
        who is creating new software written with motif in 2010?

        That list is NOT about the toolkits that are actively used in windows… is the list about the toolkits that only works in windows…

        clearly we can have (and we should support) different toolkits (and different bindings of the same toolkits as i said)…

        but on windows and macosx, there’s a HIG and a preferred toolkit (wpf and cocoa)… obviously developers can write software in borland, qt, swing, etc.

        and microsoft won’t stop developers from doing it (and developers can decide to ignore the HIG)… but unification (through a standard) of toolkits is a real goal…

        a goal very far away

        Dario Bertini

        October 31, 2010 at 14:43

        • Darios said:I strongly believe that the free software development has many strong assets, but “choice”/fragmentation is not one of them…

          I strongly believe that the “choice”/diversification its the strongest asset of free software

          Juan Carlos

          November 19, 2010 at 14:57

    • I think the answer lies between these two extremes. We don’t want to waste energy on fragmentation, but we also can’t be locked into the One True Solution.

      Ubuntu, being a platform, needs to support a range of solutions, so that products (like Ubuntu Desktop Edition and Kubuntu) can be built using the Ubuntu platform. Within those products, we aim for coherency and consistency in the user experience. At times, though, it is beneficial to mix toolkits even within a product, because it offers the best user experience.

      In the free software ecosystem, nobody gets to issue top-down directives and enforce standardization. It has to happen from the bottom up, and projects like Ubuntu, MeeGo and others will do our best to strike the right balance.

      Matt Zimmerman

      October 25, 2010 at 16:37

      • “It has to happen from the bottom up, and projects like Ubuntu, MeeGo and others will do our best to strike the right balance.”

        I do understand you’re position on this, but nothing stops Ubuntu to issue a HIG of it’s own and provide for howto’s, template’s, etc to make apps developed using different toolkit’s as easy as possible.

        Fred

        October 25, 2010 at 17:49

  30. Have you seen what’s possible with QML these days? search youtube on QML to see some demo’s. Awesome!

    Would it be a good idea to have wiki pages or something like that up with howto’s on integrating qt apps into Gnome/Ubuntu. That would help a lot of developers imho.

    Fred

    October 22, 2010 at 06:15

  31. […] technical officer di  Ubuntu nonchè uno tra i più anziani sviluppatori assunti da Caninical dichiara la sua ammirazione per le librerie Qt  con una serie di ragionamenti anche molto sensati! Ha un pò meno senso e […]

  32. 1. Port Firefox to Qt
    2. Port LibreOffice to Qt
    3. Port Gnome to Qt, or better ditch Gnome for KDE
    4. ???
    5. Profit

    Ebrahim

    October 22, 2010 at 11:04

  33. […] relevance in the mobile industry are increasingly difficult for Linux vendors to ignore.In a blog entry posted this week, Canonical CTO Matt Zimmerman outlined how the capabilities of Nokia's Qt […]

  34. Pure Qt applications should find their way into Ubuntu.
    Not only will Ubuntu’s default Twitter client, Gwibber, use Qt in the next major version, some other cool Qt-only apps could also be potential candidates. Besides VLC the great virtual globe application Marble comes to mind (IIRC Ubuntu already has packages for both Marble versions: The pure Qt one and the KDE one).

    Markus

    October 22, 2010 at 17:31

  35. Why not? I don’t know of any Windows user not installing Google Earth because it uses Qt istead of Windows stardard library. Windows application are not very consistent. On the other hand Mac applications stives to look integrated but not always succed.
    If a Qt application integrates well in Ubuntu there is no reason not to use it. Indeed it would lower the barrier to install Qt application beacause usere already have Qt installed. In this way people should look more at the application and less at its framework.

    charon66

    October 22, 2010 at 20:50

  36. […] a blog entry posted this week, Canonical CTO Matt Zimmerman outlined how the capabilities of Nokia’s Qt […]

  37. One thing to keep in mind is accessibility. From this article (0):

    “There are areas where Qt has deficiencies. Accessibility, for example, was described as “probably not one of our strengths” by Nyström. Though there are some Qt developers working on the problems of making user interfaces more usable by the visually impaired there isn’t any strategy for bringing accessibility into the core of the Qt framework.”

    Not even having a strategy for a11y doesn’t very good.

    (0) http://www.h-online.com/open/features/The-Qt-Future-Mobile-on-Nokia-1109090.html?artikelseite=1;page=2

    Jim Campbell

    October 23, 2010 at 04:28

    • This is definitely a problem area, and the Qt team are not blind to it (as seen in the article). This may make Qt a non-option for some projects until it is addressed.

      Matt Zimmerman

      October 25, 2010 at 16:17

  38. […] a blog entry posted this week, Canonical CTO Matt Zimmerman outlined how the capabilities of Nokia’s Qt […]

  39. […] a blog entry posted this week, Canonical CTO Matt Zimmerman outlined how the capabilities of Nokia’s Qt […]

  40. To people that say that Linux desktop does not ned two competing desktop environments:
    1) they are competing and this drives innovation in both;
    2) they also cooperate so that common code becomes united via freedesktop.org specifications;
    3) they coordinate, so that when KDE broke itself rewriting 4.0 from scratch, Gnome remained stable as a rock. Now that KDE is becoming more stable it frees Gnome do break itself to reinvent itself as Gnome 3.0.

    aigarius

    October 23, 2010 at 21:20

    • you’re third point is ridiculous. They do not coordinate major releases.

      Ubuntu could ceate it’s own HIG, check current DE’s against that and, if necessary develop their own DE.

      People keep confusing DE’s with toolkit’s with languages. One can choose on each of those, but when it comes to the choice of DE, Ubuntu should make a single choice and stick to it. Also it should make sure (by developing documentation, howto’s, and code, that every toolkit and language can be chosen for this DE, without affecting look, feel and DE policies

      Fred

      October 24, 2010 at 13:08

  41. QT is plain wonderful to develop with so go for it. The only trick is not to ever touch KDE for usability reasons. Not one single KDE application should ever enter Ubuntu, for any reason. There is no valid reason for that, unless if you want to kill Ubuntu altogether.

    I personally don’t get it how the KDE folks have always managed to have superior technology but then they have botched entirely actually using it. :(

    mehmoomoo

    October 24, 2010 at 12:07

    • I used to be a KDE fanboy, but that was mainly because of qt and c++. I do agree with you KDE 4 series is quite ugly. The default theme is really horrible. And they seem to just put text anywhere without any notion of esthetic’s. There notifier is also very ugly and disturbing. But functionally KDE apps are very good engineered.

      If we only could combine the KDE engineering mentality with the Gnome/Ubuntu feel for esthetic’s and make sure developers can develop with their toolkit and language of choice, I am sure the Linux Desktop could then fly.

      The current situation is a nightmare for developers. Suppose you have a company and want to create a cross platform app. You investigate Windows, Mac and Linux. The situation on Linux is extremely difficult. Should you choose KDE or Gnome, plain gtk or qt? Maybe go with wxwindows. Wait, what is the market share again? 1%? And even that is fractured into many different DE’s? Let’s just forget Linux, because we have to invest more development effort into the platform than we will ever get out of it!

      These are brutal facts. The only way to solve it is to remove some choice. Ubuntu, as the (by now) leading desktop distro, should take on this task by making this choice and make sure cross platform toolkit’s like qt are first class citizens.

      Then, as the same owner of the same company facing the same problem, the solution is simple: use qt and have my app developed one time only.

      Please Ubuntu: make qt a first class citizen onto you’re DE, even if that means you have to create a new one.

      fred

      October 24, 2010 at 13:30

      • “The default theme is really horrible. And they seem to just put text anywhere without any notion of esthetic’s. There notifier is also very ugly and disturbing. But functionally KDE apps are very good engineered.

        If we only could combine the KDE engineering mentality with the Gnome/Ubuntu feel for esthetic’s and make sure developers can develop with their toolkit and language of choice, I am sure the Linux Desktop could then fly.”

        +1

        bowser

        October 24, 2010 at 17:58

  42. Note: This is not flame bait.
    I’ve been a long time Gnome user because of its interface (except during the Enlightenment window manager days :P)
    I hope one of the toolkits falls away soon. I can understand an application being re-written to include more features or a different user interface paradigm, but the whole DKE vs Gnome thing has given me the shits over the last couple of years.
    There is no need to have the same apps that do the same thing but only with a different toolkit and minor interface/icon changes.
    One toolkit may not suit coders but I think the end user will benefit the user as there will be more need to differentiate a program than just the first letter of the ‘G’programs ‘K’name

    Anton Rehrl

    October 25, 2010 at 02:58

    • I hate the “G’s or “K’s”. Its like if in Windows the programs was called WinFox, WinFlash, WinEdit,etc . Some programs use that but doesn’t add special value to the program itself. Lets do programs that solve specific problems to the users and not confuse then with stupid names. Who worries if Firefox is made with GTK or Google Earth is made with Qt. Both are excelent programs.

      Juan Carlos

      November 19, 2010 at 15:13

  43. Licensing on PyQT might present a problem (GPL2 & GPL3). Nokia (I think) is funding devlopment of PySide, a LGPL Python binding for QT but it’s not ready for primetime yet.

    http://www.pyside.org/

    Velvet Elvis

    October 25, 2010 at 04:25

    • Indeed, it would be highly preferable to have LGPL bindings for Python.

      Wikipedia says that PySide was released by Nokia in part to address this issue: http://en.wikipedia.org/wiki/PySide

      Matt Zimmerman

      October 25, 2010 at 15:49

      • From the PySide FAQ:

        “As of 2010-10-12, PySide is maturizing rapidly and is approaching the 1.0 release. We consider the stability to be pretty good already, and starting development on PySide should be pretty safe now. However, since individual quality expectations may vary, testing is recommended.”

        Based on that I wouldn’t use it for any large projects for a while yet, but I spotted this post off planet debian so I’m likely more conservative than many who will be using Ubuntu as a development platform.

        Velvet Elvis

        October 26, 2010 at 04:22

        • I just went to take a look at the PiSide packages in debian and they aren’t going to be included in squeeze at all. Unless they are independently packaged for Ubuntu it won’t be until the first merge after the freeze that they make it into ubuntu if I understand how all that works correctly.

          Meanwhile this has piqued my interest and I’ve got the 0.4 packages apt-pinned from experimental and am going to try porting a game I started but never finished using PyQT into it.

          Velvet Elvis

          October 26, 2010 at 05:22

  44. Gnome started because KDe used Qt, which was proprietary. Wihout Gnome, Qt would perhaps still be proprietary. Now that Qt is LGPL, Gnome has fulfilled its goals and may retire.

    Olle

    October 25, 2010 at 13:05

  45. […] que surgiu oficialmente o assunto de o Ubuntu eventualmente passar a fazer bom uso do Qt (ao mesmo tempo em que se fala de trocar o […]

  46. […] Inlägget i sin helhet hittar du på Matt Zimmermans blogg. […]

  47. […] O que tenho a dizer é que, com o Ubuntu, é possível ter o melhor dos dois mundos. Minha constatação é reafirmada por duas notícias recentes: a de que o Ubuntu 11.04 (“Natty Narwhal”) utilizará a interface Unity como padrão (fugindo, portanto, do GNOME Shell, que será a interface padrão do GNOME a partir da versão 3.0) e um post do Matt Zimmermann, CTO da Canonical, acerca da utilização do Qt (biblioteca sobre a qual o KDE se baseia) para o desenvolvimento de apl…. […]

  48. […] que nesta semana surgiu no blog de Matt Zimmerman (Chief Technology Officer da Canonical) um pedaço da solução que eu precisava para colocar outro […]

  49. […] Matt Zimmerman muses Qt on Ubuntu […]

  50. […] how we package and distribute software, how we adapt to technological shifts, and highlighting opportunities to cooperate with other open source […]

  51. >I missed it when this happened last year, but Qt is >now available under either the LGPL 2.1 or the GPL >3.0,

    ???
    I dont want to pick on you Matt but a CTO that didnt know about it being GPLed, it is kinda scary.

    THAT is the very reason why Harmony and GNOME was created and GPLed switch was a big deal.

    I still think that decision set the free desktop back 6-7 years. Dont get me wrong, I appreciate the choices we have now and think that monoculture is not the way but the projects were much smaller then and it divided us and wasted resources.

    I think Qt is extremely important because of mobile technologies being so prevalent now. There is no reason to hesitate.

    ned flanders

    November 12, 2010 at 22:21

    • Qt has been available under the GPL for quite a while now, yes. However, what I remarked on was the switch *from* GPL *to* GPL-or-LGPL, which is also very significant.

      Glad not to have scared you after all. ;-)

      Matt Zimmerman

      November 12, 2010 at 23:35

  52. […] to appear in 11.04, be programmed using Qt? I ask this in relation to Matt Zimmerman’s blog posting of several days ago, where he intimated that Qt was the more pragmatic choice for an SDK to get […]

  53. […] tekście: /ubuntu-and-qt/ przedstawia się wizję, aby qt było przyszłością Ubuntu. Czy tak jest naprawdę? Ubuntu […]

  54. […] few months ago, Matt Zimmerman, CTO of Ubuntu wrote the following on his personal blog: “I have been thinking about Qt recently. We want to make it fast, easy and painless to […]

  55. […] relación entre Canonical y Qt comenzó hace tiempo y sigue profundizándose, el solo hecho de que Unity 2D […]

  56. Qt problem under ubuntu is still political one I guess. 12.04 LTS still ignores Qt – not offering opdates. It keeps old 4.8.1 that keeps crashing.

    jstaniek

    January 4, 2013 at 02:08

  57. Blast from the past!

    I guess we have now seen what Ubuntu is doing with Qt (mobile stuff).

    vivainio

    January 4, 2013 at 02:11

  58. […] 버전은 Qt를 사용하여 프로그래밍됩니까? 나는 며칠 전 Matt Zimmerman의 블로그 게시 와 관련하여 Qt가 SDK가 코더를 더 관여시키기에 더 실용적인 선택이라고 […]


Comments are closed.