Fog Creek Software
Discussion Board

reply to "updated topics first"


Have any of you ever noticed when a "User" (like ourselves on this topic) wishes something software would work differently the first thing a "developer" will do is to explain the the (obviously dumb) user the way the software currently works?

For those that fall into this category... please explain:  Do you really believe...

1.  the way the software works must be maintained above all?
2.  this really makes the user happy?
3.  the user won't go away and "abuse" the software in some way to get what they want...

like posting an "old" topic as new?

How difficult would it really be to make a change (this board, or the project/application that you work on) and why do so many developers appear "change adverse" to their users?

Just a thought...

Joe AA.
Monday, May 20, 2002

I like it this way, that's why I'm not changing it. But people ask about this every few months so let me reiterate why I like it this way.

If we were to sort topics by "most recent reply", this would cause several things which I consider to be detrimental to the quality of the discussion.

(1) the religious flamewars that newbies find most interesting to argue about would be constantly pulled to the top every time a newbie walked into the group and started reading topics from top to bottom. Discussion would be repetitive and boring to regular visitors.

(2) the order of topics on the front page would change constantly, making it hard to remember visually where you've been and what you've seen and which article is which. As it is by having a nonvariant order of articles on the front page it's easier to remember a mental map of the discussion.

Basically I'm long believed that small changes to the UI of a discussion forum make big differences in the quality of the discussion. There are a lot of decisions in the design of the Joel on Software forum that are designed to create higher quality conversation:

* quoting is extremely hard (I don't even show you the post you're replying to) because quotes make the topic more boring to read. When I'm reading a topic from top to bottom and poster number 5 has quoted poster number 4 extensively, then I have to read the same words again and again, and it's more boring. Instead of quoting, the software encourages you to reply directly. This reads better and makes the quality of conversation sound less repetitive and banal.

* there's no checkbox to "email me with replies." Yes, this would be super-trivial to add. But it creates freeriders. I want people to keep coming back checking for replies, and, while they're waiting, maybe contribute an answer in another thread. Freerider checkboxes result in ghost town discussion groups like those boring usenet video driver newsgroups where every post is a question to which nobody is listening or replying.

* there are no threads. Besides the fact that threads are a programmer-centric way of viewing the world, exhaustively persuing every possible branch of the tree doesn't make for good conversations. If your post doesn't belong on the main trunk, you can put it in a new topic, or, even better, put it in parentheses or something. The lack of threads is what makes most topics on these discussion boards read so well from top to bottom and keeps people from repeating what other people just said.

Basically I'm very happy with the quality of conversation we have here and the choices made in the way the software works were taken very deliberately with the goal of creating a high quality of conversation, and I like it that way, and that's why it's not going to change.

Joel Spolsky
Monday, May 20, 2002

Joel, you forgot "Everybody else does it the other way, so doing it this way is refreshing."

If this was a coffee house people would be asking you to serve the same stuff Starbucks serves too.

Monday, May 20, 2002

This points out an important reality: the end user for this board is Joel.

Oh, of course, the rest of us are users, too. But Joel signs the checks (metaphorically). Think of this as a meta-lesson in the politics of requirements: the user you have to satisfy FIRST is the decision maker.

(And in this case, the decision maker is also the implementer. We ain't gonna see a change in this one...)

Actually, I find that I come back to this board more frequently than I have other boards in the past. I don't know why, but it must do something right.

Martin L. Shoemaker
Monday, May 20, 2002

Well ok then.... just take your board and go home with it!! ;-)

Seriously folks, I wasn't proposing that a change actually occur.  And Joel, I didn't expect you to explain your position, but I was glad that you were able to.

