"Explanation" check-box in Explain category posts

An author of a topic in Help category has the ability to mark some post as solution using “Solution” check-box. After this is done the topic (in the list) is checked and “Solved by user in post #N” appears in the head post. I thought it would be viable to have something similar in Explain category too. Is it possible? Say, “Explanation” check-box in posts and “Explained by user in post #N” comment in the starting post after a matter was really explained. Then readers would easily see if there was an explanation or not.

1 Like

Perhaps minds have changed on this since we’ve had it, but the idea of explain was to be more free flowing discussion. I think if someone wants a specific answer, it makes sense to put that on help.

Here’s the original thread about adding the explain category. Internals Category?


Yeah, I see, but there are cases, when my hand is inadvertently aiming to mark a post as satisfactory explanation :slight_smile:

A couple of recent examples:

  • one. In that topic I did not ask to “correct” my code, I only interested why compiler did not do what I expected. And the linked answer was the explanation.

  • two. For me this topic better fits into Explain category and the linked post is clear explanation too, “ping ponging between Sema and Codegen”.

And besides nobody forbids adding posts with some additional details after an issue was solved or a matter was explained.

For me the main purpose of “marking as solution”, is so that people who are trying to get help with a problem can quickly get help, because people who already have found a solution have marked their topic as solved, thus allowing potential helpers to focus on topics which are still unsolved.

The way I see it the person opening the topic decides whether it is something they want help with, or whether it is something they want an in depth explanation for.
Just because the “two” example happens to be a good explanation doesn’t mean that it can’t exist within the help category.

The way I read that topic, it would be solved if somebody finds a way that you don’t need the special build mode and get the error output with the same speed as if you did.
The “two” example explains why it currently is slower without the special build mode and that this will improve in the future. But it is not a solution, because the solution is that the build step isn’t needed and it is fast anyway.

On the other hand if this topic was created in the explain category, then “two” would be an explanation (for now), however it would not be the only explanation, because we are still waiting for the future explanation “This was slow in the past but these bottlenecks have been fixed with pr something”.

I also think the help category has a bigger focus on what the topic creator wants and needs and thus they have a button to say “thank you this solved my problem”.

In the explain category the focus isn’t so much on the topic creators view of things or what they specifically judge to be a good answer. It is more about the topic itself and the people discussing may have different views on which answers they find more understandable / useful / matching their needs. Thus likes are already enough to communicate to other users “this was helpful to me / resonated with me”.

1 Like

Right, the general difference between help questions and explanations is that explanations don’t necessarily need to solve anything. In fact, you may leave with more questions that you entered with (hopefully topical questions). Whereas in the help category, you’re probably there because your build isn’t linking or your program segfaulted and you’re looking for solutions.

@dee0xeed, since it’s an open ended-discussion category, I’d just write “thank you, this really helped” and like their comment lol. I will say, it is a fine line, but we set it up this way because it was clear that there needed to be a place for broad discussion that doesn’t tie someone down to solving something very particular.

1 Like

Of course, but they are intended to explain something (strange for ex.)
My take of “Explain” category is “explain me why…” and not “lets chat about…”.
Some time ago (before Explain category was born) I suddenly realized that
some of my topics do not fit into Help category well.

The keyword here is your.
If I am having troubles with a program I am writing (compilation errors and so on) then a question is definitely for Help category.

Example number three (a bit similar to number two).

Originally it was in Help (because there was no Explain at the moment of creating) then at some moment I put it into Explain. Does this topic fit into Explain? IMHO, it fits ideally.
Do I want that “problem” to be solved right now? No, I do not, I just want some explanation.
This is a sort of external thing, it’s nothing to do with my code.

Yes, I can see the edge case here. It’s between the two categories because it could have a direct answer, or it may just result in pontificating.

I’m trying come up with situations that make sense for what you’re proposing - your post is about having a checkbox that indicates that someone has provided an explanation.

Going back to my original point, there are questions that warrant explanation but don’t have a direct answer. For instance, someone could ask “Why doesn’t Zig support operator overloading?” The direct answer is “because that’s not what the people who design Zig want” but that’s not really an explanation even though it’s technically true.

They may want to know more about that particular design choice even if they disagree. In this case, who’s right? If someone explained why they decided exclude that feature, but the OP disagrees with their reasoning, then does that really constitute a sufficient explanation? They could disagree about that too, after all.

I think the closest approximation to what could satisfy your idea is voting.

Yes, indeed.

Cool. And even better would be to have them both!
OP can mark some post which he/she personally was satisfied with.
Other participants can vote for other posts.

And I seem to remember that on SO there are cases when “accepted answer” ( “explanation” in our case) has less votes than some other answers.

