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?"
'...is it time to concentrate on consolidation and standardisation in GNU/Linux in general, and the desktop in particular?'
Good luck.
Great minds think alike; fools seldom differ.
Choice, many times becomes really fast synonym of fragmentation and lack of standard. And this is just a bright example. The situation described is 100% conforming to reality, as far as UI kits and sound infrastructure.
Well it was a few years ago. Hope ubuntu has enough weight it can set standards.
GTK isn't as nice as everyone makes it out to be. Basically what everyone has been doing is talking red hat, and suse and making their product work on that. You can't "standardize" Linux because the 7 or so distro can't agree.
Why not just use Qt instead? It's LGPL....why people still using GTK?
with a standardized HIG. After all, graphical interfaces are not exactly the new kid on the block. There are common standards (use radio buttons for this, checkboxes for that, put your menu HERE). And while Linux does not necessarily have to conform to OS X or Windows standards, it could certainly have a standard of its own. This would help developers a lot. In my experience, many developers, while good coders, are not good interface designers. Without a comprehensive guide, they just plain get it wrong.
I don't much give a damn about Adobe being skittish, though. Are they paying Linux core developers?
How is that even a problem if there web engine works then make it for several ui toolkits or just pick one. All the work is done it would just be a matter of how its shown. Id rather have something that possibly changes the way its displayed in the future than have nothing and sit around bitching.
Yes!
(Seriously, linux needs a standard base to work off. The current mess is completely untenable)
This is how the loudness war is killing music.
Really?
and I thought Google Chrome was going out of its way to feel as foreign as possible on windows...
Yeah, that and the lack of a "unified and comprehensive HIG" seems a little dishonest for a company that created a windows browser that looks NOTHING like any other piece of windows software, follows its own interface methods, and generally throws off the look and feel of the browsing experince. 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.
Is it sad that I am more likely to recognize you and your posts by your sig than your name or UID?
Let's face it, one of the things all Linux evangelists like to emphasise is the opportunity to use whatever you want and even build it yourself if you want to. But it's maddening for developers to create something that will work on every kind of linux desktop in existence. From political choices of free vs. non-free, to preferred distribution, version numbers, favourite window manager and a host of other choices, no two desktops will be the same. Linux isn't an operating system, it's an operating eco-system. Taking Google as an example, today I tried to install Google Earth on my Ubuntu 9.04 laptop to no avail, despite it having installed without a hitch on my Xubuntu 7.04 Pentium III plaything in my room back in my parent's house. The exact same version of the program with dramatic differences depending on where you try it, that quickly becomes a support nightmare.
Now for the dedicated GNOME/KDE/xfce/whatever volunteer this does not pose much of a problem because your target audience has broadly the same machine makeup as you do, but for a commercial developer looking for a good ROI it quickly becomes untenable. Windows and Mac OS provide a devoloper with a guaranteed stable platform development-wise, and as such are much safer bets.
I agree that the only way Linux can make itself more attractive to commercial desktop program developers is with a mighty amount of consolidation, but the problem is that I don't think it will happen. The great OS wars that went before the dominance of Windows had winners and losers because they were systems of a closed nature, and so if you held with a losing team they closed down because it wasn't economically viable and you had to move to something more mainstream, thus consolidating the market. With Linux a project will never close down as long as someone like it more than something else.
IMO QT is much better but who cares, its not like if they used the "wrong one" nobody would have been able to use it, qt comes with a gtk theme and qt-gtk-engine (or some such app), im typing this from firefox (gtk) on kde4 (qt). webkit already works well with both, so its just the "chrome" of chrome that needs to be tied to a specific one anyway.
IranAir Flight 655 never forget!
GNOME has an HIG. What they meant by wanting an HIG they meant they want one flexible enough that Chrome on Linux could look just like Chrome on Windows, which is not going to happen unless they use Microsoft's HIG...
Here is the great thing about having dozens of GUI toolkits, multiple libc, and several audio APIs. You only have to choose 1! Every time somebody complains about the "mess" of GUI toolkits, it just comes off as senseless whining. Where are the downsides? There are only 2 major ones, and if you don't have experience in either, just pick one.
The only downside I can think of is that end-users need several GUI toolkits installed, for their multiple programs that use different toolkits, but a) Linux still has a better features/size ratio than any other major OS, and b) Windows and Mac have the same problem (SDL, GTK+, etc, and the dlls have to be included with the binary downloads because Windows/Mac don't have an easy to use package manager).
I'd like to see a Goo/Linux distro. In my experience as a user of several of their products, google really does a good job with user interfaces. I bet if they put some effort into a google desktop environment, it'd be pretty darn good.
It could be related to Android, or not, whatever makes sense.
You see? You see? Your stupid minds! Stupid! Stupid!
Speaking of Desktop Environments (not just toolkits), yes, and KDE does too. And probably that's the point. Having more than one HIG is just slightly better than having none.
I've been using Kubuntu since December 2006, and it's been my opinion this whole time that the reason Linux isn't catching on is the lack of standards. There are simply too many choices. Granted, choice is good sometimes, but Linux just has too much. It gets confusing. For a new user who doesn't know Linux, simply choosing a distro is overwhelming. That doesn't make Linux very open or friendly to the average person. Not to mention the mess with installing programs. If I want a program that isn't in my repositories, I have to go to the site and hope they have a .deb package that's for my distro, which isn't always the case. At which point I either have to learn how to install from source, attempt to convert an RPM (which isn't always provided, either), or give up and find an alternative.
Every Windows OS has one GUI and one installer/executable format that every Windows program uses. Same with Mac. But Linux gives you at least three GUIs and four or more installer formats, and it's up to you to figure out which one suits you best.
I like Linux. But if it's going to become a serious alternative to Windows or Mac, it needs unified standards. Especially in the desktop environment and package manager. But I just don't see that happening.
My Mac currently has several apps in three different toolkits open; several apps written by Apple itself don't follow standard UI conventions. The Windows situation is even worse: there are several native toolkits there (Win32, MFC, .NET, ...), plus dozens of third party ones. And UI conventions are violated constantly.
The real problem Windows programmers have with Linux is... that it isn't Windows. They start writing some big, ugly, messy Windows application (hello, Firefox), and then they moan and groan when porting it to Linux and usually do a piss-poor job at it too.
At one point, serious computers ran Unix. PCs were just toys, not useful for doing real work with.
But Unix fragmented. You had AIX, HPUX, and around a dozen other different kinds. They all behaved differently, stored things in different places in the filesystem, had different desktop environments.
Windows came along with a single environment and suddenly *that* was the attractive place to develop software.
Fast forward a few decades, and to a 0th order approximation, all apps are written for Windows, and Unix derivatives are dead on the desktop. Ok, there are a handful of slashdotters using Linux in their basements, but from a desktop perspective it essentially doesn't exist. And the software people need to run for real productivity purposes - Autocad, Photoshop, things like that - are all for Windows.
The only way Linux can hope to succeed is to present a unified environment to developers *and* users. Period. Yes, that means the over-complex KDE will have to die. Yes, that means binary compatibility must stop being broken from OS update to OS update. Yes, that means supporting DRM so that users can play their streaming videos from Netflix.
It's simply the arrogance of Linux developers that have crippled Linux adoption.
I'm sure I'll get modded as a troll, but the fact remains that Windows *owns* the desktop, and normal users are happy with it.
And drop some legacy systems (X comes to mind) along the way.
X is the only GUI* which is pretty much guaranteed to be installed on every Unix and Unix-type system in the modern world. It is to GUIs what ASCII is to text encoding schemes, or what HTML is to markup languages. We're never going to completely get rid of it, and any widely used standard that replaces it is going to have to include it as a subset. You may not like it, but it's relatively simple, its quirks are well understood, and dismissing it as "legacy" isn't going to make it go away.
*Please let's not get into the argument over whether or not X is a "real" GUI because it doesn't include this or that feature of your favorite window manager. It's as silly over the argument over whether MySQL is a "real" DBMS, or Perl / Python / Ruby / scripting language of your choice is a "real" programming language. The answer to all of these is "yes." Now let's move on.
The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
Maybe they should have just used Xlib/Xt instead and duplicated everything they did for Windows
And then you can cue the hardcore bitching from GNOME *and* KDE.
"You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
So let me ask you this, if Chrome treated each Linux distribution as an OS, would you be happy when Chrome was ported to Ubuntu and not Fedora or SUSE?
Personally I think the whole situation is fubar. There should be three distributions, different-enough to be treated as independent OSes: GNOME, KDE, "Other/Build Your Own".
No, nobody gives a shit what the kernel is-- the OS is the UI, and the UI is the OS. (Think about it: if Apple ported OS X to run on the NT Kernel, would it still be OS X or would it magically turn into Windows?)
Comment of the year
That part in the summary amused me:
It was time ten years ago when Linux was first gaining real momentum in that area. I remember posting Slashdot comments about it and getting told Linux was about "choice" and that if I didn't like it, I should contribute code. Ten years later, even Google is bashing Linux for it. I bet nothing will change even now.
Linux is a server OS, only used on the desktop by enthusiasts. Accept it, because the kind of standardized APIs that are needed are not going to happen with the attitudes that this community has.
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.
No two browsers look alike. I happen to like Google Chrome's look and feel. To me, it's way superior to IE's.
While Google Chrome has a unique look, it does not have a totally unique behviour. The X button is still in the corner of the screen, making it easy to find an click. (Aren't you annoyed by apps with no X button or titlebar?)
It accepts all the standard hotkeys. I don't care if an app looks Win32, if it doesn't let me use the hotkeys I've gotten used to.
All in all, I'd say the unique interface isn't disruptive. It might even be intuitive, to anyone that's used lots of Windows programs.
Being an "Ubuntu user" doesn't make you a GNU user, it makes you a Windows user temporarily using something different either because you thought it would make you cool or because you got mad at your beloved Microsoft and threw a hissy fit.
And people wonder why Linux's desktop share is as small as it is....
Thank fuck the Ubuntu community forums aren't full of arseholes like you. Maybe that's why its market share of Linux pisses over other distros.
I only please one person per day. Today is not your day. Tomorrow isn't looking good either. - Scott Adams
They argue, and I would not say that they are wrong, that GTK+ even so does not give the necessary functionality to allow all the Chrome features.
Like merging the window title with the tab bar? Why do they want a consistent HIG if they break it the first chance they get?
They certainly did break the windows HIG. Then again, I'm a big fan of standards, and yet I've deliberately broken HIGs when I knew they didn't apply well to a new kind of application. I feel justified in doing that, since I've been around since the basically the dawn of GUIs and been able to slowly watch the standardisation process of most widget types. None of that means that I want to start from scratch on a platform though, without any standard HIG already in place. It's one thing breaking the HIG when necessary. It's quite another if no one has bothered to agree on the HIG necessary for even the most typical apps.
Anyway... google are quite right here, I think. When are Linux standards people going to wake up and realise that ANY good, standardised library is better than two that are both great? Especially in open source, the fact that it's a standard allows people to focus on improving it. The whole point of an API is to have something to target your software to. It's also a standard which can be evolved later, even if the next version is as different as Qt is from GTK+. I don't give a crap if the standard is Qt or GTK+ --- whichever is chosen will eventually gain the features necessary for modern apps --- but SOME standard needs to be set.
What's it with all these people thinking that focus is the issue here? There's a theoretically unlimited number of programmers out there in the FOSS world already. The problem isn't focus: if you put the same developers currently active on a smaller number of projects, the development speed will not increase. Heck, it might even slow down, because more people will want to give the bike shed a nice color. And in that sense, the huge amount of forks and pet projects actually speeds up development, because it quickly becomes clear what works and what does not.
And yet Debian Gtk chose to recently arbitrarily rename the glib package, breaking binary compatibility. Why? Who knows? Will they ever fix it? Who knows?
Why does this Linux community have such a deep and abiding hatred of backwards compatibility? Library versions, device drivers, audio systems, hot-plugging, device naming, anything even remotely related to multimedia. This list goes on and on.
Until the Linux community decides to settle on some standards, it will never be ready for the end-user desktop.
There is no universal standard GUI toolkit on Windows either. Firefox and Opera use their own. OpenOffice.org uses its own. Even Microsoft Office uses its own. On the Mac, there is even more GUI dissonance. Current Macs make the typical Linux environment look downright uniform.
Why is this always considered a problem on Linux but not on Windows or on the Mac?
If the Chrome developers feel too constrained by GTK, they should have chosen a better toolkit, such as Qt (which, incidentally, is also popular on Windows). They can't blame their own bad choices on Linux. Their gripe sounds like the standard "how dare Linux be different from Windows and make us have to learn something new" whining.
Three excellent paragraphs.
I've got no idea about him but I've written several white papers for various platforms in my job including .NET and I use Windows daily at work and even in a VM at home sometimes. I also use Ubuntu and OS X primarily for my personal stuff. It's not an either/or religion for all of us who don't have the last name Stallman. I very much value open source products but there are things they don't do or don't do well or because of other cultural reasons such as de facto standards just are positioned properly in the market to do.
If you want it to be either/or us versus them then you have to make a product that meets ALL of my needs and currently no one does so I use Ubuntu (and previously FreeBSD, Suse, Gentoo, Slackware, or Redhat) when I feel it meets my needs and OSX or Win when they do.
I've read the BS answer, and it is BS.
First off, Qt apps look and operate just fine on Mac and Windows. They don't jump out as looking "foreign" to the platform, where as Chrome on Windows does look extremely foreign in its UI design. This isn't an issue here.
Secondly, Qt provides VASTLY more functionality than GTK, and wouldn't limit what Chrome could do on Windows or Linux. Chrome didn't choose seperate platform codebases to better enable those platforms. The Chrome devs admitted they wrote a very Windows-centric app because they didn't know anything about Linux and coded how they knew how to with what they were familiar with. Again, this reasoning is completely BS.
Lastly, the advantages of cross-platform development not only means no initial time to fork, but it means fewer bugs, less complexity, and the entire life of the project with have a much smaller codebase to manage. Ignoring that major advantage is foolish at best.
Then when you consider how well Qt and Webkit are natively bound, and how well Qt deals with multiple processes and multithreading, it was just plain dumb to not build Chrome on Qt from day 1.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
You know, I have to agree. I just never did get the zealotry either. While at home and work my main OS is Windows 2K/XP/XP64, when I am called out to fix a network that some bonehead had let God knows what loose on? You bet I'm bringing my laptop with the Xandros Business partition fired up. It lets me access the Ad and Exchange, while having enough of a familiar interface I can hand it over to an employee that has a deadline to get their work done on. Use the right tool for the job, I always say.
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?
I mean if I am a hardware manufacturer it takes just three drivers if I want to support Windows past, present, and future with a binary driver. Four if I want to cover the niches. I just have my developers write a Win98/ME, A win2k/XP, and a Vista/Win7. I add a WinXP64/Vista64 and since Win7 can use Vista drivers I have everything from 1998-2014 completely covered with just four binary drivers and no more out of pocket. There just ain't a way to do that in Linux. Same with programs, there really isn't a way to...say make a game, and be assured that it will work on Debian, Red Hat, Ubuntu, Xandros, PCLOS,etc right now, much less have the same thing work out of the box five years from now so I can continue selling it without constant tweaks.
Look, nobody is asking you to become Windows or OSX. Nobody is asking you to give up the bazillion different distros out there. Just have a common, stable, and backwards compatible undercarriage that software developers and hardware manufacturers can target so that it doesn't matter if I use Xandros and you use CentOS and the guy down the street is running Gentoo, that any company can release a program or driver and know that for now and the long term across the board it will "just work", that's all. I bet if you had a stable and solid undercarriage that worked across the board that a lot more companies would seriously consider releasing their products and drivers for Linux. And that is good for everybody, right?
ACs don't waste your time replying, your posts are never seen by me.
I love me some Linux, all my server boxes run it and I do do app and gui work on it, but the last time I tried to port a game to it I just gave up in disgust after hitting the sound stuff. And it wasn't just the sound, it was getting the mouse input, getting gamepad input, and a bunch of other things you don't even think about normally but have to work right to get a game running.
This is why my desktop runs Win7 - I like my games. The Direct X family (including Direct Sound, Direct Input, etc) was possibly the smartest thing Microsoft ever did. Yes, you can get it all working under Linux with enough work, but why bother except as a work of love? I write cross-platform stuff using PyGame now, which works pretty well, but since it's using SDL there are sound issues on Linux (the sound nightmare again).
I'm not sure I have a solution here, just whining. Really, you need a unified API for /everything/ involved in making a game that doesn't care what mouse or sound card or sound drivers or gamepad or video card you're using. And I realize that's a big 'Good Luck With That' with open source. There are cases where a benevolent dictator is better than democracy - as long as they stay benevolent, which is another 'Good Luck'.
First off, Qt apps look and operate just fine on Mac and Windows.
No.
Better than GTK+, definitely. Not "just fine." Not even good. Especially on Mac, where they're extremely weird in many fundamental ways.
Typically, people saying things like this about cross-platform frameworks really have little or no experience designing GUI apps-- they don't have the eye for detail that that job requires, and they literally don't see anything wrong with the QT apps. But find an advanced Mac user, show them two UIs and tell them to pick-out the QT one, they'll get it 100% of the time.
Comment of the year
Consistency in any Windows applications is hard to come by. Running MS Office 2007 or Windows Live Messenger 2009 (and several earlier versions) in Windows XP will show you that. Yes, I realise they were made to look like Vista and 7 and fit in with Vista and 7's interfaces, but that in itself is a terrible crime of design! If they're made to look like Vista and 7, that means they probably aren't using the same code for their appearance. Big waste of resources if you add up every program that ignores the system theme and does it's own thing.
Admit it. You post strawman arguments as AC so you get modded Insightful for refuting them, rather than Troll
A Qt browser on Windows looks just as native as Firefox, or Opera, or Chrome. Note, every one of those browsers uses a non-standard UI. Qt provides styles to mimic native widgets and can look perfectly native. Chrome wasn't even designed to look native. They are blowing smoke to obfuscate the reality of the situation.
Chrome wouldn't have looked one ounce more "foreign" because of Qt. It looks foreign because they designed it foreign.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
The freedom (free as in liberty) aspect of Linux make that sort of standardization somewhere between extremely difficult and absolutely impossible. Freedom and autonomy are the enemies of standards.
I am a Chromium developer, and if you don't think Qt apps "speak with a foreign accent", especially on Mac, you don't pay close enough attention. It's not an immediate appearance difference, it's the way that subtle details are wrong. By contrast, Chromium appears _very_ different on Windows on the surface, but we go to great lengths to get small details right. Big differences can be accommodated. Small differences drive you crazy.
Also, most of us were Linux developers, not Windows developers, before writing Chromium, so again you are asserting things that are completely wrong.
GTK isn't as nice as everyone makes it out to be.
Everyone doesn't make it out to be nice. Many people consider it awful-looking, inconsistent junk. So do I and believe that the Qt licensing change is the beginning of the end of GTK and I can't wait until it's buried. I'm also curious to see what sort of spasms Ubuntu will have since no matter what, it will affect the entire Linux community for obvious reasons. On the one hand it uses Gnome but on the other, it tries to bring Linux to the masses and that goal benefits greatly from standardization. So if standardization based on Qt would be within reach, if Ubuntu made the change too, what should and could they do? If Gnome switched to Qt, it is quite likely that it would at first be just as buggy (and poorly redesigned) as KDE 4 compared to KDE 3.5 and by then KDE 4 will probably suck slightly less than it does now. Thus Ubuntu would risk losing a lot of users to Kubuntu. I certainly wouldn't mind that since I use it myself but think that Ubuntu will face a great dilemma.
We hear complaints from Google but where's the
resources?
Certainly Google could provide some direction
to one or more of the UI toolkits in Linux
by either joining or helping to set up a standards
consortium.
The only way software can be designed is by setting down
requirements, guiding the development with solid standards,
and actively participating in all levels of the process.
Standing back and saying "Whoa! Linux is a mess there are no standards...etc"
is a bit if a lark. When we recall all the workarounds we still have to do
with other operating systems simply because they don't follow standards,
or disregard them to control the marketplace, there is no difference
in the level of additional work that is required.
So, I spend money using/learning QT or build my own GUI toolkit, or use something stable
and homely like lestif. On the other hand I spend my money on licenses for build tools
on some other operating system. Either way I have to spend time and/or money
to get the job done.
I get the feeling that Google has been hiring too many Microsoft campus
programmers who just can't get their heads around anything outside
directX.
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.
So this is how the QT people get to feel better about themselves after a horrible major restructuring that made Linus Torvalds of the Linux kernal fame team begrudgingly switch to Gnome even though he hates its approach to UI design. Seriously, your post was asinine. GTK has grown extremely long in the tooth because of the extreme dedication of the group to incrementalism, but that is not a sign of poor design.
So Gnome's 2.0 structure was so bad that it is going to last longer than KDE3's? I also doubt it's going to have the rockey ride that was 4.0/4.1 for KDE users either. After so many years, most software needs reworking. The reason for the outward protests at Gnome is that the developers are absolutely against the KDE4 kind of developement unless it is 100% necessary. If people didn't protest, this kind of reworking would never happen have happened. The original plan for the gnome folks was to have the 2.xx series continue indefinitely.
Once you start despising the jerks, you become one.
First, the article says nothing of the sort. As usual, the summary is completely off the point.
But to address the summary and the other comments, rather than the article:
The Free OS world (whether you call yours Linux, GNU, GNU/Linux, OpenBSD, NetBSD, OpenSolaris, etc etc) does NOT suffer from a lack of standardization. I've been hearing this for 13 years (people who are in the community longer than me have been hearing it for longer) and I'm sick of it. It wasn't true then and it wasn't true now. We have lots of standards, maybe more than I would prefer. We have standards for a lot of things that other OSes don't.
And we also have a lot of people who choose not to follow them. It's a freedom we have and it's one of the things that makes it so great.
Standard UI toolkit? We had one in the 90s, and it sucked. So people decided to write Qt and GTK+ and we're much better off now. Standard HIG? KDE has one, GNOME has one, and XFCE has one, take your pick. Standards for binary compatibility? Yes we can, and as another commenter mentioned, Skype uses it rather effectively for their crapware.
Now, does all that choice pose a minor problem to proprietary vendors who want to offer non-free, closed-source software in our platform(s)? Yes, it does. However, I don't care. They have a very simple solution: give us the source, and if the product is good, the people who care will help you port. You can provide one, bare-bones port, and the GNOME/XFCE/KDE/portable/etc people will work out the customisation and integration for you. Don't want to give us the source? Then I'm sorry, it's going to be your problem.
Incidentally, this is exactly Google's solution, well, almost exactly. I doubt there's going to be, say, a XFCE port of Chrome, but chances are there will be a XFCE-integration version of Chromium (or an add-on that does it). Everybody wins, nothing to bitch about.
I am sick to death of hearing developers bitch about "native look and feel". Grow up! Get a fucking life! I couldn't care less how the goddamn app looks COMPARED TO OTHER APPS as long as the look enables the FUNCTIONALITY to be performed correctly.
What matters is that the program does it's job - not that the widgets look the same as some other app on the system.
Christ, what a fucking waste of millions of man hours farting around with bullshit cosmetic issues! Fucking programmers think they're goddamn "artistes" when they can't even get their shit to RUN PROPERLY, NOT CRASH, BE FUCKING USABLE, and BE SECURE!
Shut the fuck up about look and feel and concentrate on making the thing fucking usable, reliable, and secure.
You want to be Picasso, get a fucking paintbrush!
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
I have no idea what people mean when they write things like this.
WTF can you not do in Gnome that you want to? What?
Personally, I've absolutely mutilated the interface and re-built it to my liking, and 99% of what I did was accomplished using options in menus. None of it was done in their stupid registry-like thing--in fact, I've only ever used it once, and that was back when they first started using it.
Is there some amazing set of things people can do in other DEs that I'm missing out on?
Ben Goodger is obviously biased towards Windows. Even at the time when he worked as main architect for Firefox, he has always had a focused development towards Windows. You might remember how Firefox used to suck on OSX (with horrible UI inconsistencies) and problems affecting the Linux version. Firefox, when he was responsible for its design, was a totally Windows centric platform, so much that the UI had to mimic that of Windows also on other OS. When he left, and Firefox 3 came along, things got much better, with specific UI for individual OS.
Nothing wrong with being Windows centric. However, I would not count his opinion as objectively fair. The UI is only the tip of the iceberg in Chrome as Windows specific. If they really wanted to make it really a universal application, they could have done so since the beginning. It now feels like versions for OSX and Linux are an afterthought, and the complain about toolkit just an excuse for something they could have done since the beginning.
(as a side note: Google Earth is built with QT already and they work beautifully on Windows as well as Linux)
Well, tough. Calling for "standardization", uniform GUI and what not is not going to help - different companies would like the standard to match what *they* need and nobody would be happy anyway. Furthermore, I do not see why Linux should change to match the (terrible) development practices on Windows.
The solution is to try to release as much code as open source as possible and let the distro packagers do the integration work for you. Or, if you must keep it proprietary, work with the major distros at least. Their developers will be happy to help - unless one is providing the OS as well, the user will likely need an OS to run the super-proprietary application anyway and it is a win-win situation for both sides. This works a lot better than whining about how terrible Linux is ...
And to answer the poor soul that asserted that Ubuntu is the standard Linux - I am sorry for you. I can as well say that standard way of using a computer means using Windows, making your argument completely irrelevant (number-wise, the Windows desktops dwarfs all Linux installs combined ..). Make yourself a bit better informed next time - Ubuntu is far from standard, it just happens to be popular in US. Not so much in Europe and elsewhere.
Is that most people who use computers are NOT going to be enthusiasts. They use computers because the computer is a tool. They have something they want done, maybe it is e-mail, maybe it is watching video, maybe it is playing games, maybe it is staring at hampsterdance.com all day, doesn't matter. They have something they wish to do and the computer is the tool to allow them to do it. Thus their concern is getting the variety of tool that allows them to do this with minimal fuss. They aren't interested in technical merits, they aren't interested in becoming "fans". They want the shit to work and get out of the way.
Normal users are not OS "enthusiasts" any more than normal people are hammer "enthusiasts". I really don't give a shit about hammers. I don't are how they are made, I don't care about their design, I don't care about their merits. What I care about is their ability to pound a nail in to what I want. So I'm going to get a hammer that does that well for me. In my case, it is a standard claw hammer, about 1 foot long. I'm not interested in technical arguments as to why I ought to like a sledge hammer better. Yes, there are things a sledge hammer can do mine can't. I don't give a shit, I don't do those things and a sledge hammer is rather heavy and unwieldy. I have the hammer I want, and that's all I want. I'm not an "enthusiast" I'm a user.
So for most people, this is how computers are. For technical people, sure the computer itself can be fun. The process of running the system can be as interesting as anything you might do with it. However technical people aren't most people. Most people just want to d various tasks with the computer, and they want to the computer to not cause them grief as they do said tasks.
So corporations are complaining that the software that they get for free and use to make truck loads of money isnt exactly what they want.
Ive got an idea, WRITE YOUR OWN DAMNED SOFTWARE, or maybe participate constructively in the community. Dont just complain, do some work yourself on the same terms as the work you received.
"Did you ever expect a corporation to have a conscience, when it has no body to be kicked and no soul to be damned?" - Edward Thurlow
In that case, Linux is doomed. There's gotta be some way to compromise freedom and standardization.
Si vis pacem, para bellum
Well, yes, you would, which is exactly the point. You shouldn't be able to. The UI should look like part of the OS - it should conform to the OS standards, behave in the same way as every other program on the OS, etc etc etc.
Most toolkits don't manage this. Some fail stunningly (see Java/Swing), some are relatively close (QT), none, to my knowledge, are perfect.
So, in answer to your question: yes, "just fine" equates to "indistinguishable from whatever Apple uses". Apple uses the OSX native API, and your app should, in all respects, look like it was built directly with the OSX native API.
Unless it's on Windows, in which case it should be the Win32 API.
Breaking Into the Industry - A development log about starting a game studio.
Small differences drive you crazy.
BS.
BS, but not complete BS. Small differences drive the highly sensitive *UI designer crazy*. 99.9% of end users (the ones that don't program UIs) don't care at all. I've got a multitude of apps running on my OS X box. The native cocoa ones are iTunes, Mail, Terminal, Preview, and Disk Utility. The best UI, though, is probably firefox. I have a scientific program (motif?) running via X-forwarding. It looks fine. No one is going to sweat the details like how wide the scroll buttons are or an off-shade border around a progress bar. Users just don't care.
Here is what is important to an end-user: making buttons and menu items for common tasks easy to find and quick to execute. The other related important consideration is consistency of keyboard shortcuts. I think Adobe sucked at this for a while. Things like font kerning really don't matter to anyone but UI designers.
Just callin' it like I see it.
Bullshit.
That freedom and diversity is why Microsoft can't simply attack and destroy a single competing vendor the way they have so many others.
"I've got more toys than Teruhisa Kitahara."
Until Jaunty with KDE, the Vista of Ubuntu. Not happy with the amount of work it's going to take to revert THAT.
I run KDE 4 on Jaunty. It is perfectly usable. Indeed there are some rough spots, but there are also compelling improvements. For example, in Kate, the programmer's editor I prefer, you can now change the order of documents in the edit list by drag and drop. A small improvement I use a lot, and now find the lack of it in earlier, tried and true versions, more than a little irritating.
My general impression is, KDE 4 is a few bug reports away from a very slick offering. On the whole, I am productive and happy with it.
Have you got your LWN subscription yet?
The freedom (free as in liberty) aspect of Linux make that sort of standardization somewhere between extremely difficult and absolutely impossible. Freedom and autonomy are the enemies of standards.
I disagree. A good standard is about enabling and informing so that different groups/technologies/interfaces can communicate effectively, not about restricting choice. Unfortunately many organizations don't realize this. All that said the nature of an open system does make it harder than simply declaring a "standard" by fiat but standards will evolve as obvious best practices win out. I think it's slower in the case of Linux for a number of reasons.
1. Some subsystems are immature
2. The user base is restricted so there isn't a monetary driver isn't there to accelerate development of various standards
3. The user base is relatively sophisticated so they put up with a less polished interface that requires tweaking and hacking
4. The broken Patent system (I still don't get how patenting an abstract concept or math makes any sense) blocks some standards and creates barriers to evolution of technology by closing off some paths of competition.
There are probably many more reasons that I haven't thought of but in general my point is I don't think "standards" for Linux are impossible they just aren't subject to immediate drivers and as such they aren't currently a priority (and may never be) but there isn't anything fundamental to an open system that says standards aren't welcome.
What I find kind of funny about the whole situation is that absolutely nobody is complaining about making software for Linux, except people who want to make money with their software.
Don't forget that for instance Fedora has thousands of very useful software packages in their repositories, ready to install with a quick 'yum install blah'.
Now comes around Adobe, Google and other bigshots and what do they do? Complain.
I still understand that it might be difficult for them, but I'm just saying.
8 of 13 people found this answer helpful. Did you?
I mean if I am a hardware manufacturer it takes just three drivers if I want to support Windows past, present, and future with a binary driver. Four if I want to cover the niches. I just have my developers write a Win98/ME, A win2k/XP, and a Vista/Win7. I add a WinXP64/Vista64 and since Win7 can use Vista drivers I have everything from 1998-2014 completely covered with just four binary drivers and no more out of pocket. There just ain't a way to do that in Linux.
What horseshit. Let me tell you how we "do that in Linux." You release one driver. Just one open driver, and we'll take care of the rest, forever. Not just til 2014 or whatever arbitrary date you're throwing around. Forever. You never have to write another line again.
What's that? You don't want to release an open driver? You want to play the "follow the binary blob" game? Well then go fuck yourself.
Hey, I finally got my first freak! Took you long enough!