Ignoring a topic
-
I've been working on this. Seems to be working. Instead of the current "Ignore" and "Watch" buttons (which are kind of confusing because they display the opposite of what you're doing), I've added a third state and renamed the states:
- Notify (old watching: shows up in unread feed, notifications any time a post is made)
- Normal (old ignore: shows up in your unread feed)
- Ignore (topic doesn't show up in your unread feed)
And turned the control into a dropdown, where the button to expand the dropdown shows the current state. I also added the notification text that you get when you change state to be
title
of the button and the menu items when they drop down.The Menu when the thread is currently set to notify:
The menu when the thread is currently set to normal:
The menu when the thread is currently set to ignore:
Does that seem like reasonable UI for this?
-
@boomzilla Looks sensible, but I'd be tempted to have the current state in the dropdown as well, with a check mark or highlight. Consistency and muscle memory and all that
-
@boomzilla looks like a decent UI.
does clicking the button toggle between Normal and Notify or open the dropdown menu?
-
@boomzilla said in Ignoring a topic:
they display the opposite of what you're doing
Currently, they show an action to be performed, so the text is a verb: ignore or watch. I think it makes more sense to show the current state, so a gerund makes more sense: watching, ignoring, and uh... normaling?
-
@NedFodder said in Ignoring a topic:
and uh... normaling?
Yeah, that's where it breaks down. So it's showing the state of...uh...how you're watching the thread.
-
@boomzilla Discourse apparently shrugged at that problem: muted, normal, tracking, and watching.
What you have isn't that bad really, at least you only need a couple of words to explain what each of the options mean.
-
@NedFodder The Discourse names were shit. Normal was basically ignore, unless you get mentioned a lot, and I could never remember if Watching was higher than Tracking.
-
Looks good. If I set a topic to "Ignore", I still get reply notifications, correct? So it's not like Discourse's "Mute"?
-
@NedFodder said in Ignoring a topic:
watching, ignoring, and uh... normaling?
"Following", "Interested", "Not Interested".
Which leaves room for an eventual "Muted": No notifications ever, even on direct mentions.
The default assumption is that you are Interested in every thread ever. Later we could also add a profile setting to change the default.
-
@Jaloopa said in Ignoring a topic:
Looks sensible, but I'd be tempted to have the current state in the dropdown as well, with a check mark or highlight. Consistency and muscle memory and all that
Good point.
Hmm...not sure how to line all that up. Or what about after?
-
@boomzilla After is better.
Also, text for normal: "Notify me when I am mentioned"
-
@NedFodder said in Ignoring a topic:
Currently, they show an action to be performed, so the text is a verb: ignore or watch. I think it makes more sense to show the current state, so a gerund makes more sense: watching, ignoring, and uh... normaling?
I hate, actionable buttons that actually represent state. It's a terrible UI un-feature.
If you're going to do that, you should have two buttons side-by-side, and have an indicator to which button is actually the current state.
Action buttons (Order, Confirm, etc) should never represent state.
-
@asdf said in Ignoring a topic:
If I set a topic to "Ignore", I still get reply notifications, correct?
Correct.
@asdf said in Ignoring a topic:
So it's not like Discourse's "Mute"?
I guess not. I never really used that, so I couldn't really say, but I'm not messing with notifications. Under the hood, I basically added an "isIgnoring" flag in addition to the current isFollowing flag. Normal is when both of those are false. The only effect of the isIgnoring flag is to keep it out of the unread feed.
-
@Yamikuronue said in Ignoring a topic:
Also, text for normal: "Notify me when I am mentioned"
I think that's getting too wordy for the menu. Here are the current notifications. The ignoring_topic.message is new, the others are the existing things you get when you click on the watch / ignore buttons:
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.", "not_following_topic.message": "You will no longer receive notifications from this topic.", "ignoring_topic.message": "You will no longer see this topic in the unread topics list.",
I think it makes sense to clarify in there, so maybe:
"not_following_topic.message": "You will no longer receive notifications for new posts from this topic, but you will be notified when you are mentioned or your post is upvoted.", "ignoring_topic.message": "You will no longer see this topic in the unread topics list. You will be notified when you are mentioned or your post is up voted.",
-
@Yamikuronue said in Ignoring a topic:
"Following", "Interested", "Not Interested".
Menu text if you go this route:
Notify me on new posts
Show this thread in 'Unread'
Do not show this thread in 'Unread'With eventual
Never notify me about this threadwhich produces state 'Ignoring'
-
-
@boomzilla said in Ignoring a topic:
Under the hood, I basically added an "isIgnoring" flag in addition to the current isFollowing flag.
Why use two bools when you've finally found a valid use case for a tri-state boolean? :P
BTW: , I never used muting either, so this restores the option I actually used a lot.
-
@boomzilla said in Ignoring a topic:
You will now be receiving notifications
Fancy fixing that message to not be pidgin English while you're there? That's been a minor annoyance every time I've followed a thread
-
@asdf said in Ignoring a topic:
Why use two bools when you've finally found a valid use case for a tri-state boolean?
Technically, there is a
recorddocument stored for each user with a list of the topics he's following and one for each topic with a list of users who are following it. I added respective lists for ignoring.@asdf said in Ignoring a topic:
BTW: , I never used muting either, so this restores the option I actually used a lot.
I never used it but I'm so fucking tired of listening to the complaints. And it's been interesting learning about node and nodebb to figure out how to make this work.
-
@Yamikuronue I like that...but I think it's good to keep an obvious link between the displayed state and the buttons:
-
@boomzilla Yes, but I was moving away from "Normal" as a button label anyway
-
@Yamikuronue Maybe default? I kind of like normal better there, though.
-
@boomzilla That's why I went with "Interested" and "Not Interested": like "Following", it describes the state of the user with regards to this thread. The user isn't normal, after all, which is why it looks weird. "Notification Level: More, Normal, Less, None" would also work.
-
I like the words "watch" and "ignore". They're fairly self-explanatory.
I think that in addition to not showing up in
/unread
, a thread you "ignore" should show up in the/
or/recent
topic list but without ever having the.unread
class, or with an.ignored
class that overrides it.However, I think the thing that's really lacking is a true "ignore" or a mute option, so that the thread won't generate any notifications. That would allow @blakeyrat to pretend like his old threads really don't exist and not be reminded otherwise when he's mentioned in one of them (maybe even hide them from the
/
and/recent
topics, and require you to go into your preferences somewhere if you want to access your list of muted topics). It would also prevent getting spammed with likes and/or mentions from threads like the Likes thread.
-
-
@anotherusername said in Ignoring a topic:
I like the words "watch" and "ignore". They're fairly self-explanatory.
Not when you have four levels: Watch, something, something, Ignore.
-
@Yamikuronue I think Watch, Normal, Ignore, and Mute/Block would be fine.
That is, if people even want to have a separate level for Ignore (the thread is never unread but can still generate notifications). To me, it seems like having Watch, Normal, and Mute/Block (the thread is never unread and any notifications from it will be muted/blocked) would be enough.
-
@Yamikuronue I think "watch" is good. I added that back:
-
@boomzilla Hm, sorry for the bikeshedding, but I'm starting to think that the popup might be more readable as a table instead of a list of "{name} - {description}".
-
@boomzilla It's still not right: you can't "Normal" the thread.
-
@Yamikuronue Yeah, that's weird...Watch, Read, Ignore?
-
@boomzilla "Read" is a hard one to use because it's both a noun and a verb, so it can be confusing if it's not given a context. I couldn't think of a verb for "What you do when you're kind of interested in something but not like, super-invested in it", so I went with nouns.
Maybe if you went with "Follow", "Watch", "Ignore", but now we're getting further and further from the explanation text, and the fact that "Watch" makes sense as both the top and middle levels indicates it's a bad verb to use in the first place...
-
@boomzilla said in Ignoring a topic:
Watch, Read, Ignore?
Read? Nah.
I prefer Normal even if you can't "Normal" a topic.
-
Is "Track" too vague?
-
@Boner Track kind of works. You don't really track a thread so much as track the new posts in a thread, but that's really what you're watching for and/or ignoring. But it's also got the noun/verb issue.
-
@Yamikuronue so does "watch"
-
@Boner So it does!
Again, my vote is on nouns instead: "I am [Following/Interested [in]/Not Interested[in]] this thread"
-
I think you're over thinking it.
Watch/Normal/Ignore is still clear - even if you can't normal a topic, the meaning of the single word in the corner of the topic is clear IMO.
-
@Yamikuronue I think it's important to be consistent, it's also important not be Jeff.
As long as the terms are distinct enough that you don't confuse them, the popout menu / tooltip can give a better description.
@loopback0 said in Ignoring a topic:
I think you're over thinking it.
-
@loopback0 said in Ignoring a topic:
Watch/Normal/Ignore is still clear
To you. Because you're used to Discourse.
The real test would be to grab a non-technical family member and ask them if it's clear. My quick and dirty proxy was to go with something akin to Facebook's language because most people know Facebook.
-
@Yamikuronue Any ambiguity in the single word is sorted with the words literally next to it when you pick it from the drop down. And there's a toaster.
It's the default status, so normal is acceptable.Interested, as suggested previously, implies the user is actively interested which makes it a poor choice for the "default" option. The language is also too Facebook-y for a forum IMO.
@Yamikuronue said in Ignoring a topic:
Because you're used to Discourse.
It was clear when introduced to it in Discourse too.
-
@loopback0 said in Ignoring a topic:
The language is also too Facebook-y for a forum
How do you figure?
-
Gerundishedification...
-
-
@boomzilla Reading is worse.
We're just bikeshedding it now, we had 3 perfectly working terms a few posts back.@Boner said in Ignoring a topic:
As long as the terms are distinct enough that you don't confuse them, the popout menu / tooltip can give a better description.
-
@boomzilla I still prefer "Following" to "Watching": Follow is an active verb, and you follow a news story or a topic when you're interested in it, while Reading and Watching are both passive, and thus imply that you're less invested in it. But "Reading" I like, it literally describes what you do when you click on the thread and thus brings up associations of clicking on it and reading the new posts, plus you got away from the noun/verb issue.
-
I like.
-
@Yamikuronue said in Ignoring a topic:
I still prefer "Following" to "Watching"
Interestingly, that's how the backend describes this. I suspect it may have been a victim of past bikeshedding.
BTW, my plan is for us to shed the hell out of this and then go over to community.nodebb.org and see what they think. There are a fair amount of changes here, and I don't think just sending over a pull request is the right way to do it.
-
Why don't we have a shed emojicon!?
@boomzilla - you're right - running it by Community.Node is best.
-
@boomzilla said in Ignoring a topic:
go over to community.nodebb.org and see what they think
Especially if you're changing the database schema.