Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

KDE & Gnome Usability Engineers Interviewed

Posted by Hemos on Mon Mar 10, 2003 09:31 AM
from the talking-with-the-men-with-the-plan dept.
Gentu writes "After the recent flamewar between the KDE and Gnome user camps, OSNews brings together the most influencial KDE and Gnome usability engineers to talk about how they will be able to overcome a number of obstacles in order to 'unify' KDE and Gnome in ways that could bring to the Unix desktop an easy to use, integrated and fully interoperated DE to better compete with the commercial alternatives. Waldo from SuSE and Havoc from Red Hat are taking part to the interview, and also Aaron, the head of KDE's usability."
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Sigh.. (Score:5, Insightful)

    by Sh0t (607838) on Monday March 10 2003, @09:34AM (#5476386) Journal
    There is no flamewar. There is no "war".

    Users can use whatever they want, the two proejcts get along better than most to be honest.

    THis whole fued thing has been overhyped by "news" sites since gnome was created and it's quite silly.

    it's just a simple choice of DE, nothing more.
    • Re:Sigh.. (Score:3, Informative)

      by myLobster (528056)

      The article does not even suggest a flamewar - quite the opposite really.
    • Re:Sigh.. (Score:5, Informative)

      by larien (5608) on Monday March 10 2003, @09:48AM (#5476479) Homepage Journal
      I think the point is that it's a "user" flamewar rather than a "developer" flamewar. You're right in that Gnome/KDE get on fairly well (well, they do now; I think there was some antagonism early on), but users get very angry in the same way we have perl/python/ruby wars, emacs/vi, debian/redhat/suse/mandrake/slackware/whatever wars....
      • Re:Sigh.. (Score:5, Funny)

        by addaon (41825) <addaon+slashdot@g[ ]l.com ['mai' in gap]> on Monday March 10 2003, @10:52AM (#5476984)
        Yeah, except that it makes sense that some people might want to use KDE, and some might want to use GNOME. What possible justifaction is there for emacs? [ducks]
      • Re:Sigh.. (Score:3, Funny)

        by einhverfr (238914)
        From the parent post:
        but users get very angry in the same way we have perl/python/ruby wars, emacs/vi, debian/redhat/suse/mandrake/slackware/whatever wars....

        The article said something about Havoc frome RedHat. Now if RedHat would stop spreading Havoc, maybe we would be better off ;-)
        • Re:Sigh.. (Score:3, Interesting)

          by larien (5608)
          Well, I guess there's two arguments:

          1. Gnome should never have started because it took developers away from KDE.
          2. Competition from Gnome has pushed KDE to strive for better

          Which is true? *shrug* just playing Devil's advocate, again.

  • by Kjella (173770) on Monday March 10 2003, @09:35AM (#5476391) Homepage
    ...I'm happy. Even Bluecurve sounded better ;)

    Kjella
    • by CoolVibe (11466) on Monday March 10 2003, @09:41AM (#5476432) Journal
      I hope KDE drops that whole K-naming gimmick. Although I love KDE, and I use it every day, it's the one thing that I find downright irritating.

      So, I plea to everyone that develops new KDE apps, _DON'T_ use that silly K-ism shtick. It was fun the first two versions. It's getting old. Be original for a change, okay? Thanks.

      • If you want, you can try my Kremoveinitial, a very useful utility which removes the K initial from every KDE app on your disk.

        Disclaimer: it's still beta and very buggy, but in case of necessity

        ill -9 kremoveinitial

        should solve any problem

      • I hope GNU drops that whole G-naming gimmick. Although I love GNU, and I use it every day, it's the one thing that I find downright irritating.

        So, I plea to everyone that develops new GNU apps, _DON'T_ use that silly G-ism shtick. It was fun the first two versions. It's getting old. Be original for a change, okay? Thanks.

        gcc, gdb, gimp, glibc, gnats, gnome, gnotepad, grub, gnumeric, gnupg, gnustep, gphoto, grep, groff, gtk, guile, gzip, getc, getc, getc.
        • And having debian prefixing kde- or kde_ to the start of the package name is beyond reason?

          Now that I think about it, that is silly, and so is your comment. If you are worring that it is a KDE package, you are obviously not task driven, but environment driven which doesn't make much sense IMHO.

          This is of course different when we talk about configuring the environment, but every application under the sun doesn't need to have k or g prefixed to it. All it does is give the impression that the program is more important because of its environment and not its function.
  • Good news! (Score:5, Insightful)

    by mschoolbus (627182) <travisriley@g m a i l.com> on Monday March 10 2003, @09:36AM (#5476397)
    Oh now Linux developers are actually trying to make a unified GUI standard? Its sure nice to see everyone moving to the right idea here, but I am sure people will still complain because it is all about 'choice'...
  • by nitehorse (58425) <clee@kde.org> on Monday March 10 2003, @09:40AM (#5476419)
    There's a relatively large thread going on in the kde-core-devel mailinglist about such interoperability efforts that you guys might be interested in, too... check out this thread [kde.org] for the whole story.

    The short version is - arts, the KDE sound daemon, uses glib code internally, but the maintainer wanted to move the glib code to rely on an externally-installed glib (instead of maintaining a copy of glib in the arts distribution). Lots of developer confusion over this has ensued, but a lot of interesting discussion has also resulted. Check it out.
    • by IamTheRealMike (537420) on Monday March 10 2003, @09:46AM (#5476467) Homepage
      There's a similar thread on the GNOME desktop-devel-list, basically a debate about DBUS vs CORBA turned into some KDE users (developers? maybe) having a go at GObject yet again.

      The main sticking point seems to be GObject, but I've yet to find a KDEer elucidate what is so bad about it, especially considering it was designed with language bindings in mind.

      • by nitehorse (58425) <clee@kde.org> on Monday March 10 2003, @10:07AM (#5476602)
        I think that a lot of the problem with GObject is (in most KDE developers' minds) is that we feel it's a hack for C to help make OO programming available, where OO is much more readily available in other languages.

        The OO paradigm wasn't around when C was designed, and C certainly is an awkward language to use OO in.

        It's the difference between saying:
        QPushButton *button = new QPushButton("Hello, world!");
        and:
        GtkButton *button = gtk_button_new_with_label("Hello, World!");
        In one case, you have clearly defined language-level constructs and rules about what happens when you use said constructs; using the 'new' keyword on any object means that the language will automatically call the constructor for the object in question.

        So instead of having to write a x_button_new_with_specific_property function, you define a class with the properties, and the proper constructors (because C++ has rules about how constructors get called, instead of forcing the programmer to remember a name mapping for every _new function with every possible permutation of the _with_property names at the end).

        I support GObject personally insofar as it is used for the language bindings, because programming GTK in ruby or python should be easy and fun and take full advantage of the OO properties of those languages; but for use in C? Thanks, but no thanks.
        • You sort of have clearly defined languagle-level constructs and rules about what happens when you use new. The only thing you know for sure is that you either get an exception or a pointer to a memory area that's supposed to be large enough to hold a QPushButton.

          The language doesn't specify what kind of memory it is. It might be allocated directly in a file using mmap, it might be doing fancy stuff with memory maps to do all kinds of weird and wonderful things whenever you write to it (or not allow you to write to it at all), or a zillion other things only limited by the fantasies of some of the most imaginative people around :) Remember, you can provide your own new handler.

          As for the state of the object, you have no idea without knowing what the QPushButton() constructor does. It could be left completely uninitialized because initialization is costly and it's left to the user to call an init() method, the user may be expected to set various properties, or everything might just have been zero'ed out.

          In other words: You are relying on convention to say what operator new does, and on your assumptions about what a class with the name QPushButton() should do, or specific knowledge about this particular class to tell you what you expect the constructor to do.

          Which is, suprise, surprise, the exact same starting point you have with a function called gtk_button_new_with_label(), except that in my opinion the latter name give you a better clue to what the argument is. In the first case it is not clear without going to documentation whether the argument to the constructor is the text on the button, keyboard accelerators, and internal id used in callbacks (why am I supposed to assume that QPushButton has a text label?), or something else entirely.

          And your comment about having to write a x_button_new_with_specific_property function is also more about syntax than semantics - a constructor is a function too, the only difference between the two is that in the first case you have explicit control over how memory is allocated, whereas in the latter to you take what's coming. The first case allows a lot of flexibility to the class implementor that isn't available when using the operator new syntax in C++, hence patterns related to object construction often require the user to use a different syntax even when the user has no need to know.

          As for the number of _new functions with permutations of _with_, you have the exact same problem with C++ constructors: You need to remember the syntax (the order and type of the arguments) of the constructors. With GTK's naming scheme on the other hand, you're a hell of a lot less likely to call the wrong constructor because you remember wrong, pushing more errors from runtime to compile time, which in my book is good.

          If you need more than 2-3 constructors tops, you should be looking at way to more clearly syntactically differentiate them even if you use C++. Eiffel for instance allow differently named constructors for the same class, and that might have been useful for C++ too. Another alternative is of course to use static class member functions, but then we're back to the different syntax for object construction issue that I mentioned above.

          I like C++, and personally don't do much GTK programming, but from your message it is not at all clear to me that you've demonstrated any superiority in C++ object oriented programming with your message (I'm not saying there aren't any, just that you'll have to try harder :-) except for "it looks prettier" and that you think C++ guarantee you more than it does.

              • by nitehorse (58425) <clee@kde.org> on Monday March 10 2003, @07:05PM (#5481096)
                If that's true, then PLEASE, point me to a single Bonobo object implemented in Python.

                Or Ruby.

                Or Java.

                Or SmallTalk. Or OCaml, LISP, Scheme, or Perl. Any one of them.

                Where are they? Where is the "Implementing a Bonobo object in Python" tutorial? Where's the documentation? Where are the examples, the real-life apps using them?

                That's my point. They don't exist, so pointing at KDE/KParts and saying "You have to use C++ for KParts!" is silly, because you have to use C for Bonobo (to implement, anyway. Unless I'm wrong - which, if I am, please do tell me. :)
        • He has found that OO supported by the language is best as his focus on Mono and C# have shown.

          The main issue isn't what's best to develop in, it's how hard it is to share code. If I write an object using GObject, it's fairly trivial to use it from C or C++ (or many other languages). Now, you can bind C++ to C as well, but it's not as easy, nowhere near. The need to manually bind objects is just a total pain in the ass, and something Windows slapped down with COM years ago. CORBA could have been it, but has a bad rap for various reasons.

          So the real question now is not, what is it better to develop apps in, but, how can I share my code with everyone, while using my preferred programming paradigm.

    • glib is great -- I'd love to see it universally available. If both KDE and GNOME used it as a standard base library...
      • Well, this isn't about moving everything to use glib instead of the Qt-based equivalent data types at all (which is what several of the developers on kde-core-devel seemed to think) but simply about moving the copy of glib out of arts and into kdesupport. This way, we only have to keep kdesupport in sync with the latest glib stuff, and arts itself doesn't require updates when glib bugfixes are implemented.

        This is just my take on it, though - I may be misinformed or just plain wrong, but that's how I understand it. As I said, this has nothing to do with porting KDE to glib or anything like that, merely making the dependency tree slightly more sane and cleaning up arts a bit.
  • by silvakow (91320) on Monday March 10 2003, @09:41AM (#5476430)
    The one reason that people walk by a Linux system and immediately think it's arcane is typically the use of anti-aliased fonts. People feel much more comfortable learning systems that look pretty. After all, people never bought Windows because it was stable (not that I'm saying this is the only reason or anything, but it certainly helps ...).
    • what are you talking about flame-bait?

      nobody thinks Xfree86 (its not just gnu/linux you know!) is archane becuase it uses anti-aliased fonts... if anything, people would think it arcane if it did NOT support anti-aliasing.

      granted this support has come a lot after windows has supported it, and some GUI libraries still need to catch up (nto an issue for gtk+2 or qt3) but for older machines, bitmapped fonts look much prettier than rendered ttf's.

      just what is your point?

      the main reason people walk by gnu/linux is that they dont know what it is, or if they do, they have so many windows apps they would rather not lose them ... or they see it as a geek's OS requiring geeks command line skills (true geeks use FreeBSD by the way). I have never in my life heard of anyone walk by a Linux system and immediately think it's arcane becuase it uses anti-aliased fonts.

  • Unnecessary (Score:5, Insightful)

    by tgv (254536) on Monday March 10 2003, @09:42AM (#5476438) Journal
    What I would like to see is not another technical feat, but an effort to bring the Linux desk top closer to the a-technical masses.

    I've recently had the "pleasure" of reinstalling Red Hat Linux and neither Gnome nor KDE are user-friendly at all. Yes, they do copy the Windows 95 desk top, but no, that's not going to help my father. And don't even start about the built-in file/web/help/and-what-not browsers.

    With all this high configurability that's available in both windowing systems, couldn't a group of more human-interface oriented people build a layman interface on top of either Gnome or KDE?
  • by manyoso (260664) on Monday March 10 2003, @09:43AM (#5476446) Homepage
    In general I found myself agreeing with Aaron
    's comments more than the others. The main problem I see with Havoc and Waldo and all the others pushing for more shared technologies across the desktop is the implementation technology. KDE is built from the ground up upon Qt/C++ and this is one of the major reasons for it's considerable success. I see no reason to change this winning strategy.

    Recently, we've been discussing the incorporation of Glib into KDE on the core development list. While I am not against this per se, I wonder whether the GNOME developers will ever allow the use of Qt/C++ in any shared technology. It seems to this day that Qt licensing is still a problem for GNOME. One of the greatest ironies in all of Free Software, IMHO.

    If Havoc and Waldo are serious about integration then this problem will have to be addressed in earnest. I do not want to see KDE come down a level in technology just so that GNOME apps can integrate into KDE. Better to improve the great applications we currently have in KDE then waste so much time focusing on some elusive merging of these two.

    Besides, choice is good and GNOME with KDE offer this. Where we can agree upon specs and closing superficial differences we should and that will help those who choose to use GNOME apps in KDE and vice versa. But please, let's not rearchitect KDE and strip it of Qt.
    • If Havoc and Waldo are serious about integration then this problem will have to be addressed in earnest. I do not want to see KDE come down a level in technology just so that GNOME apps can integrate into KDE.

      The real problem that needs to be addressed in earnest is the idea that C++ and KDE are fundamentall superior to GObject C/GNOME. While certain KDE developers persist in having a "KDE is perfect, GNOME is teh suck" attitude, the biggest barrier to integration is attitude, not technology.

      • by manyoso (260664) on Monday March 10 2003, @09:57AM (#5476532) Homepage
        They are far superior when it comes to an object oriented development environment. Code reuse is a good thing and C++ has support for object orientation in the language itself. Now, while it isn't necessary for everything, it certainly is the best solution for a desktop. KDE is more integrated and one of the major reasons is the use of Qt/C++.

        BTW, I don't take the 'KDE is perfect, GNOME sucks' attitude. I prefer KDE, but this choice does not in and of itself disparage GNOME. Plenty of opportunities for improvement on both sides.
            • Re:Yeah? And? (Score:3, Insightful)

              by 0x0d0a (568518)
              However, almost 95% of what Glib does is already handled by Qt (and in some places, in a more natural manner, such as QObject vs. GObject)

              Huh. I haven't even seen GObject -- I've only used glib 1, not glib 2. I guess I should see what's up. Some of the things are the same. I'm pretty sure that both have some sort of API for creating timers, for example.

              Qt provides the same easy ways to use C strings as glib does.

              No, I don't think it's quite as nice -- if you'll take a look at some of my other posts in this thread, you'll see me talkign about them.

              GNOME would probably never want to depend on Qt (it's GPL'd, not LGPL'd)

              I always wondered about that. How do the KDE and TrollTech people get along when it comes to licenses? kdelibs is LGPL and is definitely dynamically linked to qt, which is GPL.

              depending qt on gnome would do the same thing.

              I think that would be worse. Glib is a very small, basic set of utility code that gdk/gtk use. You'd have to combine all three of them to have something equivalent to Qt, so GNOME depending on Qt would be a much larger set of dependencies. KDE can comfortably use lots of glib code without having to adopt a new object model, but GNOME doing the same with Qt would not hold true. Plus you'd be introducing a C++ requirement into GNOME, plus there's the license issue, yadda, yadda, yadda.
      • by tjansen (2845) on Monday March 10 2003, @10:02AM (#5476562) Homepage
        Most KDE developers have chosen KDE because they think it is superior. Otherwise they would have chosen Gnome. For example, I worked on Gnome stuff for a while but it was almost unusable for me. Then I decided to give KDE a try and never went back.

        So today the fundamental rift is that KDE developers think that C++/Qt is the most productive environment. Using GLib is just no fun, it is painful compared to C++/Qt, Java, C#, basically every modern programmign environment. And I also think that it is not possible to compete with MacOS X and Windows using C/Glib technology. They are already years ahead, and trying to catch up using a more primitive programming environment is crazy. I could understand to go 100% Mono, but C/glib?
        I would rather stop developing on GUI software and/or buy a Mac than write GUI apps using glib.
        • One of the points behind Glib is that it is a cross language technology. You don't have to write stuff in C to use GObject, they are (supposedly) fairly easy to bind to other languages. I guess you'd know, as you wrote the KDE GStreamer bindings.

          The idea behind .NET is similar - code sharing between languages. The lack of pretty much any automatic-binding (like corba or com) object model at all, means GObject is the best we've got.

          So, if people prefer Qt/C++ then that's cool, GObject lets you use that. I don't know C++, and I don't want to learn it unless I have to, so I can use C, or Python, or Perl, or C# etc etc

  • by theGreater (596196) on Monday March 10 2003, @09:45AM (#5476455) Homepage
    Seriously, I love the titles we're given these days. Currently I'm a Senior in a Computer Science program... but really, I think I should get a raise and the new title "Education Subscriber" or maybe "Learning Engineer".

    Is this type of deal limited only to the Tech Sector, or is everybody throwing about hyphens and "Engineer" to make people sound more important?

    Other good tack-on words I can think of would be associate (no, that's not the Fry Cook, that's our Comestibles Associate), analyst (hey, I'm not a waitress, I'm an Order Analyst), and vice president (no, I'm not the bus boy, I'm the VP of Table Maintenence).

    -theGreater Cynic.
  • one API. one look. (Score:5, Interesting)

    by CreatorOfSmallTruths (579560) on Monday March 10 2003, @09:46AM (#5476465)
    a unified look and feel to both Gnome and KDE will be great. I would even go further to suggest that someone should write a book in the lines of the M$ book of standards (its a book full of "thats how a window should look like" and "thats how a button should look like" etc.) for the linux environment.
    I know this is sort of a blasphemy, after all - linux is about tweaking, but nevertheless its quite irritating to use middle mouse to paste in one program, ctrl-v in the other and shift-insert in the third , without any way of deciding or even a way to know in advance.
    just my 2 cents...
    • by spitzak (4019)
      its quite irritating to use middle mouse to paste in one program, ctrl-v in the other and shift-insert in the third

      You are obviously just making things up. I think you will find that the vast majority of programs accepts ALL THREE of these.

      If you really knew anything you would know that the "inconsistent" program is Emacs, which takes Ctrl+Y to paste. There are also very old programs that have no idea about pasting at all, but I'm sure you can find some Windows programs like DOS ports that don't pay attention to pasting either.

  • by rithvik (515100) on Monday March 10 2003, @09:54AM (#5476510) Homepage
    I just installed Gentoo, to try out kde 3.1. Well, it is just great. The one problem was this. The FIRST option in Konqueror setting menu is Show Menubar. Click on it by accident (which is easy since it is the first option), and you are in lost world. It was ok for me, since I know how to tinker and find out that control+M turns tyhe menu back (still it was difficult), imagine the newbie hitting this setting. WTF..
    • Those types of options need to be well-hidden. MS has had these options in various flavours and forms(and in the forms of service packs, etc, which broke more things than they fixed). One of the bad assumptions about Windows is that is is easy-to-use. If you start someone out on BSD or Linux and move them to Windows, and then even to another version of Windows, they wonder what the hell you are doing. Microsoft continues to move commonly-used options and functions around. I'm not saying that KDE and Gnome are the ultimate, but I see people saying we should take a lesson from Microsoft.

      If that's the case, I think we should take KDE's Control Center, name it to Control Panel, move it under Applications->Accessories->System Functions. The in the next minor release, let's move it under Applications->System->Options and call it System Control. Then in the next minor release, we need to call it "KDE System Control" and move it to Applications->Utilities->System->Options.

      The point is, taking a lesson from Network Neighborhood, moving things from one place to another is a PITA. That's one of the good things about KDE & Gnome. When they change something that big it's not hard to find it, the name rarely changes. So yes, MS should take a lesson from us.

      Options like the one you mentioned are there for those who prefer it, but need to be well hidden under an "Advanced Dialog". Why? Because there are people who expect things to work in certain ways that we consider "stupid" or "difficult" or "dangerous" when in fact it is quite the opposite for that person. Yes, I prefer more and more configuration options, and yes, I believe they need to be well, well, well hidden. Perhaps an overall option in the control center where you can set configurability from "Basic", "Advanced", "Expert", "Don't Blame Us"

      Just my 2c
  • by NDPTAL85 (260093) on Monday March 10 2003, @09:56AM (#5476527)
    ...REASON joins the open source movement!!!

    Choice is good, when limited. When allowed to run free, its actually a prison unto itself.

    Too many GUI's, desktop environments, xfree86 shells, WHATEVER you wanna call them (see there's even too much choice on naming the damn things) and userbases get splintered along with their apps making Linux HARDER not EASIER to use.

    A united GUI is the best chance Linux has for a respectable marketshare on the desktop.

    And for all you "But you will RUIN my LEENUCKS if you make it easy to use, I like being counter-culture and unique!!!!!" and "Dammit. Choice is sacrosanct! I don't care if NO ONE can figure out how to use Linux, if it doesn't have 500,000 different ways of doing the same thing then it isn't worth installing! Can't you see? Linux is ALL about WASTEFUL and POINTLESS duplication of effort! Why go foward when you can spend eternity going nowhere!!?!?!" people relax. I am sure someone will create a new Linux distro, the "Ub3r L33t Linux Extra-Special Hard To Use" distro with a built in AI that will monitor your usage over time and re-arrainge various commands randomly to keep you on your toes and make sure Linux never becomes "too easy" for you. Legions of filthy unwashed nerds and geeks, dissilusioned by the increasingly easier to use mainstream distros will flock to this new permanently hard to use distro. They will form communities to provide each other with moral support. Real Estate firms will notice a skyrocketing in their sales and rentals of basement unit apartments/condos as the geeks settle in for a lifelong pursuit of sunlight shunning and the disdainment of anything easy or social. Although these geeks and nerds will think their intelligence is par none, they will miss all other technological advances and fall further and further behind the rest of society. When their savings finally runs out and they apply for computer jobs interviewers will be amazed that you've all spent the past 5 years using what will appear to the rest of the world as "DOS Linux". Laughed out of the interview the poor geeks will have to settle for flipping burgers at the local fast food restaurant for a short time until they are replaced by burger flipping robots. Finally realizing their worthlessness to society in general they will join an EverQuest cult where they will all live in massive communes cut off from the rest of the world and live peacefully until someone forgets to pay the EverQuest bill and they all jump off a bridge from mass depression.
    • You make some good points.

      However, you must avoid making the assumption that anyone who wants "choice" wants it simply for the sake of choice.

      Some of us have been using Un*x-like operating systems for many years. We have built entire computing lives out of shell scripts--ways to manage our budgets, ways to manage our contacts... and we have also spent a great deal of time tweaking desktop configurations (which have traditionally been very flexible in open-source GUIs) with focus behaviors and window behaviors that make our computer work more efficient.

      It may seem only like a small option here or there is removed when GUIs are "simplified" but if that was the option that *you* depended on, and if removing it makes your computing 50% *less* productive on average, you're going to be upset about it.

      I get tired of people assuming that I use feature 'X' in Linux just because I want to be different. The reason feature 'X' exists in the first place is because somebody thought it was needed. When you remove that feature once again, that person has lost a feature in Linux that he or she *needs*. This is not likely to make him or her happy.

      I can understand the thought that to lose that one user in order to gain another ten is a good tradeoff in terms of Linux market share, but you certainly can't expect that particular person to be happy that the latest version of his or her favorite operating system has basically left him or her out in the cold.
  • by IamTheRealMike (537420) on Monday March 10 2003, @10:04AM (#5476581) Homepage
    One of the biggest problems in making KDE and GNOME integrate well and feel consistant is the lack of a standard object model. As Havoc pointed out, some kind of "hub" would be great in future, allowing people to share Qt/C++ code with GLib/C with .NET with Python with Perl.

    Unfortunately, getting such a thing into KDE looks set to be next to impossible. A small but vocal minority appear to be dead-set against using even GObject, which only tackles a small subset of the problem of code sharing - the idea of using GObject seems to scare them witless.

    I wouldn't normally name names, but it's starting to get very irritating. Neil Stevens and Zack Rusin in particular, (there are others) consistantly object whenver the possibility of using something based on GObject (even when wrapped in the KDE style) is brought up. I've yet to see them state what is wrong with GObject, beyond "it's not appropriate" or "KDE developers should only have to use Qt C++".

    To be honest, this isn't the first time I wish KDE had gone with CORBA. Unfortunately, by dropping it before it matured, they blew a hole in the consistancy of the Linux desktop a mile wide, leaving their answer to "how do we get consistancy" to be "only use KDE apps".

    • I don't know if you have ever been involved with KDE development, but I've been following it for 5 years now (maybe longer... I don't remember exactly when I started building from CVS).

      Let me tell you what. Maybe it's not endemic of every CORBA implementation (hell, maybe even ORBit is unaffected by this) but MICO in particular is slow. When I say SLOW, I mean:
      • slow to compile
      • slow to run
      • slow to get up-to-speed with, API-wise

      Before the actual KDE 2 release, before DCOP and KParts were ever invented, KDE used to use MICO for its CORBA implementation. We had cool technology called KOM/OpenParts, which was completely 100% based on CORBA. And it was slower than hell.

      It took hours to compile KDE from CVS back then - kdelibs + kdebase was a 6-hour job on a top-of-the-line machine. It took minutes for Konqueror to start, and it was buggy as all hell, even after six months of bugfixing (including, iirc, a few patches being sent to the MICO guys to fix bugs in MICO as well).

      Finally, after all of the problems with MICO had been enumerated, a couple of our developers claimed that they could come up with something better in a weekend. Were they being arrogant? Sure. Were they cocky? Absolutely. But were they right? Surprisingly, yes. (Actually, I seem to remember the initial DCOP implementation taking 4 days, but that's really just a long weekend. ;)

      As soon as DCOP and KParts were released, development on the 2.0 branch ramped up exponentially. We released 2.0 within months, as opposed to still being years away due to the incredible slowness and bugginess and complexity inherent in using CORBA for desktop communcation.

      And the technology introduced back then is still going strong today. KDE 3.1 still has the same DCOP command-line tool, the DCOP API is still the same, and almost all of the programs' DCOP interfaces haven't changed. I doubt that any single one of these would be true had we stayed with CORBA.

      (Sorry for the rant, but you have NO IDEA how much CORBA sucked for us, and I am 100% sure that it would suck equally as much, if not incredibly more, today.)
      • Let me tell you what. Maybe it's not endemic of every CORBA implementation (hell, maybe even ORBit is unaffected by this) but MICO in particular is slow. When I say SLOW, I mean:

        Well, ORBit is something like 2-3x faster than DCOP iirc. ORBit still has painful C apis, but that's just a property of OOP in C I think, CORBA in for instance Python or some similarly high level dynamic language is pretty painless.

        Before the actual KDE 2 release, before DCOP and KParts were ever invented, KDE used to use MICO for its CORBA implementation. We had cool technology called KOM/OpenParts, which was completely 100% based on CORBA. And it was slower than hell.

        Yes, I know. Unfortunately, the KDE guys wrote off CORBA completely, rather than writing off the implementation (mico) as being unsuitable for desktop usage. It's like people with X. "Oh no, it's hard to get anti-aliased fonts in X!!" or whatever, when what they really mean is "I don't like XFree the implementation". And so today we have ORBit, which is pretty light and fast. Is it perfect? Nooooo, no way. CORBA is still complicated. But with that complexity comes features - like the ability to write an object in one language/environment, and use it in others, both inproc and outproc.

        I think we're confusing two things. You can use CORBA for DCOP style "poke me" IPC, but something like DCOP/DBUS seems to be better. You can also use it for distributed objects, something that KDE has nothing for. KParts is tied to Qt/KDE/C++/inproc only. DCOP is not suitable for distributed objects.

        I'm talking mostly about distributed objects. They interest me. DCOP style scripting is cool too.

        (Sorry for the rant, but you have NO IDEA how much CORBA sucked for us, and I am 100% sure that it would suck equally as much, if not incredibly more, today.)

        Except it doesn't. Sure Bonobo has issues, but then it's more ambitious. See how useful COM/ActiveX is on Windows? That could have been CORBA on Linux. Now - now we have nothing, and are reduced to bickering about whether objects in C are good or bad :( [sigh]

        • by nitehorse (58425) <clee@kde.org> on Monday March 10 2003, @10:59AM (#5477039)
          Well, it's still not possible for me to access those distributed objects from the command line.

          I can tell my media player (Kiwi) to go to the next song with this command from a script, or the command line, or from another app:
          dcop kiwi KiwiIFace nextTrack
          Talking with a few GNOME developers, it seems that something this simple, this useful, is still not possible in GNOME (Please, correct me if it is! I hate being misinformed).

          As far as the 'distributed' nature of CORBA: Can you show me how to take advantage of this? I can't find any documentation on the Net about it, and the APIs in CORBA are hopelessly complicated (even for me to understand, and I'm a developer...). If my Gnumeric object is on another machine, how will Evolution embed that Gnumeric object locally to show a spreadsheet? Is that even possible? IIUC, it's supposed to be, but I've yet to see it done.

          The language-neutrality I'll give you, but in response to that: How many useful Bonobo parts are being implemented in Python? How about ruby? Or Perl? Or maybe Smalltalk, or Java? No? Why are they all in C, if the language doesn't matter? (Again, correct me if I'm wrong - but I've yet to see a Bonobo part implemented in C++, let alone any scripting language.)

          In short, I find that the KDE technology gives us flexibility that we don't see in GNOME, and it works plenty fast enough for our uses, while also being easily accessible to new developers.

          When I was adding new DCOP functions to Kiwi (having never used DCOP before) it took me all of twenty minutes to figure it out; once I had figured it out, adding the second DCOP function took five minutes. How long do you suppose it takes a new GNOME developer to get up-to-speed on using ORBit?
          • Maybe Linux should become a hierarchical tree of objects, with an object model common to all languages and environments; the notion of 'filesystem' should be abandoned and the notion of 'persistent object tree' should be introduced... this would really be innovative, albeit not very Unix-like any more.

            Maybe another Linus Torvalds is hacking it out as we speak.
  • by path_man (610677) on Monday March 10 2003, @10:17AM (#5476675)

    When I look at areas where both Gnome and KDE can both improve, I see the basics. Things like printing. Things like sound setup. CDRW... DVD... improved .jpg and .tiff and other image management & manipulation.

    I know the immediate, knee-jerk response is going to be that there are great programs out there which handle all of the things I listed above. The problem is they aren't as integrated into either Gnome or KDE as they SHOULD be. Whether we like it or not, the Microsoft Windows 2k & XP interface is the gold standard for how applications are integrated into the desktop.

    What we should be thinking of is how we simplify the integration of applications into both KDE and Gnome desktops.

  • detail not opinion (Score:4, Insightful)

    by mydigitalself (472203) on Monday March 10 2003, @10:35AM (#5476848)
    "The new start menu is also an abomination. In fact, those two days with Windows XP reminded me why most people hate computers. I'd hate them too if that was all that was out there."

    as a linux/freebsd user you would think i wouldn't, but i actually quite like the new start menu. i really like the fact that it adds shortcuts on the fly to your most recently used programs. i think it looks very elegant and it also simplifies a lot of tasks for people such as my mother (the usual metaphor!) in terms of its "My Recent Documents", "Connect To" etc...

    my problem here with these guys statements is that they all, and in particular Aaron just makes these swooping opinionated statements without any meat to back them up.

    i was also concerned that none of them have much experience with Windows XP. i would assume that apple looks at it all the time to not only imitate things it has done well, but to avoid things it does badly. surely these guys should be analysing osx and XP and doing the same thing?
  • by FullCircle (643323) on Monday March 10 2003, @11:22AM (#5477233)
    I find it highly disturbing that they don't use Windows every so often. I mean, come on, Microsoft spends TONS of cash on usability studies and 99% of the world knows Windows.

    I don't want an XP clone (although the thought is not that bad) but if you are creating a new UI, XP should be required study. Both for it's good AND bad points.

    They should also use OSX, MacOS9, Be, and any other OS worth mentioning on a regular basis. XP is not the be-all-end-all.

    Unix is the ONLY OS without a standard GUI.

    IMHO, the KDE vs. GNOME battle hurts Linux on the desktop more than it helps. Great, we have choices. But really, if there was a LINUX GUI, not two half-assed UI's, we could be much further along on our way to a really good UI. Red Hat 8.0 is the only distro to "get" this and they were crucified for trying it.

    1. The best code from each would have been used and the worst would have been dropped.
    2. There would be twice as many developers.
    3. Users would not have to choose their problems.
    4. Tech support would be possible.
    5. Graphical tools could be made for system configuration and packaging if they did not have to support a multitude of OS's.

    Too many options is good for a technical individual, too many options is NOT a good thing for a group. If they can't get together, I hope they both fail or lose mindshare. The Linux community would be better off with it's own standard GUI.

    It's not the packaging, the number of distro's or X Windows holding Linux back as I hear so often. It's the desktop. The other problems can be solved with a standard GUI.

  • by ortholattice (175065) on Monday March 10 2003, @11:59AM (#5477540)
    This is a good interview, but I find the following vaguely troubling:
    5. What are a few things you like and dislike about the Windows XP interface?...
    Aaron J. Seigo: I've used Windows XP for a scant total of 2 days...
    Havoc Pennington: ...The task-based interface looks interesting, but I've never tried it out...
    Waldo Bastian: I am not familar with Windows XP.
    For better or worse, MS has spent untold millions on usability studies of the user interface in Windows XP. Perhaps a lot of the UI decisions were misguided, but I doubt the decision to include this feature or that was made lightly. Although I personally dislike the XP interface (the first thing I did was switch to the "classic" theme - and of course immediately install Cygwin, Mozilla, etc.:), I think its features should be carefully studied and evaluated on their own merits. Also (IMO), a feature should perhaps be "biased" towards the MS behavior for the default settings, if there is no clear advantage otherwise, simply because that's what most people are familiar with. This will make the desktop attractive and comfortable for the greatest number of people. Those who dislike it can of course configure it however they want.

    MS did a lot of work on this. Maybe a lot of the results are distasteful - but that doesn't mean one should hide one's head in the sand. There may be some good things and some bad things, but choices can be made more intelligently when there is a broad base of knowledge to draw upon.

    (Same comments for Mac UI of course...)

  • menus and apps (Score:3, Interesting)

    by zogger (617870) on Monday March 10 2003, @12:13PM (#5477643) Homepage Journal
    --I only got one serious beef with the various distros I've tried. I want ALL the apps installed on the machine to show up in the GUI menu system. I don't care if it's a little dragon or a little fat guys foot, when I click on that thing down in the corner I want the menu to be complete. I got stuff on here I don't even know what I got. No idea where it even is. That was my first impression of Linux, I KNEW I had a lot more apps then what showed up.

    The only other useability beef is dialout, I had dismal luck at first getting a normal over the old fashioned telephone wires internet connection, MAN that was annoying. I have yet to get kppp on mandrake to work,but I did get redhats dialer and front end to work in the 7 series, and not even gonna attempt to do it with "tweaking files" ever, ME tweaking files is an invitation to mass FUBAR, this is just *so true* it ain't funny. I love that that option is there, sometimes I fool with it, but NOT with my inet connection, that's the primary reason I own a computer.

    Besides that, it's a pretty nifty system, if the developers can integrate, more power to them! I'd love to see it. The concepts for GUI are fairly easy, you have to be able to look at what's there, and it should make sense and do what it's told. If it can't, then it won't get used or people will get frustrated. GUI it appears can be made more complex, but then you have to ask "why do that?"
  • sigh (Score:3, Interesting)

    by stilborne (85590) on Monday March 10 2003, @01:55PM (#5478532) Homepage
    i'm not the head of usability. nor the "manager", "leader" etc... of any such thing. i'm a participant. perhaps a fairly active one, but that's probably the extent of it.

    Aaron J. Seigo
    • I don't think you can standardise on any desktop, that would be unfair for those people developing other systems.

      Yes it would be nice to ditch the KDE/Gnome names and just call the desktop simply "Linux Desktop", but Linux isn't the desktop, it's the kernel.

      KDE and Gnome are available for other systems, Sun recently changed their default desktop for Solaris to Gnome 2. Sometimes you have to remind yourself sometimes that their is life outside of Linux :)
    • Re:Funny excerpt... (Score:3, Interesting)

      by dvdeug (5033)
      And how is that a bad thing? No more shareware syndrome. Panic installing of random software is a sure fire way to hose your system. Experts know this, lusers don't.

      And how exactly do you take 8 different programs to do the same thing and find the one that's best for you? The advantage of Debian for me is that I do it all the time, and it doesn't hose my system (which I understand most Linux and BSD distributions have also got down pat.)

      Joe-sixpack windows (and mac) users are very prone to the shareware syndrome, _because_ it's do frigging easy to install random software.

      Again, that's not a bad thing. When I hear jokes about "I'm going to make Windows stable by reinstalling Windows and only installing a few programs." and the other character stares while he installs ICQ, Winamp and a couple dozen other programs, it makes me shake my head. I can install all the programs I like in Linux without worrying about stability.