Slashdot Mirror


Harsh Words From Google On Linux Development

jeevesbond writes "The alpha version of Google Chrome is now available for GNU/Linux. Google Chrome developer and former Firefox lead Ben Goodger has some problems with the platform though. His complaints range from the lack of a standardised UI toolkit, inconsistencies across applications, the lack of a unified and comprehensive HIG, to GTK not being a very compelling toolkit. With Adobe getting twitchy about the glibc fork and previously describing the various audio systems as welcome to the jungle, is it time to concentrate on consolidation and standardisation in GNU/Linux in general, and the desktop in particular?"

22 of 948 comments (clear)

  1. There's nothing wrong by mikesd81 · · Score: 3, Interesting

    with having a standard in Linux at all. It doesn't have to be a just about GTK and QT either. They're both widget kits. Great. The standard has to start in the file system. Red Hat, for instance, worries about being backwards compatible with each update, as it should, but that means it broke the FSH to begin with. So migrating from RH to another Linux distro that may follow the FSH is difficult. Also, it makes installing things a pain sometimes. A few times I've had to edit a config file because it points to a web server in /srv/www but in reality my system may use /var/www/ or what have you. Just because open source is about choice, doesn't mean there shouldn't be a standard set.

    --
    That which does not kill me only postpones the inevitable.
  2. Re:Use Qt.... by moonbender · · Score: 4, Interesting

    True! And since it now comes with QGtkStyle, which uses GTK+ engines and widgets to render stuff, you can use it and have a nice looking app at the same time.

    --
    Switch back to Slashdot's D1 system.
  3. Re:Um.... by Bloater · · Score: 3, Interesting

    and I don't understand what's wrong with that.

    It's like saying "There are so many different operating systems for so many different types of hardware that the computer market is too fragmented - so we won't produce any software"

    It's silly. If you want those users then you make the software, if you don't then you don't. simple.

    BTW, I'm in the throws of switching to Vista after being an Ubuntu user for many years. They don't like my bugs but Microsoft actually seems to care.

  4. Re:Um.... by Anonymous Coward · · Score: 5, Interesting

    Meh, everything is a trade-off. Qt is way easier than Gtk and has a huge API for doing all sorts of cross-platform stuff. Plus it's truly cross-platform whereas Gtk is pretty crappy on anything other that systems running X Windows.

    The trade-off is that Qt is C++ and Gtk is C. This actually matters a lot when you need to interface to other C-only applications and libraries or whatever. C++-to-C is easy but using it the other way around is problematic and annoying. Then you have the issue of how clean the code is in each language (depends on your point of view as to which is better).

    There also used to be the issue of Qt forcing the GPL down your throat but that is no longer an issue because both Gtk and Qt use LGPL.

    Personally I have been using Qt for everything recently. Since the switch to LGPL it's the obvious choice even though I'm a C purist at heart. I hate the fact that it's so big though. Since it's LGPL you can't statically link only the stuff you use so your application installs tend to be larger than they really should be...

    Trade-offs... Everything... So annoying, makes it hard to develop truly high quality software.

  5. Qt by Enderandrew · · Score: 4, Interesting

    Chrome should have been built on top of Qt from day 1. You'd have tight integration with Webkit, a great toolkit, and cross-platform from day 1 on Windows, Mac, Linux and Solaris.

    Google opted for VERY Windows-centric design which made porting hard, and then the man tasked with porting to Linux choose a poor toolkit and then blamed the Linux platform for two bad decisions in a row made by Google.

    I have zero sympathy.

    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
  6. Re:Um.... by i.of.the.storm · · Score: 5, Interesting

    Meh, does Chrome even follow Microsoft HIG? The tabs being almost part of the title bar, and the lack of an actual window title in the title bar, as well as the random Google logo next to the buttons, all seem to be completely contrary to what I expect on Windows. As do the Vista style buttons even on XP, but then Microsoft did that too with Windows Media Player in some version.

    --
    All your base are belong to Wii.
  7. Re:Yes by Enderandrew · · Score: 4, Interesting

    Except GTK is so poor that you have Gnome devs calling for a major restructuring, and Mark Shuttleworth of Cannonical/Ubuntu fame calling for Gnome to be built on top of KDE. Ubuntu hitched their wagon to Gnome very early on, and ships broken KDE packages to this day, but I have to wonder if Shuttleworth regrets that decision today.

    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
  8. Re:Linux's greatest strength = greatest weakness by jbolden · · Score: 3, Interesting

    Application developers shouldn't be targeting desktops. They should be working with the distribution system. So in other words helping: RedHat, Mandriva, Debian... bring out their version of Chrome and let them distribute the packages.

    That's the big problem, commercial app developers want to bypass the distributions without understanding that is the natural point of contact.

  9. Re:World of goo anyone? by Enderandrew · · Score: 4, Interesting

    PulseAudio is just terrible in its current state. Phonon conversely is EXTREMELY easy to program for. There was a proof-of-concept media player app written for Phonon in 5 lines of code. It has multiple engines/backends to talk directly to the hardware, which do the heavy lifting. When writing an app, you don't have to debate between support for Gstreamer, or Xine, or whatever. Just write for Phonon and then don't sweat it.

    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
  10. Re:Um.... by esten · · Score: 3, Interesting

    While i'm aware that a HIG should cover more than just the look and feel, it feels like google bends the rules when it comes to interface guidelines.

    While the GUI for Chrome is different from many other browsers it is very similar to what Microsoft has done with the new office interface and is just a new direction in which GUIs are going.

  11. Re:I don't see anything wrong by XDirtypunkX · · Score: 3, Interesting

    Chrome is really about as simplistic as UIs get (apart from the web pages themselves). There aren't checkboxes or radio buttons on the main interface; you get tabs, a toolbar/address bar and that's it. To go further, the rendering in Chrome happens in a separate process (not even tied to the GUI) which is RPC'd back to the main process, which indicates that it's not really tied to the GUI toolkit either.

    Is a standardized set of human interface guidelines really going to help them? Or are they just making an excuse for not servicing a small but vocal market? The truth is, if the Chrome developers wanted to worry about standardized interfaces, they would do the work to reproduce what they have on Windows. They didn't care about the standards on Windows (tabs on the title bar), so why would they care about them on Linux?

    While I'm all for creating a common interface "language" for users to understand, I don't think a "linux" specific one is going to be helpful. Making it easy to move from using Chrome on Windows to using Chrome on Linux is much more helpful than saying "hey, look, you can use Chrome on Linux if you know how we do things around here". Making it so someone that uses Windows can understand the linux visual "language" is important, in the same way that we want people to understand what we say when we travel. Otherwise moving to Linux with it's own HIG is going to be like moving from England to China.

  12. Re:It's been time for YEARS by osu-neko · · Score: 5, Interesting

    Linux is a server OS, only used on the desktop by enthusiasts.

    I would hope that all desktop OS's are used by enthusiasts. People who run Ubuntu should do so because that's what they like. People who run Mac OS X should do so because that's what they like. People who run Windows should do so because that's what they like. If people are running an OS for some other reason, then we have problems...

    Accept it, because the kind of standardized APIs that are needed are not going to happen with the attitudes that this community has.

    Indeed. If we were to reject that attitude and simply standardize around a single way because it's best if everyone runs the same, we'd all run Windows. There's no logical argument that can be made for rejecting running Windows but advocating a standardized API for all Linux platforms. The argument for a standardized API is an argument against having multiple operating systems to begin with. Someone who thinks every Linux-based OS should have the same look, feel, toolkit, API (beyond the Linux kernel), etc. but accepts the notion that we shouldn't all just standardize around Windows is in a state of cognitive dissonance, holding logically imcompatible ideas to be simultaneously true. That's not so amazing as the fact that they've managed to maintain it for ten years...

    Setting aside the logical contradictions of your point of view for the moment, and just out of curiosity, when you say "that are needed" -- needed for what? I'm unaware of any objective that an OS should have (keep my computer running, my multiple programs sharing resources effectively, my data safe, etc.) that would require other operating systems to run the same API as me. Why would it matter if my Debian desktop and your Fedora desktop are different? And why would it be more important and somehow more tragic that our two computers are different when it's not likewise tragic that my Debian desktop and my friend's Windows desktop are different? Why is one case of difference bad but the answer is not for all three of us to adopt the more popular standard, rather that for some reason two of us should and one should not?

    --
    "Convictions are more dangerous enemies of truth than lies."
  13. Re:RTFA, they did by Vexorian · · Score: 3, Interesting
    Because without a consistent GUI they wouldn't be able to basically throw the consistency to a garbage can and feel so warm inside after they do it.

    Seriously, what's even remotely consistent in windows' chrome in relation to windows' theme and interface rules? I think google is bullshitting with this one.

    --

    Copyright infringement is "piracy" in the same way DRM is "consumer rape"
  14. Re:Use Qt.... by slack_justyb · · Score: 4, Interesting

    I have no idea why GTK+ is still around since Qt went LGPL.

    Qt has better documentation than GTK+.

    As an example, you'd be hard pressed to find a widget in the QT documentation that is not documented. GTK+ has rough around the edges documentation for it's Canvas.

    I know that RedHat is putting a lot of weight behind Java technology as one of the first and foremost distros for the OpenJDK. I can attest that the QT Java bindings are way better than the GNOME bindings. It would make sense for RedHat to toss weight behind QT. Google already uses QT for Google Earth. And KHTML is, sorta, WebKit which is Chrome. It all makes more sense to put our weight in QT.

    I've got nothing but love for the GTK+ people. Also, don't kill QT just because of the KDE 4.0 issue. They've made good on their latest desktop, but don't knock a good Toolkit because of the DE.

    My two cents.

  15. Re:Yes. by Randle_Revar · · Score: 3, Interesting

    If you want to drop whole subsystems, ALSA would be a better choice than X. Modern Xorg (DRI2, KMS, UXA, evdev2, xcb, hal support/input hotplug and xrandr 1.2+/output hotplug) doesn't look much like Xfree86, and with this summer's release bringing xinput2 and the next Mesa release including Gallium3D for the first time, it will put X in a very good position.

    Once all of the new technologies are in use across the board, and the fine tuning has begun, X will be very competitive with the Vista/7 GUI model and the OS X model.

  16. Re:Um.... by EsbenMoseHansen · · Score: 4, Interesting

    As they explained multiple times, they choose GTK because that's what the team doing the Linux "port" is familiar with. However their architecture allows to easily use different toolkits and they are willing to accept patches to support Qt or whatever else. They just don't have the resources necessary to support more than one toolkit.

    For laughing out loud. Just like SWT supports any toolkit, I presume. What they did was to shove an abstract API mirroring the one of the windows toolkits. Of course, you can make that work on any toolkit, but it is not always going to be easy, nor a perfect match. And who needs another browser? Chrome offers very little new, being essentially Yet Another Konqueror Fork. (Maybe we can just label them all YAKF :o) )

    But I merely replied because of the stupidness spouted about C++ re Qt.

    --
    Religion is regarded by the common people as true, by the wise as false, and by rulers as useful.
  17. Re:Um.... by cheesybagel · · Score: 4, Interesting
    How many sound APIs does Windows have? There is WinMM, DirectSound, Media Foundation. I have seen games use OpenAL, FMod, Miles Sound System. Windows Vista's MIDI subsystem is incompatible with that of Windows XP, and means I get substandard MIDI sound. Talk about some feature regression.

    Linux has had two leading sound systems. It used to be OSS (many years ago) and has been ALSA for quite some time. If you require anything else, you are probably going to have trouble in some distributions. Now, ALSA may be considered a crappy API, but then again, so was WinMM and it didn't stop people from using it.

  18. Re:It's been time for YEARS by BKX · · Score: 3, Interesting

    I suppose this is feeding the trolls, but I'll bite...

    The reason they called your on-board raid fake-raid, is because it is. It's just average, everyday run-of-the-mill software raid with a bios-based setup program and special Windows-only drivers. That's your real problem right there. The drivers are windows-only. Now, of course, Linux will use your on-board mirrored Windows partitions just fine (and, with a bit of coaxing, you might even get the mirroring part to work.). And Linux has it's own software raid that's just as good as your on-board "raid" (because it's practically the same thing). It comes with every modern distribution and works on every modern kernel.

    If you really want dual-boot raid with Windows, bust out a higher-end version of Windows that can do actual Windows software raid, with the dynamic disks and all. Linux supports dynamic disks without any real fuss, mirroring, striping, raid-5 and everything else. Windows versions include Vista Ultimate, and any version with 2k in it.

  19. ALSA often exclusively locked. by DrYak · · Score: 3, Interesting

    It {...} has been ALSA for quite some time. If you require anything else, you are probably going to have trouble in some distributions.

    Well, the problem is ALSA is only direct access to the sound hardware (in most common installation. Of course, one could build custom ALSA configurations to pipe the sound through a software mixer). That means that, unless there's hardware support mixing in the sound card (most Soundblasters have it), one application can greedily keep all sound output for itself (happens a lot of time with flash).

    Unless doing full screen games or something other that usually requires exclusive access to the sound card, it would be best if sound enabled applications used API of sound-mixing deamons/abstractions such as ESD & Artd (on old Gnome and KDE) or PulseAudio and Phonon (on more recent Gnome and KDE installations).
    Specially because there are lots of libraries offering plug-ins for several systems and for ALSA (in case no server or abstraction library is there). Such libraries include SDL, GStreamer, lib-AO, etc... and are available on most distros.

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  20. hey Google by Lazy+Jones · · Score: 3, Interesting

    If you want a better UI toolkit, write one yourself. Otherwise use wx or Qt. But it's OK, everyone knows you're just making lame excuses for not supporting Linux properly despite having enough resources for it easily (even the Mozilla Project can do it and it doesn't earn billions every year).

    --
    "I love my job, but I hate talking to people like you" (Freddie Mercury)
  21. Steal an idea from elsewhere by Actually,+I+do+RTFA · · Score: 5, Interesting

    Maybe Ballmer was right? It's all about developers, developers, developers, developers.

    Every time a conversation about programming on Linux comes up, I try to follow it. But honestly, it's just easier programming on Windows machines. There are maybe 4 versions to worry about ME/2000/XP/Vista. And you can probably forget about ME/2000. Even if you don't, it's a few lines of difference (between them and XP, they're prerrt to identical to program for). And you can leave them in when you program for XP/Vista.

    Meanwhile, if you use the best practices that MS recommended for XP back when they released it, there's no difference between XP/Vista programming (unless you're trying to extend windows explorer.)

    It just works, and it's easy.

    --
    Your ad here. Ask me how!
  22. Re:Um.... by pjr.cc · · Score: 3, Interesting

    That said, why do you Linux guys seem to hate standards so much, hmmm? I'm not talking to you specifically fooslacker, but Linux in general. I mean y'all got, what? Three different sound systems now? Would it really be so hard for all the major players to sit down and choose a basic standard, one that will hopefully be rock solid stable with minimal changes and a focus on backwards compatibility, so that writing drivers and programs for the entire Linux ecosystem would be easy and thus attract more companies?

    Its comments exactly like that one that make Zealots. The stupidity of such a comment is hard to quantify and universally obvious to anyone who understands what a standard is and what microsoft have done to them. First of all to mix linux, gnome (or any X desktop) and distributions up into one comment that states lack of standards is ridiculous.

    But lets look at what MS have done. Starting with TCP/IP, microsoft's answer? "we dont like tcp, here's netbuei and netbios" (they weren't the only ones doing it, but thankfully it failed). Then (closed) smb came next (despite several already open standards for network file systems), and thus everyone else is forced to reverse engineer it (not once, but several times because MS just change it at a whim due to lack of standards). Next Java, do I really have to explain how MS tried to screw java by breaking the one thing it was supposed to be (i.e. cross platform?). Then document formats - finally sun come out with an open standard for a document format, and do MS do, they produce OOXML (and on top of that, their own office product doesnt support it properly). Then to make sure everyones screwed, they produce an ODF plugin for 2007 that breaks everyones implementation. Then theres .NET - supposedly a competitor to java yet lacks the one thing it needs, cross-platform support. Sure, they opened the c# spec, but thats useless without the API being open.

    Thats only a couple of examples, HTML, HTTP, MAPI. Kerberos, Active directory, the list of standards MS has polluted (and tried to break) is endless

    Who gets screwed in all this? The linux desktop and server OS's out there struggling to build on REAL standards that already exist, and they get angry (anyone who understands the fights would think rightly so) because people say things like "well linux doesn't follow a standard because this thing over here works on windows and doesn't on linux". Well the truth is that linux has fought very very hard to follow the standards, then it has to fight again to reverse engineer broken implementations of the standard that mainly come from MS themselves.

    Ultimately "linux" as you put it wears the blame and still it doesn't give up, it continues to reverse engineer and make its products compatible.

    Of course when i say linux here it means people like Sun who wrote java and open office (and are forced to reverse engineer the MS document format and code OO to the same lack of standard)

    Now lets talk about the desktop, so which desktop standard are you referring to here? The Microsoft standard? Exactly what standard is that? As far as I know the only "Desktop" standards that actually exist (i.e. documented ones) are X + gnome or KDE/Qt - these are documented standards. As for audio, well there is none (unless you mean the undocumented and randomly changed direct sound API from MS). That has been a bad problem on linux in reality since it was born and part of that is inability to produce drivers, then 2 interfaces were born. Now we also have pulse audio (which isnt a linux interface by the way).

    So we now have a "culture" of linux desktop environments (lets just look at fedora, redhat and ubuntu), in one corner you have redhat (RHEL) which uses older and more stable/developed interfaces which they stick to between major versions. 5.x has kernel 2.6.18 (and always will) along with a specific version of everything else (gnome, kde, qt, etc), they are all static in version 5.x of RHEL. Fedora is the exact