The problem with voting is that every post is its own little cluster of answer + comments that gets reordered based on the votes. I think the more linear history of posts that build up on another is more easily readable in the context of what the free flowing discussions “Explain” was meant to provide.

Also putting every possible feature into one category seems a little bit like feature creep to me and I don’t particularly care what StackOverflow does, I don’t think that site is the be all and end all of good website design / community building.

I think it is good to be inspired by different ideas and try out things, however I just wonder whether this is going beyond what is useful.

I like that choosing a category is also choosing a way of interacting with the content, instead of every category allowing all the ways of interaction. That way categories seem more purposeful and tailored to their task.

Personally I don’t want a ton of different ways of interacting, just a few good ones.
I think if your case is somehow something that doesn’t properly fit any category, then we should try to understand what exactly that case is and see whether that warrants its own category.

I don’t feel like I really understand what you want, from my side it seems like “give me all the features”, is that an unfair way of phrasing it? What do you really want? If you could create a new category what would it look like and what would be its purpose?

I think answering these questions would make it easier to understand, whether this should be its own thing, or really just adding an “accepted answer” to explain. (Which I personally dislike, because it seems counter to the purpose of discussion focused on the topic, instead of who started the conversation)


I did not say that I want something, I was just wondering why there is no an analog of “Solution” check-box in “Explain” category. You and @AndrewCodeDev more or less explained, thanks.

It’s already looks nice for me, “Explain”.
For example - “Why commas (not semicolons) after struct fields?”
By asking this I do not mean that I need some help with my program, nor do I want to know details about how compiler is working.

Aha (sooorry, at that time I only looked at the end, saw “Explain” as the winner - and thought to my self, this is good, I wanted this, this suites better for some of my questions than “Help” ). The original name was, in my loose adaptation, “zig-from-inside”, but somehow it turned to something completely different.

Behind the word “Explain” I can hardly see your original intention (exploring compiler internals), and also it (the word) does not imply a topic to be “never-ending”, btw. “Brainstorming” does imply neverendiness, “Explain” does not - on the contrary, it implies that there can be possible good explanation, that is why I was wondering about that check-box, “Explanation”.

The category is more general then my original idea / motivation for having another category. I think the explain category can be used for that idea, but also is useful for other things.

I think these are subtle connotations of words, which I think are subjective and dependent on how the words are used. I would agree that a bad brainstorming session is an endless process, however a good one may find its end naturally just by the fact that all the different ideas have been explored and now the frequency of new additions has subsided.

I argue with explain you could see both cases too.

Brainstorming was already established as a category to explore whatever people want to explore (as long as it’s still Zig related), explain is more for status quo things, I think it is useful to separate those two a bit. (So that you don’t end up wanting to use something, that doesn’t exist yet)

It isn’t really about whether the discussion can continue on, you correctly pointed out that with help topics you still can post after a solution was marked as the answer. It is more about who is being “served” in a category, for help the answer is clearly the person that created the topic and thus it is easy to say that their needs are the focus.

So far all the other categories don’t have such a feature, because they are more topic and idea focused, then need focused.

Just to point out another thing, sometimes with the help category there is the opposite problem, 2 or more excellent answers and you only can mark one, I think that is another reason for me why I don’t think “Explain” needs that, there can be so many good explanations, that may even build on another and together become a complete solution.

I would feel bad having to pick one over the other and as soon as you have to pick one, there is also the whole checkbox thing in the topic list, making it feel uncompleted or completed based on the checkbox status, even when the reality of the discussion might paint a different picture, where it might be flourishing or already done / settled, independent of what the checkbox suggests.

Sometimes the topic creator is done / satisfied, while the community still has open questions.

No problem, if a topic had gone far beyond original post, just create a new one :slight_smile:

I meant it more in a case where the topic creator sees the topic as done. But the posts are still exploring valid perspectives on the original topic. I guess I could have phrased that better.

And this is the key point, “other things”.
Let me cite @dude_the_builder here:

Naming is a huge problem actually.

What about this:

  • “Help” category - for questions concerning problems with writing/compiling/building/linking programs/libraries which an asking person is trying to get work
  • “Explain” category - for questions about language features (which may be strange for a person who came from py or so) or some strange compiler outcome/behavior (why my files are so big/slow), but without looking deep inside into “internals”.
  • “Zig in Depth / Zig From Inside” - for real experts, who really want to discuss things like “incremental compilation”, “hidden passing by pointer” or so.

You’re feedback is good food for thought and valuable, but I think we should let the status quo mature given it’s been so little time since we’ve introduced the Explain category, and apart from you, we haven’t heard from any other community members requesting changes. So let’s see how this works for a more extended period of time and come back to it in the future to see if we need to make changes.


Agree, let’s stop it for now.