The only real disadvantage I can think of to a properly designed reply button is that it might lead to more replying, encouraging protracted conversations in comments.
The original arguments against a reply button were mostly that it would result in the
@ notation used unnecessarily, in places where users wouldn't otherwise use it. But in addition to having lots of comments that intend but don't achieve a notification, we also have numerous comments that already use this notation unnecessarily, sometimes unintentionally. Both these problems can be solved together, with a reply button.
Instead of the reply button simply adding an
@ mention for the user no matter what, it should:
- add an
@ mention if doing so causes the user to be notified when they otherwise wouldn't
- raise a tooltip to explain that the user will already be notified, if they already would
- raise a tooltip to explain that the user can't be notified, if they don't have activity on the post that would facilitate it
That would result in fewer unnecessary
@ mentions, not more, if people use the reply button instead of writing the
@ mentions manually.
The problem that people often think they're notifying someone when they're not is much more severe than the problem of extra noise that Jeff Atwood talked about. But a reply button needn't be a trade-off between them. It can mitigate both.
Note that it sometimes does make sense to use @username when addressing a post author and in other scenarios where it is not needed. The purpose of code is not just to make computers behave a certain way, but also to make meaning clear to humans. This is still not the same as just writing their name; using the
@ notation expresses an intent to notify them.
For example, when replying to a comment by a post author when there has been at least one other commenter, I almost always use that notation, so that it is clear to them that they're not just being notified incidentally to the comment being on their post.
But this feature needn't prevent me from writing such notation manually, as I currently do.