I doubt it. He’s made it plain that he’s conquered thousands of fora and he doesn’t have to put up with the annoying rabble of one troublesome one.
He wins the argument by escaping it, preserving his status quo.
I doubt it. He’s made it plain that he’s conquered thousands of fora and he doesn’t have to put up with the annoying rabble of one troublesome one.
He wins the argument by escaping it, preserving his status quo.
My first acquaintance with Jeff Attwood (aka coding_horror)- aside from occasionally reading his blog - was when the extremely nerdy software forum TDWTF adopted an early version of the Discourse software, with the intention of user testing & bug finding.
That community is far more abrasive than the SDMB, but, they were software engineers beta testing the software. Almost every complaint/bug/feature request I have seen here (plus, a whole lot more) was mentioned there - and each one “resolved” by Attwood hand waving away the complaint as a “feature” or “I know what people want better than you”
Attwood eventually banned TDWTF members from the Discourse bug tracker, despite the TDWTF actually trying to help make his software better. People who gave up time to write code to address the problems had their merge requests denied.
He flounced from TDWTF; he flounced from here. He has no interest in people suggesting how his software could better suit the users.
Irritatingly, I think Discourse is (now) actually quite good. But Attwood refuses to address the things that are not good, things that actual users of the software would like to have. His specific idea of what people want is all he is willing to do. That makes the software bad, and makes Attwood a bad software engineer.
…what a load of absolute nonsense. The software is objectively not bad, the person who designed the software is objectively not a bad software engineer either. Especially when you admit that Discourse is actually good.
I beg to differ.
The software is supposed to be used by people. People have widely variant needs. Attwood has his opinion on which of those needs should be ignored or should be met. That is his prerogative. If he is happy, he can use it. However, not everyone is happy.
Dismissing the needs/desires of his software users is a sign of a poor software engineer. He is dictating what people can have, not listening to what people want.
And - rejecting MRs/pull requests from a community that was initially actively trying to help him achieve his goal is certainly a sign of a bad software engineer. His pride got hurt, so he flounced. If he gave a shit about his users he’d listen to them rather than flouncing.
…I’m one of his software users. I happen to think that everything is fine. Don’t I get a vote?
But this isn’t a democracy, and you don’t speak for everyone here. So stop pretending that you speak for anybody else but yourself.
Nonsense. Rejecting some opinions from a highly opinionated community isn’t a sign of a bad software engineer. And calling someone a bad software engineer because they don’t happen to agree with you says more about you than it does about the software engineer.
Discourse is good, no question.
I get that it’s impossible to satisfy everyone. For any given feature, there will be some who love it, some who hate it, some who don’t understand it, some who have problems with different browsers on different platforms, etc.
With forum software in particular, this is a big issue, because there are so many users who are so vocal and argumentative. That comes with the territory.
Writing software is one skill, dealing with users (and with other software developers) is another. Very few people can master both.
So I sympathize with Jeff, who is doing his best with something he obviously cares a lot about. It can’t be easy to receive constant criticism and conflicting demands from all sides.
On the other hand, you either have to learn to deal with it, or get someone with good people skills and a reasonable knowledge of Discourse to deal with it and act an an intermediary.
On SDMB, we have the problem that we don’t have an active admin in charge, since our loss of TubaDiva. So there’s nobody to put their foot down on site requests. There’s nobody to act as our single, definitive representative with Jeff and the Discourse team.
Also, some people are not realizing that some of the changes they are requesting are changes to the themes, not to the software, and that’s a board matter, not a Discourse matter.
I also think there should be more polls about feature requests. If one or two people are demanding features, it’s difficult to know if they are representative of users in general. If 95% are happy with something, and 5% want something else, it can be ignored. If 70% want a feature and it’s easy to implement, then do it.
Sometimes you also have to live with a feature for a while before you decide if you like it or not.
But you can’t tell without having the data. So I would like to see all feature requests (as distinct from bugs) supported by a poll showing that a significant number of people actually want it.
Nonsense. Rejecting some opinions from a highly opinionated community isn’t a sign of a bad software engineer.
Again, I beg to differ. Attwood approached TDWTF and asked that they use the beta version of the software, and, as experts in the field of software, help to make it better.
When bugs were found - as is inevitable in any software - they were treated with contempt. When features were suggested - they were treated similarly. Eventually, having managed to sour the community against him by means of his poor attitude, he flounced.
And not only did he flounce, he actively made it hard for a community of software engineers who had been very interested in helping the Discourse project, to actually help the Discourse project by banning them from the Discourse forums and rejecting their bugfix pull requests.
This is a sign of a poor software engineer.
…what you claim happened on another messageboard has nothing to do with what has happened here. Last I looked this forum was to provide Site Feedback: not carry on a grudge formed on another site.
I don’t even know who you are and we have no way to verify your claims or your qualifications. You are throwing about big accusations here and have got zero to back anything up. I didn’t think I’d like Discourse but in my opinion it is substantially better than any other forum software I’ve used in a myriad of ways and I’ve used a lot of different forum software. So perhaps a bunch of coders aren’t the best people to judge the user-experience. You can call Codinghorror whatever you like: but they aren’t objectively bad at what they do. Discourse is a testament to that.
OK, fair enough.
His flounce here arguably supports my opinion, but you are welcome to visit the other “messageboard” if you so choose to explore the possibilities.
Or not. Your choice, really.
I agree that it is not bad forum software, but close enough to others that it’s a difference of opinion as to which is the best. But unless you’re alleging that it is perfect software, being merely good software does not mean that there are no ways to make it better. It definitely doesn’t condone the developer responding to genuine requests that many people want with “why would you even want that? That feature is perfect as it is!” That’s different from simply not having any time to implement features or a genuine lack of interest in the feature.
I noted in a parallel thread that Discourse has an open-source license which means that you can implement whatever features you want, even if one developer ignores you or gets kidnapped by extraterrestrials.
…if I had intended to argue that discourse was “perfect” then I would have made that argument. But I didn’t. Of course you can make it better. But"better" is subjective. And not making the software"better" by ignoring the subjective demands of an opinionated vocal minority does not (necessarily) make you a poor software engineer.
Yes, it does. Ignoring someone by saying their desires are stupid is worse than ignoring someone by saying you don’t have time.
…I’ve just searched this thread and I can’t see where codinghorror said “their desires are stupid.”. But perhaps their desires actually were “stupid?”.
But this doesn’t matter, because we are talking about the qualities that make someone a poor software engineer". And someone allegedly calling your “stupid” idea stupid isn’t a great metric for their ability to do their job. Discourse is great software. A poor software engineer didn’t make it.
There is one thing I complained about recently that I need to correct. Ahhh. Much better.
…do you require me to specifically label my personal opinions as subjective? Is that really I thing you need me to do?
Well okay then. In my subjective opinion discourse is great software.
Did that clear up your confusion? Do you need me to elaborate?
Could you quote where codinghorror said that? I’ve seen you assert it multiple times and read both this thread and the thread where the flag request was made multiple times. I’m not reading his words the same way you are or you’re reading something I’m not reading.
In the other thread, codinghorror said:
That’s the closest I could find to what you’re saying. But it doesn’t have anywhere near the tone or dismissiveness that you’re asserting.
He said he hadn’t heard the request before. Then he tried to explain how other forums use the system so that the question didn’t come up before. He also explained how the SDMB could configure the software quickly if that’s what they wanted to do.
I’ve read his posts multiple times and have an opinion about what he was trying to get across.
The software is Jeff’s baby. He’s under no obligation to respond to requests from you or anyone else.
Just about any large software product has a design aesthetic behind it. It’s not simply a collection of features; it’s a cohesive whole where every piece fits into the overall design. We’ve probably all used products that were just collections of features, and they’re a disaster; despite including everything that every user ever asked for, they’re impossible to use because there’s no consistency. They look bad and they function poorly because it becomes untenable to manage all the interactions.
So it’s every developer’s right to say “I know you want this but it doesn’t fit in with my design philosophy. It’s not going in.” Even if said feature is desired by 99% of its users. Popularity means nothing if the feature damages the design in ways the users can’t imagine.
Of course, soliciting feedback is important, because that lack of imagination can work both ways. Even if a requested feature doesn’t fit with the design, the developer should consider what the user is really after and see if there’s a solution that does fit with the design.
And sometimes, no other excuse is needed beyond “I don’t like that feature.” Even if said feature can be implemented seamlessly, it may turn the product into something that the developer simply didn’t want. It’s every dev’s right to do that.
In general, good products tend to be made by people who built something they wanted to use. They put in immense time and attention to make something that fits their needs. Often enough, this tends to serve other people’s needs as well. But not because the designers made it for those other people; it’s because good design has some amount of universality to it. You don’t achieve good design by simply asking focus groups what they want.
This is well argued.
However, Discourse is open source. If I want a feature that Attwood does not, why is he the arbitrator?
He chose to open source the software.
In my example above - and, to be clear, the drama was all in 2013, since then Discourse has become much better - Attwood actively prevented interested users from contributing to the open source project.