1. Remove a long-existing feature without telling anyone, hidden in a minor update
2. A user reports it in a friendly and informative manner. Persch [dev] closes with a single word "No". That alone should make any user furious.
3. A discussion ensues with someone finally (and understandably) concluding that this was done intentionally. To which Mueller [dev] responds: "Please don't. Please give https://live.gnome.org/CodeOfConduct a read. And
please consider that this bugzilla is not meant to be a discussion forum but
rather a place where actual bugs are kept."
Holy crap, so we are to conclude that it was not done intentionally but it should not be fixed either and that nobody is supposed to complain because the developers' code of conduct states that they always mean well by definition.
4. Another user sheds light on the backstory by pretty much proving this was done on purpose (contradicting Mueller). To which a third developer responds indignantly that the "official" workaround for this issue is sufficient and that the user should head over to the corresponding wiki page and improve the workaround description. He then closes again with a statement about how all devs are well-meaning (just for the added cognitive dissonance I suppose).
What takes the cake: from reading their description, the suggested "workaround" seems to make the whole window transparent, including the terminal text.
Edit: I'm tempted to write a bot that will catch title changes and post the original title as a comment in the thread automatically.
Though, I'd be in favor of you trying and seeing the result. My test was limited and short lived so it may not be indicative of the full community.
As for how this happens, I don't know?
Is this a from moderators import title_checking ...
But then Arc is more functional so maybe it is done in code?
I'm still sympathetic to the title-change complaints, and I think HN is leaving a source of creativity on the table to the community's detriment. But the guidelines are theirs to setup and enforce.
In general, Gnome tends to make decisions internally and then refuse to communicate what's behind said decisions to the broader community.
That said, I don't think I agree with the people who seem to think of transparent terminals as massively important feature, though I do find them nice.
I don't like transparent terminals myself but the bottom line is that Linux users spend a lot of time in their terminal. Terminals are the #1 productivity tools for Linux. You just can't remove features from such tools willy nilly without consulting with your users.
"GNOME 3: Ease, comfort and control
GNOME 3 is an easy and elegant way to use your computer. It is designed to put you in control and bring freedom to everybody."
From that, I don't think they aim to support the group of users that "spend a lot of time in their terminal". They might even look forward to the day they manage to ship a system without a terminal.
If you're a passenger and you think you see icebergs you need to abandon ship, not whine with the Captain about where to steer.
Really? Not even in the case you think the captain failed to notice the iceberg, and a simple heads up would save not only yours but all the other passengers' lives?
Nothing ot do with Gnome, I suppose, but this was a really bad analogy.
I happen to disagree with the course, but it's their right as developers to choose a different direction. At some point as a user you have to come to grips with the fact that their vision and yours have diverged. There are undoubtedly many other users who prefer this different direction and they can't all be right.
Find the boat going the direction you want to go and climb aboard and help out.
I have to learn more about KDE -> Gnome, since I remember it was the other way around :)
He switched from KDE 3.5 to GNOME 2 series when we were dicking around with KDE 4.
Then GNOME started their own process of dicking around and Linus tried KDE 4 (including rotating all the Plasma widgets ;).
Not sure if he stuck there or ended up on XFCE though.
here's the link: https://www.youtube.com/watch?v=4XpnKHJAok8
There was more to the issue than BK simply deciding to drop the free version. The short story behind that one of the Samba authors helped force Free Software along in more ways than one!
They are the most absurdly productive and effective computer users I know and the most highly competent.
They can deal with thing abstractly and don't need to spatially visualize every type of manipulation on the screen.
The CLI allows you to create tiny on the fly programs, slicing and dicing small tools to do really useful things.
There is absolutely no way to do it quite as fast if you have to artistically draw the connections with a pointing device in a GUI.
| The terminal is a power-user feature
Now, the best software projects on Linux, ones that had previously been creating software that power users liked, and which became important at all because of the power users that switched over to using it, have apparently decided that power users are a minority segment of the overall market and that they are no longer worth optimizing for.
To make this clear: imagine if Windows, which currently is marketing itself to the "average computer user segment", a user segment that by-and-large were humans with some large subset of eyes, hands, and ears, and decided that the real money in the future was going to be branching out to take over the "any organism of any form" market.
Of course, that market has no real use for a keyboard or a mouse, as the majority of organisms don't have fingers. They can't see the screen, and they probably can't even reason in symbols. So the entire user interface starts getting converted into some kind of EM sensitive yes/no detector that is mostly useful for doing simple arithmetic.
Would this be reasonable? Would the people who currently use Windows not find this ludicrous? This analogy is obviously downright insane, but frankly I think it covers the situation here really well: the people who care about Linux are power users, so by forsaking power users they are forsaking their entire existing market segment.
For a simpler analogy, that I think also nails the core of the problem here while seeming really awkward: imagine if ALL the worlds best manufacturers of semi-trucks decided that cars were more profitable, and so decided to start marketing their products to them, not just by adding amenities but by making them less useful as semi-trucks.
So, over time, new models stop taking diesel, they force a back seat into the front, they add an optional trunk, and one they they decide to just remove the option to hitch things to the back at all. Would this be sane? This may even make sense on some kind of long-term strategy to take over the car market, but their market doesn't want a car.
Here, then: yes, I would agree with "the terminal is a power-user feature", but it is missing the point entirely to then argue that "I don't see any comment on the number of power users out there" here: claiming something is a power-user feature in order to justify its removal is indicating "small market segment", but power users are the market segment.
That mantra should not just affect the product, it should be the way the whole project functions too.
How is it freedom if they decide that a feature I use is no longer relevant, necessary, chose to remove it and don't inform me about it? It also doesn't give me control, does it?
The whole behaviour of the devs on that thread is completely in-elegant, so much for that part.
I also fail to see how that mantra excludes users that do spend a lot of time in terminals? Don't we deserve nice and elegant things and to be brought control and freedom? They explicitly state everybody, that includes us terminal mungers.
Clearly their marketing crew aren't talking to their development crew.
My favourite failure is that one of the few options left to the user is setting a default viewer for videos. A setting which it subsequently ignores.
Funny story, they banned me now because they think I submitted this HN story. I didn’t, I came here way later.
Makes you think, doesn’t it? (The warnings refer to another bug a few months ago, where I tried to make another developer explain his removals, and good discussion and a full blog post resulted. All in all a good result. But still they said I was out of line because I named names)
Their attitude makes me want to switch to another desktop even more so that the software itself.
Didn't you accuse them of intentionally mixing up commits to make the changes hard to reverse? Calling that adding backstory is dishonest and the comment was entirely inappropriate.
(Sincere apologies if I am mis-attributing this comment to you.)
And then I overstepped and deduced that this may be assumed to be intentional, condering the backstory.
You might say that was inappropriate and I was banned with justification. But I’m a human too and this lack of proper communication frustrates me to no end. If the developer in question can be said to have a breaking point, I have one too.
None of this would have happened if the involved parties had a better standard of communication and of handling matters.
Am I really defending the GNOME project now? ó.Ò
Gnome is quickly making themselves obsolete.
"Him: OK, I figured out what happened.
It wasn't ideal in terms of commits.
So, we have an old configuration system GConf, and we replaced it with our new one, GSettings, for N reasons.
GSettings was missing a feature for gnome-terminal to implement, so it went without GSettings for a long time, until the 3.8 cycle, when we ported it over with a workaround.
The port wasn't 100% complete, so it landed with the intention of adding feature parity, like with terminal transparency support.
However, after asking our team, we decided it wasn't worth it keeping the support code around for terminal transparency, and dropped it.
It's an unfortunate thing that happened where the reasoning wasn't relayed entirely in commit messages, and you're right -- it was dropped in a seemingly unrelated commit.
But that's after intentions changed -- a broken port to new tech with the intention to fix it, then that changed, and thus it got dropped under the guise of "Remove dead code"
me: fair enough.
so the only wrongdoing really was persch's response.
Him: Yeah. So, it turns out that he was just tired.
That was the 7th or 8th bug report about it, and he didn't feel like explaining it again."
That said, I don't understand why he felt he had to keep explaining it. He could have just copied and pasted the answer or closed the bug as a duplicate of the original one that reported the bug. In the original he could have posted a kind explanation about it, and linked to it from the duplicates that followed.
I understand what it's like to get tired and short tempered. I used to moderate an online community primarily of middle schoolers and high schoolers. But ultimately, you end up hurting the community you're supporting more by not doing things The Right Way™ the first time around. You hurt it even further when you fail to acknowledge that you're tired, short tempered, and should probably just go to bed and deal with it in the morning.
Maybe I just expect adults to behave like adults, but "he didn't feel like explaining it again" doesn't float with me as a valid justification for how he handled the issue. It would have taken a comment and a link to deal with it the correct way. Live and learn, sure, but the attitude reflected in his response appears (to me, at least, with my limited visibility) to be reflective of a systemic attitude surrounding GNOME development. And that's no good.
Also it makes it clear which single point of discussion contains the rationale for the changes so that the developer doesn't have to re-explain (something to which I'm sensitive myself, having been on the dev end of changes like this).
It's a pretty big problem when bug trackers are exposed to a group of non-technical users. Stackoverflow has a nice feature where it does a real time search of existing questions as you type yours in to prevent duplicates. I wish that was a considered a must-have feature of bug trackers.
[List of bugs mentioning problems related to background transparency](https://bugzilla.gnome.org/buglist.cgi?product=gnome-termina...)
How is that hard to do?
The possibilities are endless! :D
And the way you resolve a repeated bug report is to link it to the last one and close-duplicate. You don't even need to respond at all.
In short: What you've explained is more reasonable but it's still opaque and unhelpful; someone involved should summarize why it was removed and if it could be rewritten and put back in.
I can't speak for why Christian Perch spoke the way he did, but he knows that he shouldn't do it anymore.
So, let's go into more details. There are a few ways to get real transparency for windows under X.
First of all, there's _NET_WM_OPACITY which is handled by the compositor window manager, and that's the replacement workaround suggested, but some think it's not appropriate enough. Fine.
Second, there's "psuedotransparency", which is expensive on a modern system. Basically, you copy parts of the root window, excluding your window, and then paint it under your window. Every time some other window updates, you need to re-fetch contents. This is wasteful, but it's how transparent terminals were implemented in the 80s. To implement it, there's a bunch of MMX (yes, MMX) code that's been copy/pasted to every project. The only existing program that uses pseudotransparency that's still maintained is XChat/HexChat.
Third, there's RGBA visuals, which require a compositing window manager. The issue here is that the RGBA visual isn't always around: it's dependent on your window being redirected to an off-screen pixmap. If the compositing WM restarts, or you close down the compositing WM and start up a traditional WM, or close down the traditional WM and start up a compositing WM, you have to basically close your window and re-open it. This is racy and bad to do at WM startup time, and accounts for a few bugs/crashes in the WM or in gnome-terminal. Furthermore, closing and restarting the window means that the new window is now on top of the stack whenever you restart the WM.
It's really ugly behavior all around, and we did an informal poll and found that almost nobody was using transparent terminals, and decided to drop the code.
X just isn't meant for modern graphics.
| First of all, there's _NET_WM_OPACITY which is
| handled by the compositor window manager, and that's
| the replacement workaround suggested, but some
| think it's not appropriate enough. Fine.
I don't personally use terminal transparency, but it does not seem logical that someone could see _NET_WM_OPACITY as a replacement for this. This seems like a really weak (and poorly thought out) attempt to 'throw a bone' to the people that want the feature that's being removed.
Sure, we're removing the NY strip steak from our menu,
but there's always the hamburger, that has beef in it
too. You can even add steaksauce to the burger!
So it’s fair to say that at bare minimum tens of thousands of people were using this code path.
That way we can have our cake and eat it - most of the time if you don't have a compositor then transparency doesn't make sense anyway (performance is terrible) - instances include VNC.
I'd certainly be happy with this solution.
(Speaking as a transparent gnome terminal user).
Nowadays GNOME Shell simply requires a compositor, or so I thought, so it seems like you could assume one is present.
The one issue is supporting the case of running gnome-terminal from non-GNOME environments that also don't have a compositor, but I think it would be fair to give up entirely on supporting that use case.
However you might still want to handle the case of the compositor crashing (I think one of the dev's comments in this thread mentioned that), which is admittedly going to be annoying since it involves dealing with X.
And the GS → metacity → GS cycle was not crashy here at all. It worked.
And now you’re getting into Wayland territory. All the more reason to make sure that windows with alpha maps work.
You can keep the old code around in the meantime.
Also, making a poll in your 50 people IRC channel is not a very meaningful sample size is it?
| Also, making a poll in your 50 people IRC channel
| is not a very meaningful sample size is it?
No idea. That’s what I derive from "we had an informal poll". Since they hang out on IRC that is probably where it happened.
So what does it take to make the minds change back again?
When I stare at opaque terminals all day I get severely perceptually understimulated to the point that I fear becoming an automaton.
But with some sliding animations and a bit of flower poking through it soothes my nerves.
Is that not enough reason?
Perhaps separating these things out in different commits would’ve been smarter to begin with.
The gsettings port broke stuff and reintroduced problems. It was long overdue. This means that cutting features to get things out of the door might happen.
If I had to guess without debugging, I might guess that the 'changed' signals were firing at different times in comparison to when the slider was being adjusted that means that changing the background wasn't ordered 100% correct. The code stems back to 1996 -- it's possible that assumptions like these are being made.
You are implying that because you don't know about the connection, there must not be one?
Perhaps separating these things out in different commits would’ve been smarter to begin with.
20/20 hindsight criticism from someone watching from the sidelines? Helpful.
Um, isn't this all handled by VTE?
And as a Gnome project, does this mean transparency will eventually be removed from VTE? I know of about 20 VTE-derived terminals that will not be pleased to hear this.
Want something removed? Create a definition of when you should activley remove something. Like this:
Candidates for feature removal of (SYSTEM)
* Does not impact how the application can be used
* Requires manual testing
* Is greater than 1% of the size of the application, or greater than 500 lines of code
If X meets all three candidates it's up for removal. Any bug created can be referred directly to this list.
There. You don't have to come out and say "We're terribly sorry, but unfortunately we've decided to remove this feature because of blah blah blah" and you don't have to just say "No.". Instead you can say "Removal decision is based on (INSERT LINK TO ABOVE), if you disagree (INSERT ACTION TO CHALLENGE)".
What people want is something that gives the impression of a uniform set of decisions. They don't want to feel that people/developers are just being petty dictators.
The issue many developers have is not with language, it's interacting with other human beings. And the issue here is that the developers don't communicate with their user base. There is no public discussion, poll, or even a heads up. When a user asked about it, he was effectively told, "There will be no communication about this change."
Advising users, no matter how technical they are, to dig through system internals or devote the time and energy to become core contributors of Gnome so they can have the blessed power to ask that something they depend on not be removed for "maintainability" (really, someone's OCD sense of elegance) is actively hostile to those users.
Although there is an IRC channel, a discussion mailing list, and mentioned elsewhere in this comments page, there was a poll of some sort. And half a dozen duplicate bug reports with comments already in bugzilla.
Advising users, no matter how technical they are, to dig through system internals or devote the time and energy to become core contributors of Gnome so they can have the blessed power to ask that something they depend on not be removed for "maintainability" (really, someone's OCD sense of elegance) is actively hostile to those users.
Stuff changes, you can't absolve yourself of the need to deal with it changing just by waving the 'user' or 'busy' cards. If you depend on a feature, don't just go moving entirely to a new version with no way to revert, without testing that the feature is still there. What if it was present, but had a bug and didn't work on your system? Would you go to the developers and demand they consult you before having bugs because you depend on it?
As chris_wot said,
> Your "informal poll" evidently didn't include the userbase.
For this _particular_ feature, it's a "rampant layering violation" -- translucent windows have been available in compositing window managers (Compiz, and whatever that thing that KDE uses) for at least three or four years.
Assuming these users have a fast enough CPU/GPU, they can configure the desired behaviour using the ccsm graphical tool.
The job of the compositor is to draw a window how it asks to be drawn. The window in question is extending that choice to the user: "how do you want me to look." It then tells the compositor to draw it in that fashion. I would argue that this is the correct place for this choice.
If you use the compositor to control transparency, what you have is the window asking to be drawn in a certain way and the compositor saying "Eh, you'd look way better at 50% opacity". If it's the user controlling this it's even worse. Now they have to be able to write a regular expression on certain window classes for each application they want to modify, and have far less granularity in how the window is modified.
The compositor exists to faithfully draw windows and place them on the screen according to what is requested. Only in exceptional cases should it be asked to do weird things with certain windows.
I'm not sure how else you expect the window to get the data for the background (i.e. root window) (and/or other windows, as applicable) in order to make a transparent background.
Edit: Although if it specified the background with an alpha channel, I suppose I guess it would be okay.
I see no "rampant layering violation" here as the goal is not a transparent window, but rather a transparent background, big difference.
But I still think that accessing the data of other windows to draw a transparent background is a great deal of complexity for a terminal emulator -- AFAICT it means the terminal emulator has to be innately aware of the innards of the graphics system it's drawing to.
Regardless, given the attitude shown in the bug, do you really believe if somebody provided a patch, it would be accepted? And do you really expect people to become core maintainers in every project they want features to not be removed from? That sounds ridiculous to me.
Gnome can decide whether to have a feature or not. But, as a very popular open source project, they should respect their users enough to gather their input and take it into consideration. At the very least, they should communicate well enough that users can make informed decisions before a feature is yanked from under them.
But I also believe it is crazy to believe that simply using a piece of free software gives you any right to dictate the feature set of that software.
One, the freedoms granted by free software include the right to modify and redistribute code. If you want to re-add a feature, fork the code. If the community sides with you, you will become the de-facto upstream.
Two, just because a user is vocal doesn't mean his/her incentives align with those of the developer. If the developer is working in his/her own time, he might prioritize things that are important to him, like, say, porting the terminal emulator to Wayland, or keeping only features s/he cares about. Or, perhaps the developer is being influenced by an external body or benevolent dictator.
I also find your "users can make informed decisions before a feature is yanked from under them" comment confusing. Presumably a user could always downgrade the package, or use source control to build an older version, if the missing feature is indeed mission-critical. If this risk is really unacceptable, they can make an informed decision to not upgrade, or to purchase a support contract.
It seems to me that the developer's communication skills are reasonably adequate, so I don't object to continuing to use gnome-terminal. I assume that the people who approved them becoming a developer would feel that way too.
Why? so they can argue will fellow core devs?
> For this _particular_ feature, it's a "rampant layering violation" -- translucent windows have been available in compositing window managers (Compiz, and whatever that thing that KDE uses) for at least three or four years.
NOPE. Setting the transparency by compiz would make the whole window transparent, including the text, which makes the transparency useless. You need the background to be (semi) transparent, and the text to be fully opaque. This is a non-solution.
So they can be an active participant in the decision-making process. Right now, they're powerless -- like serfs or peasants.
> You need the background to be (semi) transparent, and the text to be fully opaque.
I will admit that I didn't notice this distinction before -- I found the transparency too visually distracting to leave it turned on. I'll admit I erred here.
What I recall was that it would somehow grab the bitmap of the area behind the window, and then draw that partially transparent as part of its own background. The way you could tell this was happening was to use a asymmetric image (like, a flower or some landscape photo) and notice the background "sticking" as you drag the terminal window around.
"He hid the removal among very unrelated changes (gtk to gsettings switch) and spread the rmeoval across more than one commit. Such that you cannot easily revert it. I strongly assume this was done intentionally."
The RAID/LVM removal from Palimpsest followed a similar pattern (code deleted during a rewrite of an underlying library), but the developer was willing to work on reinstating it. Here we don't really know what Persch thinks — though damn the users is a tempting guess.
It's not a bug, it is the removal of a feature. Is a bug tracker really the most appropriate place to discuss in which direction a software is to go ?
'No' and a link to the relevant reason and workaround should be fine in that case but apparently that had already been discussed before (and a reason was given).
I don't know if removing it through so much commits is good practice but if the feature was to go it doesn't make a difference in the end, he sculpts his piece of the software any way he likes it as long as it's feeature oriented, right ?
Note: I have no advice on wether that feature should have been removed or not in the first place.
Also, inevitably some people in good faith will believe they find a bug when something doesn't work the way they expect it to behave. You can't expect everyone to follow all discussions about features getting cut, so a link to whatever discussion there was (if ever) would have been appropriate.
Do users post to the firefox bug tracker when features are removed like in the gnome case ? How is it handled ?
Apparently, this behaviour was considered a bug, if a very long-lived one. So a recent update 'fixed' that behaviour, although the justification is stronger there, and the workaround (SuperStop addon) is actually useful, although still on a different keybind (Shift-Esc)
The reason you have these discussions on the issue tracker is so when the next person comes along to file the issue, he/she now has the relevant context. Randomly guessing at which group to search and post to hardly helps in discovery. If you don't want discussion, disable the comments. But that's hardly conducive to good community teamwork.
And I'm really not aware of any project that only uses a "bug tracker." They almost all track issues, ranging anywhere from bugs to new feature requests. Maybe Gnome is different in this regard, but I don't think it's crazy for someone to believe otherwise. Redirecting conversation smacks of a "bugger off" mentality.
I might be naive about collaborative software development or the way gnome dev handle things but I think bugtrackers should be about bugs and technicalities, not feature approval or UX discussion if user feedback is wanted otherwise everything that a given user finds annoying would be considered a "bug" and drama would occurs.
This "talk" is more shocking in my opinion than the one that made the headline.
Yes, the original answer is "just" missing the link. As is also the answer to the why comment.
I asked why he wants to remove the feature. He said it’s loosely connected to other features that are buggy and he doesn’t see the point of the feature anyhow. Whether I had a justification for the feature to stay.
I replied and gave him two good reasons, one of personal merit, one of technical merit.
Then nothing else.
Then I discovered that it indeed had been removed, while I was following git snapshots. So I checked the NEWS and Changelog, ReleaseNotes and git. No mention. Could’ve been temporary or unintentional.
So I wrote the guy again to ask what’s up. No reply. Then he replied with a non-answer only pointing to a FAQ entry he made the same day with a distracting workaround.
So I checked out git locally to see where the code went.
It turned out among unrelated commits where the code was #if 0’ed out only to be removed a few commits later with "delete dead code" etc.
So I wrote him again to ask why he did this. No reply.
So I downgraded to the known-good old version and waited for release time. Same story repeats with other people. Apparently nothing personal because of my tone.
So. Conspiracy or justified puzzlement about this behaviour?
Then this trainwreck happened and people were asking questions.
So I thought it worthwhile to add what I knew. I don’t think I disclosed anything personal. It was strictly technical matters relevant to the bug at hand.
So why did you ban me with a false accusation?
If anything the "removing type-ahead search from nautilus" bug should’ve taught the lesson that an information campaign works better than outright censorship.
When that bug got attention Jon McCann came in, explained, and then made a full blog post to expound the directions they were taking. I still didn’t like it but I was satisfied with the explanation.
Stop digging in and realize that just slightly amending your policies and interactions with users would fix everything.
So the gnome developers had a plan. "Linux needs a desktop for all of these people who don't use linux". We need to build something for the non-users.... and the other developers looked at each other and agreed. "YES! Let's throw away our current user base and focus on the users we don't have". The developers were very happy with themselves.
We can focus on tablets and touch... everything can be round and safe and nobody will be able to change anything because they will simply love our environment so much.
and since that sad day, the gnome developers pretended that nobody actually uses gnome and everybody who did were less than human. They waited for the billions of people on the planet that would really really love using gnome once they find it.
So I left..
Classic gnome developers and their little man syndrome.
I, and a lot of people, are willing to spend time configuring the environment until it fits like a glove. When we have to upgrade, what we want is for that to just continue to work, but with bugs fixed.
In practice we wind up having to reconfigure to get back to the same state as before. And this makes us want to avoid upgrading. This also makes people who care not be involved in development - after all our environments are as we want them to be, and we want that to get out of our way so that we continue to work. So developers never hear from us unless something breaks. And then we're upset.
When an upgrade means getting rid of the way that we are used to working, we get unhappy. Therefore people who develop desktops do not like people like me. I can understand that. But I still do not appreciate the arrogance and condescension that I see coming from desktop developers towards people like me.
I personally have no idea why people get involved with developing desktops. It is not something that interests me. It is clear when I read what they say that they do not want anything resembling what I want.
My ideal desktop almost used to be fvwm2 - maximum real estate, multiple screens, no "helpful (mis)features" that I didn't want. The only missing feature on my wishlist is to have multiple monitors, with the monitors cycling independently through screens. But many years back Debian integrated their version of fvwm2 into Gnome, and things stopped working properly. (This was long enough ago that I no longer remember what broke - just that it did break.)
I developed a dislike of the Gnome project back then, which I've never seen anything to dissuade me from.
The people complaining when they're upset do not necessarily represent everybody. Actually the people who are so vocal as to post the same bug 8 times and tar the project on Hacker News with lots of misrepresentations of what happened are probably not the most helpful to the community. Let those determine the direction of a project and you will continuously add features without any technical direction until it becomes bloated, a nightmare to fix or extend, and the only tastes served are this one bitter, vocal minority that becomes your entire community.
Maybe you should buy a commercial OS and try complaining to the salesmen, see how much they will charge you to ensure that arbitrary custom feature X ends up in the next release.
Transparent terminals are a feature that they used to have. I've used that feature myself so that I'd be constantly looking at my daughter's happy face rather than the blank background of my many terminals. No utilitarian purpose? Perhaps. But a very real psychological one!
In fact this is valuable enough to people who spend time in terminals that even commercial OSs that you disparage, like OS X, have realized this is a valuable feature to include. So have the providers of other terminals.
But Gnome developers don't see things this way. They have a theory of what is utilitarian for their users, and that is the direction that they pursue. In the process they consistently ignore actual feedback from actual users, and completely devalue the psychological needs of their own users. This is a great attitude if you are designing a jail. Not so great if you are designing something for humans.
> On hearing that preferences have a cost, some people get upset that we're going to remove every preference, or that their favorite one is gone, or whatever.
Sometimes I think the problem with Gnome is that the cost for them to do anything is just too high, due to bad architecture. Thus they always opt to do less. This is in contrast with KDE's approach, where they strive to improve the architecture, so that it is easier to do more.
The dev's attitude here is also shit... if you're not willing to reasonably address valid concerns related to decisions you've made that were obviously going to affect regular users, you have no place making those decisions and forcing them on others in the first place.
The first one is that it become fashonable to remove features, and this is not just an open source trend, instead of making softwre that fills a ninche, everybody is trying to build the same 10% of the features that 80% of the people use 90% of the time. (And let's forget that those other 10% of the time are still important for 100% of the people, ok?)
Another problem is that unless the user develops it, open source development is not user oriented... Well, proprietary software development isn't either, (only softwre developed in-house is really made for you) and both will cut costs in places you don't like sometimes.
At the same time: The reaction of the developer and they way it was done was pretty unprofessional. When redesigning a settings dialog and dropping a couple of 'em in the process, a proper changelog-entry would be the least.
Have you seen the "GodMode" hack in Windows 7? It's really a nice counterexample. Sometimes, verbose flat interfaces are just what the doctor/user ordered.
You don't have to be completely ingratiating; just say "This feature was removed because of [reason], if you do not like this decision, comment on [place to comment].
That's it. A "No." is unacceptable.
The ui was always inconsistent and ugly (e.g. Gnome icons are a joke), but it was fast and had some cool features the competition implemented years later.
Now its behind the competition, terribly slow and still inconsistent and ugly.
Sorry devs, I don't mean to understate your work, but sometimes criticism is needed to help evolution and improvement.
In the beginning, Linux desktops were incomplete, but they were thriving, developers all keen to add new stuff and catch up with Windows/Mac. And naturally, most of it ended up as almost-copies of other OS's functionality, but with plenty of unique stuff in there too.
But then, the desktops slowly became closer and closer to 'feature complete'. So where do you go from there? It seems to me that Gnome has become a 'change for the sake of change' project. Maintaining and making incremental improvements to a desktop isn't that interesting for developers, I guess. So they strike out in all different directions, at the expense of existing users. But there doesn't seem to be any goal any longer in what they are doing. Certainly I can't find anything obvious on their website!
"The competition" have just screwed the pooch with Win 8 as well. I'm not an Apple user so you'll have to tell me how they're doing.
I personally use XFCE, which is fast, pretty, fairly lightweight and doesn't seem to want to force me to change how I work. In Xubuntu, or on debian with a bit of effort and a couple of themes installed, it's a good looking, slick interface. If you want a decent linux desktop experience it's worth a try.
Sure it is. It's an umbrella term for Gnome, KDE, etc.
> "The competition" have just screwed the pooch with Win 8 as well.
Nah. Not enough that people are leaving it in great numbers. People who want a Windows 7 experience download Pokki or Start8.
> I'm not an Apple user so you'll have to tell me how they're doing.
As a Mac user, I'm perfectly happy with Mac OS X, out of the box. Haven't upgraded to Mountain Lion yet, though.
The point is there is no single linux desktop and the OP seemed only to be talking about gnome.
Sure, but who cares? Apparently not enough people, because nobody is leaving. While their position is certainly precarious in other areas, Microsoft's dominance on the desktop is pretty hard to excuse away; it seems to me that they could have another three or four missteps of this magnitude and few people would consider leaving even then. Their primary competition is their own operating system, and that's a great place to be.
The point is there is no single linux desktop and the OP seemed only to be talking about gnome.
There's no "single Windows desktop", either; stuff like LiteStep has existed forever. But when people say "Windows", they don't mean LiteStep. Which isn't to say the usage numbers for non-GNOME/Unity DEs are that dire--from what I can see, they're fairly dire but not that dire--but for a majority of Linux users, GNOME and GNOME-y things are the Linux desktop.
Or, put another way: You knew what he meant. He knew what he meant. Does being That Guy help anything?
Did you read the part where the whole PC market is being depressed by Win 8?
Either way this conversation was not about numbers - linux people probably aren't leaving because gnome's changing either.
>> While their position is certainly precarious in other areas, Microsoft's dominance on the desktop is pretty hard to excuse away; it seems to me that they could have another three or four missteps of this magnitude and few people would consider leaving even then.
This is absolutely nothing to do with the conversation at hand or the point I was trying to make! Of course they're not going to lose dominance anytime soon, you'd have to be a moron to think otherwise! The fact is that they've made missteps that negatively affect the desktop experience compared to previous iterations, that's the beginning and end of it!
>> There's no "single Windows desktop", either
Umm, yeah, there's the one Microsoft ship and don't really allow you to change very much, or. That is the windows desktop. That you can over-install third party bits and pieces is not really the same thing as the myriad of different desktop environments in Linux.
>> for a majority of Linux users, GNOME and GNOME-y things are the Linux desktop.
And I'd be surprised if that continues, and it still doesn't mean there's a single linux desktop, nor that talking about 'the ui' and then referencing Gnome icons is particularly useful.
>> Or, put another way: You knew what he meant. He knew what he meant.
Yeah, I know he meant Gnome, because that's all he talks about. If he did mean the umbrella term then it's not meaningful to talk about whether a highly disparate set of projects have got worse.
>> Does being That Guy help anything?
I don't know, why do you feel the need to be that guy and argue against a whole bunch of stuff I didn't even say?
If you remember using Ubuntu 8.04 (perhaps the greatest Ubuntu release of all time), you'll remember it being VERY consistent, fast, and excellent all-around.
I loved it so much, that out of nostalgia I had to VirtualBox it just to bring back the memories.
Really, it was OS perfection. No other operating system comes close to the intuition, the pure ease that 8.04 had.
CentOS 5.9 is a close analogue and CentOS 6.4 can be themed appropriately.
Interface Design Reflection: Go and watch a string quartet playing. Reflect on the 'usability' of a couple of violins, a viola and a cello. Heidegger may have had a point.
For example, I'm using the Trinity version of KDE 3.5. Works great for me.
In any sensible project Mr Christian Persch would be stripped of all his commit privileges immediately, but in GNOME there is no such oversight.
The root issue is probably that most GNOME people are employed by Red Hat, but Red Hat doesn't really care about the consumer desktop GNOME is targeted for because they focus on servers and enterprise.
As a result, these guys are paid to work on GNOME and thus have plenty of time to influence it, but are left without any management, which results in these guys directing the project according to their own whims, with total disregard for users.
Over time, this culture eventually influenced even people like Persch which appear to be independent maintainers.
Well, thanks to Redhat for paying the wages because we need developers working on desktops.
In my experience, corporate clients are conservative (blue shirt, suit, pocket protectors). Many corporate clients will license Redhat servers and perhaps use CentOS on the clients.
Can you imagine how a demonstration of Gnome 3.x would go with those kinds of people? I suspect xfce4 will be available as an option in RHEL 7.
I was responsible for keeping a LAMP stack running which ran a bunch of tests written by various other people in the larger department. Usually the benchmark would be C++, and that would be kicked off by a shell script, and that shell script would be kicked off by a Python program. Obviously this is pretty crazy already, but this one guy found a way to make it worse.
One day I noticed this machine was running out of disk space. It was also getting bogged down and was starting to swap since something was chewing CPU and memory. I found a benchmark program (one of the C++ binaries) running, and since it never shut down properly, it kept these giant log files open. Since they were still open, the log rotator couldn't reclaim the space.
I filed a bug with the test owner: please make this test not leave these processes behind. He didn't seem to know how, so I just said that you should make sure you've stopped anything you started. He didn't know how to do that either and booked an appointment in my calendar to see me in person (yes, really).
On that day, we chatted, and I told him that syscalls like fork() return the PID of what you started. You can just hang onto it and whack it later. If that process doesn't fork itself to become a daemon (which this one didn't), odds are it will be the value you want when the time comes. If it does fork or whatever, you might be able to get something done with process groups. I had to explain fork, kill, setpgrp, setsid and all of that to someone who was supposedly employed as a systems tester.
A couple of days later, he sent me a proposal for a fix. It amounted to this:
ps aux | grep bin_name | grep -v grep | awk ... | xargs kill -9
Even though I had shown him the low-level way to do the right thing, he fell back on this scripting monkey approach. I said that was unacceptable, and left him to figure it out.
Months passed. I'm not exaggerating here. It was something like four months later when I heard back from him. He posted a comment to the (still living) code review asking if things were okay now. I loaded it up to see what he had done.
Nothing had changed. It was the same "ps ... xargs kill -9" cruft he wrote originally. He didn't even try to change things. Maybe he was trying to sneak it past me and wanted to see if I'd forgotten, or didn't care, or what.
Well, given that his question was "is this okay now", my answer to the review was just: "no.". I was no longer interested in elaborating and spoon-feeding him.
He obviously didn't like this, because a few minutes later I had mails from both his boss and my boss saying how I needed to be more constructive and all of this.
I wasn't about to take this lying down, so I found all of our old communications where I tried to teach him how to do his own job: job control stuff fork, kill, and the like. I mentioned all of the back and forth we had and the time I had taken to explain it in person. I even dug up the example code I had written to demonstrate exactly what a session leader or process group winds up doing in practice.
I pasted all of this into the code review, making it public record for the entire company to see. The managers backed off and apologized to me.
A couple of weeks later, he disappeared into some other department.
I've never been a big fan of jerk developers. Even Torvalds. But at least Torvalds explains why he does something.
Aren't you still at the managers stage where you just got an email fwd to you with someone just saying no?
Or do you know the entire Christian's side of the story?
Full disclosure: I have no horse in this race. I use fluxbox and eschew all "desktop environments" on Linux.
I know this isn't the point of the story, but, friendly reminder to everyone about the existence of `killall`
What would you have her do? Do the fix herself? If so - phooey to you, that wasn't her job and she shouldn't have done so. If you don't think she should have done the fix herself, then the only other recourse here would be for Rachel to not give any help at all and let them struggle on themselves.
The developer attempted to push out a change that Rachel had already said wasn't acceptable, then made a massive fuss to his managers and attempted to make her look bad. Then Rachel explained, in detail, why she said no - developer got transferred due to his own incompetence. I can't feel any sympathy for that developer!
Basically, the junior dev sounds incredibly incompetent. Some people you just can't teach.
Quite some time back they removed the tree view and nautilus extra panes. Reason? it is not good on touch screens! So what about all the developers on normal laptops? I dont see a good future for the gnome project with all this rude behaviour.
PS: I wrote a longer blog about this sometime back. http://jaseemabid.github.io/07-11-2012/thoughts-on-gnome-3.h...
Gnome developers seems to have been on a decade long ego-trip. Of course that's their right - it's their project, but they shouldn't be surprised that their decisions gets constantly questioned and criticised by people who started using Gnome based on totally different assumptions of where they'd be going.
These days, gnome-terminal is pretty much the only Gnome app I regularly use left, and with apps like Terminology, and Ubuntu replacing more and more with their own stuff, there might soon not be much Gnome left for me (and at least I know Terminology won't strip the eye candy, coming from the Enlightenment rew).
Allowing people to choose their own fonts can make text less readable. There are only 3 or 4 reasonable choices anyway, so all others should be dropped.
Allowing themes to change window decorations can cause confusion and reduce usability. Let's drop that.
Having more than one window manager available is inefficient and means that more developer time is wasted in duplicative effort. Only one window manager is needed.
Having more than one web browser is inefficient and means duplicated effort. Drop all other browsers.
Having more than one Linux distribution is inefficient.
Having more than one OS is inefficient.
Having more than one system architecture causes needless work.
Supporting any NIC that isn't the best makes the system less efficient. Drop inferior NICs.
edit: I think the question is relevant, because part of what is going on here is that projects like Ubuntu and GNOME are taking cues from Apple's success
Like apple did with the iphone?
Depending on which metric you chose, either iOS or Android is ahead. However, the data is not conclusive enough to warrant your statement. If anything, it seems to be leaning in the opposite direction.
At any rate, the only reason you need is user choice! User choice is always a valid reason. Removing customization options is rarely the proper thing to do.
Of course, in this case, users still have a choice: they can choose to install another terminal! Which it seems many of them have done.
In a good terminal (e.g. konsole) the text remains fully opaque while only the background becomes transparent.
This is more difficult than simply setting a window-wide opacity, which is why the terminal must have its own support for it.
So you maintain the readability benefit while still being able to see major changes to the window behind the terminal if necessary (something which I have found occasionally useful).
Also, it just looks nice! By having an appropriate background image and playing with the opacity it has a negligible affect on readability.
I suspect the issue at hand is the removal of a feature that was available previously without explicit discussion or explanation.
With aterm (transparent only to backgrounds, not other windows) and an imagemagick script to shade backgrounds, I get to have pretty much any photo I want as a background, and it doesn't impact my work.
Only exception: astronomical photos with lots of stars. Very hard to resolve a white '.' character.
Shading script is short. Here it is for reference:
# should set my background and darken the image for aterm
# imagemagick documentation here:
convert $@ -fx 'u/2.0' ~/.shadedbackground.jpg
fbsetbg -c ~/.shadedbackground.jpg
aterm -tr -sl 10000 -fg white -bg black
I've always liked it for the ability to see/read documentation on a window behind the terminal. Specific use cases include referring to man pages, API docs and the like where I can't just copy+paste something and/or need to check config.conf against the settings/defaults in online docs.
It's especially useful on smaller screens where I don't have the luxury of having a 80-char wide terminal side-by-side with a browser window (and avoiding horizontal scrolling).
I haven't been a Gnome user for many years though... Exactly for reasons like this. They have removed a few features too many. IIRC, last time I tried to log in with a Gnome session to see if anything had improved, I couldn't turn off cursor blinking in the terminal.
I've been using Linux since way before Gnome existed, and it does piss me off that (from the perspective of a power user) it's less usable now after all those years than it was in the first few years of its existence. Gnome turned on its own users long ago, and I think the year of the Linux desktop might be further now than ever, especially for the Gnome project in its current form. It's an illusion to attract new users if even the old ones don't want to use it anymore.
I wish the Gnome project good luck, but they are clearly sailing a different sea.
I have a cheat sheet open behind my terminal, for say c-vim keybindings.
Instead of switching windows continuously
RTFA it does not make text less readable:
Drag the windows side by side with the snap feature.
> RTFA it does not make text less readable
The text would be more readable with an opaque background.
However, "choice is poison" is a rather extreme over-compensation for this problem. Sometimes, options really do provide value. And many times, if they are designed correctly, they don't substantially increase cost; if the features are orthogonal and implemented independently, the additional complexity is only linear with the number of features, not quadratic or worse as happens if they are too interrelated.
I understand that we want to get away from the "you need to spend hours customizing your environment to make it usable" approach to design that plagues some open source project, but going to the other extreme and saying that "choice is poison" is just as bad.
(Personally, I do leave my XFCE4 desktop on default settings, but I do alter defaults in some packages)
The person in the link commenting "PUT IT BACK EVERY OTHER TERMINAL EMULATOR HAS IT" is more baffling.
Both wanting choice and options, but at the same time not wanting to have to change when there are other options.
Gnome Terminal may (effectively) be the only terminal emulator available to you if you do not have rights to install software or to change default software.
Then yes, they should.
If the boss gives you lemons, you don't go to the lemon tree and ask if it can make lemons that read email, browse NFS shares and change screensaver settings. You go to your boss and say "just-lemons isn't good enough".
I'd rather have something that was well thought through and is internally consistant than a grab-bag of customisation, none of which coexists well - like most linux desktops.
That's should always be second to providing solutions. Solve the problems that transparency solved first. If you aren't aware of the problems that transparency in terminals provided, then removing it is purely an act of ignorance.
> How can I use a full screen terminal window and still read documentation in that same screen?
I've asked this question. I've yet to see a reply.
If your documentation isn't viewable in terminal, why do you insist of having a full screen all the time - resize your terminal? If you do insist of having a full screen all the time, why are you using gnome-terminal at all?
> why do you insist of having a full screen all the time
Because I'm actively working in my terminal. Why should I waste space moving something somewhere else, especially away from where I'm looking?
> resize your terminal?
Maybe you like limiting the size of your workspace, but I don't.
> If you do insist of having a full screen all the time,
Because I'm not always in the terminal, but when I'm in the terminal, I don't see a reason to limit the space it uses.
Anyways, not you are being willfully ignorant. Rather than try and understand the problem, and how transparency was being used, you are being dismissive. You aren't trying to help in the least.
So, unless you want to take the time to understand the problem, why waste your time, and others, adding a comment that is essentially worthless?
1) Have you searched the literature on perceptual defects and enablement? If so I'd love to see references.
2) Have you consulted widely on mailing lists that Gnome Terminal users use and checked use cases? If so, can you link to those? I'd like to see them.
Um, do they know their market? I doubt grandma is clammoring for transparency in her terminal windows but she's not the primary user profile for Gnome, you know?
I think this kind of angry dialogue isn't helpful. It won't bring people closer to agreement.
But I don't think you can say "I made this thing, and gave it to you, so you can't criticize my actions regarding it".
The core team of an open source project control what code gets into it.
Some core team members are great programmers, or contribute a lot of time. Others are the real world friends or bosses of important team members.
It's not like you could get up tomorrow, go full time on Gnome project, and expect to be able to put this feature back in.
Regarding your 'I get nothing back, so go easy on me' point, this isn't always true.
On some open source projects, many of the biggest contributors are working on the project for a company, and use their influence to take it in the direction the company wants. They are being paid, and changing what the project is in return that. If I don't like those changes, I'm not sure your argument applies.
More generally, strong contributors to popular projects often consult or get jobs on the back of them.
I can see how this stream of complaints could be disheartening. But you do have power. You have been entrusted with other peoples work. I think being held to account (politely) is sort of fair enough.
Open sourcing it does not mean that other people are entitled to control it.
The developer in this case is part of a self appointed core team who have the keys to infrastructure bought with other peoples donations.
He has removed functionality written by someone else.
In neither case does this "it's my ball, don't tell me how to play with it" thing apply.
The wider problem-
Zooming out from this specific case, from open source projects to standards organizations, unelected cabals have a great deal of influence over what happens in technology.
Why is it important? Try this scenario - What if a key player at Mozilla (who got the position because his company bought them servers) decided to delete FTP support. Would that be okay?
Sure, we could fork Mozilla, add FTP back in. But if our fork didn't get much adoption, then it wouldn't make it into linux distributions, wouldn't have the manpower to merge in bugfixes from the mainline. It would fizzle, Chrome would drop it, then IE, and FTP would be gone from the world.
So these people do have power that the ability to fork doesn't nullify.
The community gives them power and resources (especially in the case of large projects where the project lead wrote less than 1% of the code). Can you really say they shouldn't be held to account for how they use them?
Gnome is not a throw-it-on-Github-and-see-if-it-sticks project. Development shouldn't happen in a vacuum, and antisocial behaviour shouldn't be the norm.
Well, thankyou for your work.
"I wake up every morning with around 50 e-mails of people complaining and criticizing something I devoted a lot of time to writing, while asking nothing in return."
OK, can you point to a Web page where you explain the scope, expected use cases and intended audience of your work? (perhaps then just set up an auto-responder with a link to the page)
The reason is that these settings make no sense. Why should a terminal be
transparent, or have an image behind everything, but the same not apply to,
say, gedit, or firefox, or evolution?
This is why in Gnome, all tab bars are on top, including in the terminal. Consistency for the sake of consistency.