2. If Gnome really wants to win back the hearts of potential contributors (i.e. power users), they'd better make programs that appeal to that demographic. People who have the skill and motivation to make significant contributions to a free software project often want a lot of room for configuration, including the option to use the desktop in a traditional manner. Taking away those little checkboxes and toolbar buttons is like slamming the door on power users. You might win a billion non-technical users, but none of them will ever submit a single patch.
3. Gnome is too big for its own good. Why does a desktop environment project need to maintain a complete stack of apps and libraries, from GTK to Gnome Shell to a text editor to a bundle of games to a web browser to an email client to a media player to a full-blown spreadsheet app? Why can't they just tell people to get a third-party browser? They should spin off the rest and focus on GTK, the Shell, and a small number of essential utilities. If Epiphany or Gnumeric died a slow and lonely death, how many people would really care? Heck, if you don't have the manpower to maintain anything else, just give me GTK so I can install xfce or lxde on top of it. It's really just Firefox and LibreOffice and VLC that I want, and I don't need Gnome to run them.
Edit: some rephrasing.
If the GNOME 2 -> GNOME 3 debate has produced more vitriol by volume, I'd say that just reflects GNOME 2 having a much larger user community than GNOME 1 ever did.
Sure, Microsoft and Apple feel like they have to shove a new load of, uh, cr-p onto us on a regular basis and have enough resources to maybe make that work. But Gnome just didn't have the same marketing positioning.
I'm all for modernizing interfaces. But it seems like either Gnome choosing one or Ubuntu choose one and then these being pushed on us isn't really a good way (or an effective way). Because "modern" mean "opinionated" and open source probably won't easily adopt opinionated approach.
I think the lesson here is that the circumstances at times compel platform vendors like KDE and Gnome to make these big next-gen releases, and the market compels them to do them before they're quite ready for end-user primetime, because the alternative is a serious loss of momentum, e.g. in the third-party space that is waiting for that release. And this is likely even more true in the FOSS space, because you're not just bleeding third-party interest by not shipping, but also developer recruitment.
It's a balancing act. Looking back, I don't think we found quite the right balance with KDE 4.0. But realistically, shipping 4.0 only when it had achieved the quality level, of, say KDE 4.5 just wasn't going to happen, either. Because if we hadn't shipped at some point, we'd might not have gotten the influx of contributors and early adopter feedback that we needed to make 4.5 happen.
Really, people are being presumptuous by saying these things happen carelessly. The reality is that there are pressures pulling you into different directions. You sometimes make bad calls under pressure. At other times you make the right call but get to chose between multiple options that each have their own downside attached.
Call it "4.00001" or "3.9999". It seems to me that you could get people's attention and so get test users while still trumpeting the software's "not-completely-finished-ness".
a) It's not all about beta testing. A big thing is developer recruitment. The demographics among FOSS developers ensure a relatively high amount of turnover: Many of them are at an age where their life and/or job situation is likely to change within two-three years, causing them to move on. A steady influx of new talent is needed to keep the show on the road.
At the same time, a project that isn't releasing is less attractive to contributors for a variety of reasons: The time it will take for your handiwork to be delivered into user's hands, the level of information circulating about contribution opportunities (i.e. "what does this even do that I might want to hack on"), et cetera. It's also still true that a lot of FOSS contribution is itch-driven: You start contributing because what you're using isn't doing quite what you need it to. But if you're not using it, if there's no exposure, there's no way for the itch to happen. And usage explodes with a real release vs. a beta.
b) People don't test betas, relatively speaking. The amount of feedback explodes for an actual release. Now you'd think that beta feedback would be of higher quality on average (due to people who actually do test betas being more advanced users), but even expert users often hold back on betas despite knowing better.
An experienced developer should be mature enough to know that he and his kind should not be the target audience of his product. And putting in all those little checkboxes makes a product a horrible experience for the rest of the world.
If you don't pay me, I will still contribute, but then I will work only to scratch my own itch. I will implement features, but only those I want to have myself; I will fix bugs, but only those that annoy me personally; I will write some documentation, sometimes.
If you don't pay me, and your project goals make it impossible for me to scratch my itch, then I will not contribute to it.
And that said, it doesn't need to be so difficult to include all these pesky checkboxes in a way that they don't confuse or hinder usability for n00bish users. This used to work for Gnome 2. Never met anyone who thought Gnome 2 was too hard or counter-intuitive, they were just more or less used to it. Windows XP and Windows 7 have a lot more checkboxes if you look for them.
If there's one thing that Apple and even Microsoft are showing with their window manager and widgets, its that simpler is better, and we've been missing that all these years.
Whether you call Gnome 2 hard or easy, it's main problem was that it's configuration apps and menus were confusingly organized. If the incremental improvements Ubuntu was making could have continued a few more years, things might have been great. The decision to create "Gnome shell" probably forced Canonical's hand but Unity also seems terrible to me.
I like solving problems for other people. But when I'm using open-source software, the only problems I'm really aware of are the ones I'm having.
In a commercial setting, I'm very motivated by user tests or data that demonstrates problems people are having. I've seen a lot of other developers get excited about that, too. Fixing things is fun when you can see that your actions actually help somebody.
But I've never seen an open-source project that makes it easy to get engaged in that fashion. The closest I've seen is users asking support questions on the mailing lists, which is a pretty small slice of users these days. Plugins also seem to provide a nice feedback loop like that: you make something for yourself, you throw it out there, and you see people installing it and commenting.
But broadly it seems like an unsolved problem in consumer-facing open source.
Too bad Gnome developers are so far removed from UX and the desires of the "common user" it isn't funny
They took "removing stuff" as their mission and follow it blindly.
Or for a car analogy: Gnome removes the clutch but it doesn't give a torque converter and automatic transmission.
Open source is very much about scratching one's own itch
Perhaps better questions to ask would be what is Gnome 3? What is Gnome Shell? And what is Gnome? Sorry but it's a bit difficult to comment on Gnome when it's not entirely clear as to what it is.
The thing is, they could switch to a qt based desktop, without touching any unity code.
Personally, I moved away from gnome when 2.4 (or maybe it was 2.6) took out the "launch a terminal" option from the desktop right-click menu.
That to me feels like a very nice hierarchy:
A few basic, common options available in the main UI.
A few more-advanced/less-commonly-desired options available in a part of the UI that's labeled "Advanced". Things that mortals-but-not-noobs would be interested in. Novices actively don't want to hit Advanced but the sort of user that would be interested in these options goes right for it.
Then really exotic options are available through an interface that takes up absolutely no UI space but is easily accessible by most of the kind of people that would want such things.
Where you do see lots of "Advanced…" buttons is in System Preferences…
Security & Privacy
(Displays - Calibrate has an "expert mode")
Mail, Contacts & Calendars - for manual mail accounts
Network - big advanced section
(Zoom in Accessibility has "More Options...")
By the same token there's no way to do this for the web. (you can override style sheets willy nilly but don't expect a lot of stuff to work).
I suggest you might need to get used to reading text on backgrounds that aren't a "pleasing greenish" color, write all your own software, or learn to live in a world of pain.
Instead of allowing people to set the default edit field background to magenta (which windows does) Apple spent engineering effort on, say, universal access.
It doesn't have to. The measure of a good product, as far as I'm concerned, is the extent to which it can retain all the power the power-users want, while still keeping things simple enough for the non-power-users. OR, better yet, the extent to which it can help non-power-users become power-users.
Motivation goes beyond money.
Why is sane defaults and hidden options a lousy user experience?
You need an easy way to get as close to vanilla as possible, to make support and faultfinding not awful. But you need to provide some kind of hidden method for tweaking to keep power users happy.
This is the biggest weakness of FOSS in general. It is true that some people work on the stuff that has to get done or isn't "cool" but contrasted to "cool" parts where folks are available in abundance and it means people burn out and there is no one there so replace them. If there isn't someone out there paying someone else to be in that uncool part of the code, chances are bit rot sets in.
But maybe that's just a problem with Unity, instead of a good thing about Gnome. I'm curious to try out this Cinnamon thing for Mint, what's it based on/looks like?
Interestingly, the direction some GNOME developers want to take is to make it even bigger. E.G. Juan José Sánchez and Xan López's proposal for "More GNOME 3, GNOME targeting new form factors and GNOME as an OS or final product/UX".
I recently saw a lawyer for gnome speak, and even she had trouble sticking to 'guh-nome'. What hope do those outside the dev community have?
This is news to me since my colleague, running Ubuntu 12.04 is using Gnome/Unity. Did I miss a memo?
According the Gnome people, you're no longer using Gnome if you're not using the Gnome shell. Whether that's true is open to interpretation.
Popular distros like Ubuntu and Mint have shifted away from it
Mint: KDE, Xfce, MATE, or Maya 
Anecdote: I work at a small actuarial firm that uses Linux desktops, and when I migrated everyone (ten people) over to Ubuntu 12.04, they all loved GNOME 3.
After installing I had to go back to GNOME 2 (on a client - installation problems) and if felt old and boring - like going back to Windows XP (from Windows 7)
I use XFCE on my low end/old laptops. I don't need to touch the commandline either nor did I a few (1-3) years ago.
I "just" did a default install with the expectation that Unity would drive me crazy and that I'd end up replacing everything, but in the end I found it very suitable for how I work (browser + terminal with tons of tabs maximized; leaving one workspace free for the rare other apps I end up using)
That said, Cinnamon is a really nice fork of it, that has the features most users are missing, and while it does bring back some of the win98-ess, it's good to see it evolve and become more stable, I'm still undecided between the two and switching back and forth every once in a while.
If you ask me, I think GNOME should drop most of its peripheral software, and stick with just making a really really stable and sleek desktop. Most people don't need email and calendar clients anymore. I just want a simple yet configurable desktop, a great file manager, a good text editor, and a console. The rest should be external IMHO, and the desktop should provide easy integration points.
I am still involved in the community, I am a director of the foundation's board, and I'm still working on Gnome projects in my spare time - which is actually easier these days since I moved from intel to mozilla.
I'm typing this from GUADEC 2012, in A Coruña; the conference is absolutely delightful, there's a lot of talks about direction and future involvement, and everyone here is really excited about moving Gnome forward, as well as regaining the enthusiasts market.
not everything is bleak and bad.
I don't see Gnome as suffering from "Mac-envy" - mostly because everyone envies Apple's profits and margins, if not their user share; I mean, who wouldn't envy Apple. we don't have the resources to do multi-year usability studies involving tons of people; and we still lack the tools like Telemetry to get (consensual) user feedback. so we need to take inspiration in our designs and plans from stuff that others are doing, as well as doing our own thing. I mean, the GNOME 3 shell overview is basically Mission Control from Lion - but we designed it in 2008, well before Lion screenshots were released or leaked to the press; who copied who? ;-)
competing with Apple is also a false goal; we want to keep the keep the users free, as well as providing them tools and an environment that allows them to achieve their goals in a simple and delightful way. that will put us up against Apple, and Microsoft, and Samsung, and basically everyone. it never stopped us for the past 15 years, I don't think it will stop us now.
In the first half of the last decade, there seemed to be highly motivated, talented groups of contributors who helped build and maintain momentum in many popular open source projects like Gnome. I'm not saying there aren't top notch developers still working on FOSS, but many of those big-name 'rockstar' contributors seem to have either been lured to a competing/alternative platform, or just simply lost interest.
I often wonder if age plays an important role, with many former wide-eyed, young, idealistic developers possibly adopting an attitude along the lines of "meh. Maybe I should just buy a Mac and worry less about ideals and philosophies" as they get older and priorities change.
Many have been hired by companies, e.g. Nokia, and now don't want to work for free again.
The typical open source developer has always been either (1) gainfully employed at a programming day job, (2) employed to actually build FOSS, or (3) in academia.
There's at least as much open source development going on now as ever before. It's just that the attention has shifted away from desktop apps.
Now if we live in a Resource Based Economy, then that is possible, but until then, money is king.
I contribute to GNOME, and that is not "working for free". It means having a fun hobby. If I'd get money for it, it would no longer be a hobby, but work. I did hear some people say that their hobby is the same as their work. IMO, work is more restricted (try doing nothing at all for 3 months with your hobby, then repeat for your work).
Of course this does not include Android, or the numbers would look very different.
So... after 2-3 hours of Gnome3, I had had more than enough to prompt me to bite the bullet and switch to KDE. There is nothing good I can say about Gnome3... trying to use it was painful in about every way I could imagine. Nothing works the way I expect, and nothing was intuitive at all.
KDE, on the other hand, has been a pleasant surprise. I'd dabbled with it 10+ years ago, but never made the permanent switch... and given that they had gone through their own "change everything and piss off all the users" thing a while back, I wasn't sure what to expect. But after using it a couple of days, I couldn't be happier. It took a few minutes to figure out some of the new approaches they've adopted but - by and large - a little trail and error, some exploration, and intuition, and I was back to productive work almost immediately.
I have no hard feelings towards the Gnome team or anything, but they're just trying to go in a direction that I'm not interested in. Best of luck to Gnome, but KDE is a clearly superior choice for me right now, and I'm thrilled to have made the switch.
While Gnome 2 was gradually approaching ultimate goodness with its essential configurability (not too many knobs but an explicit set of gconf properties that you could tune if you wanted to), consistency, ease of use, and ten years of GTK2 providing a platform for applications that look and behave uniformly, it was certainly lacking in the integration side (networking, messaging, etc.) for which Gnome 3 is a response.
However, Gnome 3 broke so many little things that it doesn't matter what the new features do. This is one of the cases where Microsoft has been right: when you're big enough, don't muck with backwards-compatibility.
It would not be that easy to write a long email, let alone an article on a tablet or tablet-like computer interface.
Gnome 2 was an excellent basis for a desktop because there were so many ways it could be used. It didn't limit you; you were free to trim out things you didn't want, or add things you wanted. Aside from that, it got out of the way.
This post is wrong to blame tablets and smartphones for the decline. Linux users aren't abandoning desktops; they're abandoning Gnome 3, because it isn't giving them what they want. It's that simple.
In my view Gnome should try to emulate the android model. Build the whole stack up to the widget level (they are really good at this) and then publish a couple of apps and an app store.
Envy-driven development is not a good model. Desktop environments do not need tablet features in the first place...
> This is possibly just a case of the vocal minority and normal resistance to change but it will be interesting to see it all shake out in a year or two.
Or the opposite can be true - a powerful minority (project/company leaders), envious of other companies' success on tablets, decided to spend a lot of resources to try to enter this space, to the detriment of the majority of their (desktop) users.
Microsoft is not entering the space because of envy(?!?) they are entering it because that is where they see the future of computing.
One important function of the Start menu is discoverability of apps. If I want to see what junk I have installed, I can look through the menus to see what I have. With Unity you have to bring up the whatever and try typing search terms. If you don't know what you're searching for, it can be difficult -- and lots of times, you don't know the name of the application, because they have clever branded marketing names (Evolution, Firefox, GIMP, Inkscape, Shotwell, Chromium, etc.) which don't have their primary function ("image," "photo," "web," "email") as a substring.
Discoverability is particularly important for "control panel" type system administration applets, which are often vital to making your system function acceptably, and whose name, number, hierarchy, and division of functionality seem to mutate with every release.
Also, there are switching costs. The Unity interface is so foreign, I'd need several days -- possibly weeks -- to get as proficient with Unity as I am with Windows, Gnome 2 or Cinnamon. That's definitely a cost in time and frustration, and the benefits aren't clear.
Some features -- like the Mac-like "there's only one instance of each application" -- seem designed to cater to n00bs who need hand-holding because they don't understand the concept of multiple application instances, or the difference between launching an application and switching to an instance of that application.
I want multiple instances of certain applications -- terminals particularly -- and it's a major pain point with Unity. So not only do I have reduced productivity during the transition period, it seems like Unity is actually going to decrease my productivity once I do learn it, due to lack or hiding of core features.
Add to that the fact that Unity would crash regularly within the first hour of use when 11.10, the first Unity-only version of Ubuntu, was released.
I gave it a fair shot on two or three different occasions -- I think once when it was still called Ubuntu Netbook Remix, again when the beta was released, and finally with the official release of 11.10. (And a few incidental times when I've booted the Ubuntu CD for various reasons.)
In each case, within an hour of use I've concluded that Unity is a nightmare.
Granted, programmers have a simple workload: web browser, text editor, terminal, done.
One thing I like about Unity is how keyboard driven it can be: the application search is not too bad, and the "HUD" feature actually seems appealing except that it stole my right-hand-alt, which I use as an emacs's "meta" key. But other than that, I played with it a bit and thought it was a great way to get away from the hierarchical pull-down menu, which I loathe.
Multiple terminals , for example, is not a problem: Ctrl-Alt-T launches as many as you want.
Seems the future might be tabs/tiled windows rather than a full taskbar.
This. It's the one reason I can't stand Unity. I can never find anything. I can never know what controls I can tweak. I don't even know where to look. I end up poking around in the shell or apt to find out what actual programs are available.
Why should I be forced to reach for the keyboard just to load a program? This isn't a C64. It's as backwards as Apple's move away from directories.
What? If you want a new instance, middle click on the icon instead of the normal left click. How the heck is this a major pain point?
As for terminals, either use the above mentioned method or use C-A-t to get a new terminal.
It works well on my laptop. Most people don't hate it. Those who tried earlier versions of it and hated it then (myself included) are pleasantly
surprised when they give it another look.
> One important function of the Start menu is discoverability of apps. If I want to see what junk I have installed, I can look through the menus to see what I have. With Unity you have to bring up the whatever and try typing search terms. If you don't know what you're searching for, it can be difficult -- and lots of times, you don't know the name of the application, because they have clever branded marketing names (Evolution, Firefox, GIMP, Inkscape, Shotwell, Chromium, etc.) which don't have their primary function ("image," "photo," "web," "email") as a substring.
This is hideously out of date. If I hit the windows key and type "image", then "gimp" and "inkscape" are in the list of choices. If I type "photo" I get "shotwell", "gimp" and "cheese". If I type "web", I get "firefox", "opera" and "chrome. "email" gives me "thunderbird".
> Also, there are switching costs. The Unity interface is so foreign, I'd need several days -- possibly weeks -- to get as proficient with Unity as I am with Windows, Gnome 2 or Cinnamon. That's definitely a cost in time and frustration, and the benefits aren't clear.
This is an argument against "change", not an argument against "unity".
> Some features -- like the Mac-like "there's only one instance of each application" -- seem designed to cater to n00bs who need hand-holding because they don't understand the concept of multiple application instances, or the difference between launching an application and switching to an instance of that application. I want multiple instances of certain applications -- terminals particularly -- and it's a major pain point with Unity. So not only do I have reduced productivity during the transition period, it seems like Unity is actually going to decrease my productivity once I do learn it, due to lack or hiding of core features.
It takes hardly any time to get used to this change. Personally, my web browser, email client, terminal and text editor all support tabs, so I us
ually only have one window per app anyway.
> Add to that the fact that Unity would crash regularly within the first hour of use when 11.10, the first Unity-only version of Ubuntu, was released.
I'm not interested in older versions of Unity. I already said they were crap.
> I gave it a fair shot on two or three different occasions -- I think once when it was still called Ubuntu Netbook Remix, again when the beta was released, and finally with the official release of 11.10. (And a few incidental times when I've booted the Ubuntu CD for various reasons.)
> In each case, within an hour of use I've concluded that Unity is a nightmare.
So you're qualified to state that Unity was a nightmare. Not that Unity is a nightmare.
I don't understand this, because I have used it off and on from the beginning and it really looks completely the same to me.
To get a second instance of the terminal, right click the launcher icon and select "New terminal". Or middle click the launcher icon. Or press ctrl+alt+t.
How can you say that Unity is still crap, if you haven't tried it in 12.04?
GTK has 1 person working full-time on it (me). Glib
doesn’t even have that. I think evolution is in a
similar situation (a complete email client).
I do thing the general developments in the ecosystem are somewhat worrying. Nokia's involvement in Qt is becoming more clouded, and everyone is distracted by tablets and smartphones (and naturally, the money streams go into those directions).
That said, that's also an opportunity for more consolidation, so if Canonical play their cards right, the open source desktop may become more single minded and effective.
"Since Unity 2D was depreciated for Ubuntu 12.10, much work is being done to port Ubuntu TV to Unity 3D"
"Continued progress removing Qt and replacing with Nux"
"Unity 2D To Go Away In Ubuntu 12.10"
So what are Ubuntu's plans for GUI performance?
What I find interesting in this article is the following:
"[...] For those not familiar with the open-source LLVMpipe driver to begin with, read my original article on LLVMpipe from last year. Its performance has improved in the two or so years I have been closely monitoring this unique driver and fairs better with newer CPUs. [...]"
"[...] This testing was being done with the un-accelerated Cirrus X.Org driver (xf86-video-cirrus) in the KVM/QEMU guest from an Ubuntu 11.10 host. When allowing the Fedora Rawhide guest to only access one CPU core and 1GB of system memory, the performance of GNOME Shell over LLVMpipe was choppy and not as fluid as the GNOME3 panel fall-back or obviously when taking advantage of GPU hardware acceleration on bare metal. When allowing the virtual machine to take advantage of two CPU cores, the experience was much better, with still only 1GB of RAM. Red Hat has reported that using SPICE also improves the experience for GNOME Shell on this Gallium3D-based software driver. [...]"
And Mozilla has left Thunderbird more or less. Lack of developer power seems to be a pattern within open source desktop projects.
(Though Compiz most certainly has been on a measurable decline since the Natty days. The same laptop ran Natty without a hiccup, but it runs Gnome Classic on Precise with at least one Compiz crash every few hours. Not to mention the many bugs introduced into plugins since Natty--window previews and wobbly windows, I'm looking at you.)
Sooo, all others move away from compiz (which is poorly maintained anyway).
which means we might see RHEL/CentOS/Scientific Linux/PUIAS users on Gnome 3.6
Personally, I've worked out I spend little time actually using the overall desktop GUI, so I'm not too sensitive to changes in UI logic. Typical end user I suppose.
I suspect the change to systemd will cause rather more fur to fly than the GUI in Enterprise circles.
I hope the author of the original article gets a bit of support and finds a direction for his labours.
I personally am a fan of Gnome, and hope that they become relevent again. Unity is too fancy for my linking, and Unity 2D, which seems an option, is now deprecated! :|
Basically Linux Mint is the distro for people who used to like Ubuntu, but don't want unfamiliar postmodern GUI metaphors in Unity or Gnome 3 shoved down their throats.
On Ubuntu that's lubuntu.
xfce is cool, but it's gotten too visible for me. lxde/lubuntu is just windows and a panel.
Personal preference, personal choice. Glad you like xfce.
"And for all the people wasting everybodys time with "Why don't you use Unity/KDE/xfce/xyz" - I've tried them. They are even worse"
Tiling window managers, fluxbox etc: too much configuration, not sexy enough
Xfce: also doesn't look as slick, bugs
I really like the Expose(?)-feature and really would miss it
(I tried out Xmonad, Awesome, Stumpwm and some other window managers over the years. Awesome was pretty close to awesome.)
i3 has a couple of issues I like to see resolved but all-in-all I'm very happy with it.
Also, terrible and hilarious name.
Personally I'm sticking with Gnome 2. Simple, predictable, stable...
meh, other than bus factor this seems overblown to me. I use Gnome3 on Fedora and it is great. It takes advantage of Fitts law and there is just less fuck-around-ability with it. (I thought even the Alt-to-PowerOff controversy was overblown; I suspend far more often then I shut down, this is a welcome simplification) If anything I felt Gnome3 had ushered in a renaissance in Gnome. What "new" goals does Gnome have to have other than creating a great desktop?
Please don't drive more developers away with more gratuitous Hacker News "X-is-dying" bitching.
I remember when KDE first came out -- I heard the first press releases and thought they were on drugs, but when I downloaded and built, I was like "wow! this is so close to being a commercial desktop"
Now, in 2012, we have KDE and Gnome and a few off-brand desktops and it's still like "this is so close to being a commercial desktop" -- but there isn't any Wow anymore.
Red Hat didn't like the license of the QT toolkit, so they had to go out and build their own desktop, which was probably the most disasterous decision in the history of Linux -- it's like Windows Vista without Windows 7.
For a long term all of the major linux distros have been wasting time and resources trying to make linux something nobody cares about. There's an obsession, for instance, about office suites that are so bad they make Microsoft Office look like a paragon of reliability and ease-of-use.
On the other hand, there's been a complete disregard for the people who ~really~ use Linux such as sysadmins and developers.
I've recently set up two laptops that run Windows as a host and Ubuntu linux inside Virtualbox. I use "putty" as my *term program and Cygwin/X to run the occasional GUI app I need from Linux. It's a sign of what a disgrace the Linux desktop is that putty has the same ease-of-use and reliability that xterm had 15 years ago, whereas the "terminal" program that Ubuntu tries to push on you is a bloated disaster in which cut-and-paste is as miserable as it was in Win 3.1.
Gnome was a response to KDE, and explicitly aimed to produce a KDE-quality Free desktop environment. If they were intellectually honest they'd have abandoned/merged the project when Qt was relicensed.
I've been using it exclusively for months and I feel that it is doing what Gnome3 wanted to achieve. It is simple, intuitive and rock-solid. Never froze or crashed and diagnostic tools are great.
LinuxMint is the old Ubuntu which you used to recommend to your friends and family.
1. When I last used GTK (about 2 years ago) it felt too big, old and bloated. If GTK were simplified and followed Qt's lead into scripting and easier interfaces (eg. Qt Quick), plus a MIT or LGPL license, this would encourage a new culture of apps.
2. I hated Gnome 3 and Unity for that matter. Gnome 4 needs to take a step back and get out of the way. You don't use the computer just for Gnome, but you use Gnome as a stepping stone. All common apps should be one click away and everything should be as customizable and flexible as possible.
As kljin said, some Gnome apps are redundant and the workforce could do a much better job focusing on the core issues, that could bring more people back to Gnome and hence possibly continue these projects again in the future.
> You don't use the computer just for Gnome, but you use Gnome as a stepping stone.
> All common apps should be one click away and everything should be as customizable and flexible as possible.
This is exactly what they chose not to do.
In a reply to Linus Torvalds:
> Sorry to snip mid-sentence, but this is an important point: We're not aiming
> for "powerfully extensible". We're aiming for "Just Works". Some people will
> hate that. Some will love it. Personally, I'd rather have passionate users,
> lovers and haters, than be than average and ignored, and I think you'll find
> most GNOME developers feel the same way.
So they made their choice, ignoring most of their own base were against it. Guess what? they lost users left and right.
They had a sweet spot in Gnome 2 and a strong user base. They thought they could somehow get Windows and Mac users, but that wasn't just happening. At least not at that particular moment in history.
So that was their decision and they didn't backtrack despite all the warnings (plenty during the last 7 years). Stubbornness gets you to obsolescence.
Gnome feels un-unified. I guess this has always been the way under Linux, what with QT, GTK and other toolkits, but when one app is slightly at odds with the rest of the Desktop - it feels, odd.
Example being non GTK3 apps, like LibreOffice (though someone here suggests that that is being rectified.) Even VLC, Opera, Firefox and Chrome feel a little out of place. Each behaves differently. You can't quit VLC with CTRL+W for example. Each are designed on different toolkits. Menus are inconsistant. Tabbing behaves differently in each app (can't we relegate this to the Window Manager or Desktop?) Keyboard shortcut unification doesn't exist. These are the edges I'd like to see addressed across the Linux desktop as a user.
Perhaps unification is a lofty target. And we should just be happy with the fragmented cottage patchwork.
I don't even know the difference between GTK, GTK2 and GTK3 and QT! My desktop is such a pain to theme it's a nightmare, I certainly notice that. What's new in layman's terms in GTK3?
As for some core apps, Evolution looked promising. But even that feels a little rough around the edges (I can crash it quite easily.) Thunderbird doesn't integrate with Gnome brilliantly. One flagship email client would be nice.
Focus on the core, the desktop design guidelines and some intrinisically needed apps. Most desktops on Linux seem to suffer in much the same way. Unity still appears ad-hoc.
I guess a good aspiration would be to make it as simple as possible for people to create applications as well as use them under Gnome.
Could there be some kind of CSSification of an app's controls? Present them as interfaces that could be styled differently according to the platform you are on. Leaving Window Managers to take on the role of innovative desktops. Perhaps apps are designed like this already? At least it would be easier to port an application across different form factors.
That's exactly a feature that GTK 3 introduced: CSS theming.
What should have been done, is the CSS in Gtk3 should've been designed with backward compatibility in mind, and the tooling to automate the creation of a Gtk2 theme based on a Gtk3 stylesheet.
As it is, they can't even move from 3.0 to 3.2 without breaking themes. I've no idea what the situation was for 3.4 or later, but I imagine much of the same.
Also, theming is missing a usable distribution and installation model. Currently, users are expected to simply extract an archive into a specific directory and follow any instructions that come with the theme - some include shell scripts. This is hardly "user friendly," like they claim they're attempting to make Gnome.
Rather can this be left completely to the Window Manager? I.e this is a menu, this is a tab. Now present it as you will.
GTK is LGPL licensed.
I found Awesome, and though there are some things I don't like about it (or namely, some programs that don't work nicely in a tiling environment), every time I try to use another WM or a DE, I miss the speed and keyboard accessibility of Awesome. It's a blast to use.
I installed KDE for my wife to use. It takes KDE an order of magnitude longer to start than Awesome, for all those services and stuff that it's running--you know, all that stuff I'm probably not even using.
We have Qt that really works, much much better, and with LGPL license.
You can run stellarium, VLC or Marble in Mac or Windows without problems.
If you try to use gimp or inkscape in mac it opens x11, copy and paste does not work(in inkscape it copies pixmaps instead of vectors!!), what a botched job.
In windows you will have a lot of problems too.
GTK support for OpenGL, OpenCL was terrible, having to low code everything, while in Qt works as well as with cocoa.
Let GTK die and improve(or fork) Qt.
OpenGL support sucks in GTK and QT equally. Especially if you want a more recent version of GL.
OpenCL does not depend on your widget toolkit in any way.
> Let GTK die and improve(or fork) Qt.
Qt is not really as great as you seem to suggest. It's a bloated "batteries included" framework that has everything from it's own string type to wrappers for things like threads and sockets. GTK is a widget library that is a lot leaner and meaner in comparison.
These massive platforms that try to wrap everything in the underlying operating systems to a common API use only the least common denominator of the systems that it runs on. The easy 80% works quite well but things tend to fail miserably when you enter the 20% realm. Things like memory mapped files or asynchronous socket i/o tend to be missing from these wrapper platforms.
And Qt is still using an old non-standard conforming version of C++ to achieve portability to things like Symbian. And their own C++ extensions that require you to use their build system and pre-processing tools. So you can't really use Qt without going all the way to Qt land.
Of course, the downside here is that all the Gtk+ bindings to other languages are based on the Gtk+2 API. Gtk+3 hasn't gained much popular support.
Yep. C++ is what I call a "dead end" language. If you write your code in C++, it will be only usable from C++. If you want to use it from Python, Ruby or whatever, you'll need a C shim in between. If it were written in C, you could use ctypes and other similar means to do FFI quickly.
Unfortunately, most languages other than C are more or less a dead end.
Except for Java, where you can reuse code directly with JVM-compiling stacks like Clojure.
So, I'd put Java in the "dead end language" bin. You can use C code from Java (via JNI) but it's not practical to do it the other way.
That's the way many languages prefer to do their FFI, write "foreign" declarations in the language itself, not in C++ land. E.g. in Haskell, you can call C with very little effort. When dealing with C++ you have to get along with ABI issues and things get a lot harder.
Just because an api is C based doesn't make language bindings 'happen automagically', otherwise Gnome wouldn't need the GObject Introspection project. KDE has a similar project called 'Smoke' and some language bindings based on that.
There are different technical challenges to writing bindings for a C++ based api as opposed to a C based api, but it is just not true to say that one is better than another in my opinion. This is based on my experience doing a lot of work on Qt C++ language bindings, and a project using GObject Introspection.
If someone did for Qt what XFCE/LXDE did for GTK+, I think it could catch on.