My post was really meant as a question for those that do avoid change in their application, simply because it is a change without any real thinking/reasoning behind it (And I do not advocate making a change just for the sake of change, nor because "everyone else does it that way!".  And I certainly wouldn't bow down to a change because someone is holding a checkbook in front of me (there is another word for that vocation)).

I guess I just run into too many change adverse types... my luck.  Sometimes the committee meetings to avoid a change really get to me, especially when the only reason not to make a change is "but we'll have to change code to do that!" in whiny tones I might add.

Am I alone in this experience?

Joe AA.
Monday, May 20, 2002

"If this was a coffee house people would be asking you to serve the same stuff Starbucks serves too. "

You mean its not already like that where you live???  All of the coffee shops around here pretty much serve the same thing.  Baaa-baaa

Johnny Simmson
Monday, May 20, 2002

I largely disagree with Joel's position regarding threaded discussions and the ability to easily quote earlier messages.  But, as others have pointed out, it's Joel's board and he's free to run it as he sees fit.

That having been said, I'm not sure why it's advantageous to disallow people from editing their own posts after they post them.  I've often wished I could go back and change a word or two -- or even a whole sentence -- in my messages.

Anonymous coward
Monday, May 20, 2002

Top eight reasons why software developers reject change requests from users:

1. Differences in opinion about what makes a "good" interface.
For example, look at Joel's response to the original question. This forum works the way it does because Joel thinks it'll be better that way. The "enhancement" you want would actually run directly counter to some of his goals.

2. Users are stupid.
Obviously, not all the users, all the time. But in hindsight, a lot of what seem like good ideas don't pan out in practice.  Developers are wary of spending a lot of effort on something that the user will never actually use once they have it.

3. It would be a lot harder than you think.
Sometimes, the internal design of a piece of software makes it nearly impossible to implement a particular feature well. For instance, I once worked on an application that was infamously lacking an "undo". People were always asking for that feature, but we couldn't make it work, because there was no central point where undo could be implemented.

4. Simpler software is easier to use and more reliable.
Too many features (especially optional ones) make the software harder to use. A simple web forum like this one is a lot easier to just start posting in than something like , which has a very complicated viewing/comment system.

5. Developers don't think like "ordinary" people.
A lot of times, the external interface of an application closely matches the internal representation of data in the program. Users don't see the program that way at alll - they think of it in terms of the work they're trying to do.

When a user asks for something that's not implicitly planned for in the sofdtware's design, developers often can't even understand the request - "but there isn't even a 'date visited' field in that structure! It can't be done".

6. Developers are arrogant jerks.
Obviously, not all developers, all the time. But it's not unheard of for a developer to get attached to their "vision" of what the program should be, regardless of what the "stupid users" want.

7. Someone else is calling the shots.
A lot of times, the developers would like to respond to user requests, but they're too busy doing other things - responding to panic calls from Support, implementing the one Big Feature that Sales says will net zillions in revenue, etc.

8. Get in line...
Maybe you weren't the first person to ask for a new feature. In fact, maybe your feature just didn't make the cut over more pressing work.

Anybody have others?


Mark Bessey
Monday, May 20, 2002

"I'm not sure why it's advantageous to disallow people from editing their own posts after they post them"

Because it has the potential to make people responding to the original, (==unedited) answer sound stupid, off-topic, whatever. I don't think it's particularly bad to have some typos in your post. What I'd like to have instead is a preview button...

Sebastian Wagner
Monday, May 20, 2002

9. Because of the additional overhead - rewriting manuals, updating FAQs, training materials, updating support people. Some features, however simple to implement, will introduce many other changes, with the bottom line being "not worth it". People who dig software downplay the importance of this; But changing the visual layout of a dialog is not something to be taken lightly.

Ori Berger
Monday, May 20, 2002

Allowing people to edit their posts is dumb. #1, it reduces the need to be careful. #2, it changes a small part of history. #3, it makes posts that call attention to your blunder inaccurate.

Joe, the topic you brought up is ironic in that what I despise is people making suggestions that are either 1) bad or 2) go against specific designer preference.

Monday, May 20, 2002

>>I'm not sure why it's advantageous to disallow people from editing their own posts after they post them. I've often wished I could go back and change a word or two -- or even a whole sentence -- in my messages.<<

Here's my opinion on that:  This system encourages participants to get their messages correct the *first* time.

Also, if one only needs to change a few words, the change probably isn't critical.  The system encourages you to let small errors be.

If a message is seriously wrong, one can always post a second message.

Brent P. Newhall
Tuesday, May 21, 2002

Here is what I'd like to see happening:

Keep a cookie on my machine with the topics I read, and the date/time I read them.

When the page comes up, show me those threads that have changed highlighted somehow...

You can also do it by tracking the users (requires logging on to something, but it's more work.

Once you have that, implementing views / filters, is easy, when Joel will feel like it...

Quote of the day: "Not all options indicate a bad UI"

Amir Kolsky
Thursday, May 23, 2002

*  Recent Topics

*  Fog Creek Home