I would like to discuss with some civility a recent action that has occurred in the Root Access chatroom. First, allow me to catch everyone up on the facts of the situation:
Overview
- Q: What happened?
A: Please see this message in Root Access chat. This decision is the primary reason for asking this question on meta.SU. But before you make any judgments or conclusions, please read the other statements of fact which follow. - Q: What is the chat bot's account name?
A: ChatBot John Cavil. - Q: Where is the source code for the chat bot located, and what is its source code lineage?
A: This chat bot is based on the JavaScript ChatBot implemented by Zirak. Its code is located on GitHub. There are three repositories of interest: My Driver written in Java, which provides login functionality only; Zirak's base ChatBot; and my minimal changes as a friendly fork of Zirak's bot. The primary purpose of my changes is to adapt the functionality of the ChatBot to the Root Access chatroom, insofar as the existing code is specifically tuned for the JavaScript chatroom, which is the original home of Zirak's ChatBot. - Q: Where else is a similar ChatBot (based on Zirak's code) hosted in chat rooms on the SE network?
A: In the aforementioned JavaScript chatroom, as well as the Android chatroom, and perhaps others that I am not aware of. Some users in other rooms have expressed interest in having one, but have not yet put the hosting infrastructure in place to host one. - Q: Are bots allowed on the SE network in general?
A: It would appear that they are. I completely understand the proviso that SE has the final say regarding what they consider allowable and what is not considered allowable. I am eager to work with SE and the other ChatBot maintainers to ensure that these bots meet community standards and can continue to be a part of the flavor of the chat rooms for a long time.
The Problem
- Q: Having read balpha's message explaining the reason for suspension, what is your (allquixotic's) interpretation of the reasons for the suspension of ChatBot John Cavil?
A: I see the reason as being three-fold:- The bot greets every user who enters the room for the first time, if it has never seen them before.
- The bot contains commands which contain foul language, or might be viewed as objectionable and not rated "PG".
- The bot's message is written in a way that could be misinterpreted as indicating that the bot is part of the official chatroom functionality, or that it is officially endorsed by StackExchange, Inc.
Observations
- It is observed that other chatbots based on Zirak's code have existed on the StackExchange chat room network long before John Cavil came into existence.
- It is observed that every other chatbot based on Zirak's code...
- ...contains the same built-in command which balpha specifically found objectionable.
- ...automatically greets users joining the chat for the first time with some sort of welcome message.
- ...allows users to define their own commands, which can contain arbitrary text, links, or oneboxes, including foul language or inappropriate material.
- It is observed that regular users in Root Access, The Comms Room, The DMZ, and other popular chatrooms on the SE network, very frequently use foul language and post objectionable content, which is not flagged or removed from the chat history, even in the presence of several site moderators. It would appear that this content, in general, is considered to be acceptable by the majority of the users of these rooms, except in cases where it crosses a line in the opinion of the users, is flagged, and is taken care of. The efficacy of the chat flag system is very clear, because flags are usually handled within seconds, and valid flagged messages are almost always nuked within seconds. It would seem that this system should be able to take care of any foul language or objectionable content being output by the bot (either built-in, or induced by a user) in cases where chat users find it to be objectionable, and suspensions are unwarranted.
- It is observed that, to the best of my knowledge, ChatBot John Cavil does not have any chat flags which have been deemed valid, based on a user supplying non-objectionable input commands and receiving objectionable output. (It may be the case that it may have a flag when a user typed something that contained objectionable input, in which case that user, not John Cavil, should be held responsible for the output. It is impossible to write a filter for a chat bot that will absolutely prevent any objectionable material from being printed in chat or linked to, regardless of user input, without severely limiting its functionality.)
- It is observed that, as of this writing, and to the best of my knowledge, ChatBot John Cavil is the only chatbot which has been suspended from chat, despite containing the exact same feature set as other chatbots on the SE network, which on the whole have been met with chat user approval and have seen continual maintenance and improvement in cases where their behavior has proven annoying or undesirable.
My Questions
- Given the observations above, why is ChatBot John Cavil, specifically, suspended, and not the other chat bots?
- Without doing away with the ChatBot entirely -- which, thankfully, was not requested by the StackExchange employee who suspended it -- what are ways that I can improve its functionality in order to make it more acceptable? I will take a shot at this right now; if you have any additional suggestions, please post them as an answer or a comment:
- I would very much like to keep the automatic greeting in some form or another. The wording can easily be tweaked to indicate that the ChatBot is not built-in, and is not officially endorsed by StackExchange.
- I completely agree with the sentiment that removing the command which was found specifically objectionable by balpha is sensible. I will, additionally, submit my patch as a pull request on GitHub for Zirak, in the hopes that he will "clean up" his bot as well. I will then do a search through the command list and attempt to remove any other built-in or user-learned commands which could be construed as objectionable.
- Lastly, if it is the only way that StackExchange will agree to allow the bot to continue to exist, then I will reluctantly remove the automatic greeter.
The Case For The Auto-Greeter
(Big Kudos to @Skliwz for making me aware that I needed to add this section!) Here are my responses to some of the common objections which have been made regarding the auto-greeting functionality:
- Objection: The auto-greeting messages are obtrusive or noisy for users who are already acquainted with the room.
Response:- Relative to some more popular rooms, there really are not all that many new users who visit the Root Access chat, so the frequency of the messages is pretty low. Maybe one or two a day at most. There were a few spikes when popular questions linked to chat, but those are anomalies. We may be able to add code to the bot that stops greeting users if more than X number of users enter the room within a Y second window.
- Some room regulars find it useful to know when a new user has entered the room, because often we will immediately stop some off-topic conversation and prepare to help the user with their question.
- When a user joins the room, there is currently no way for regulars to know whether that user is completely new to Root Access; completely new to chat; or even whether they are able to post messages. Generally, users that the bot has never seen before are going to be the most impressionable, and we want to make a good impression, so we will make a greater effort to eliminate side conversations to allow the new user an opportunity to interject with a question about the site or seeking live support. Experienced users will not feel put-off by a continual stream of conversation, and are more likely to interject even if we don't make an opening for them specifically.
- Users who do find the bot's messages to be annoying can choose to ignore the bot using a feature built into the chat client.
- Objection: New users who wish to lurk in chat and not participate in the discussion are "pinged", which can annoy them, or bring unwanted attention to their profile or user name.
Response:- SE is a public site; user profiles and display names are public; and users should have no expectation of privacy when creating an account and electing to provide information in their profile. Users who wish to remain anonymous may do so: if you do not create an account (or even if you do have an account, but aren't logged in), you do not appear on the user list, and will not be "pinged" by the bot, or any other user.
- Everyone can already see your presence in the chat room in the user list if you're logged in. We know you're lurking, and we're totally fine with it. I have never seen a regular in Root Access ping a lurker just because the ChatBot pointed them out. We tend to only speak to users who have participated in the chat at one point or another, and are acquainted with at least a few people in the room.
- Objection: New users may mistakenly think that, due to the auto-greeting, the chat bot somehow represents the official points of view or stances of StackExchange (the company).
Response:- I am willing to modify the greeting message in any way that would help to clear up this misunderstanding, either by supplying text dictated by StackExchange themselves, or a community-approved string, that makes it unambiguous that this is a community, unofficial bot that is simply trying to provide useful and/or entertaining commands and information.
- It is already a common misconception among new users that diamond moderators represent the views of StackExchange, Inc. Clearly we know that they do not, as veteran users of the site, but it is very hard to avoid this initial impression. The best we can do is attempt to inform the user to the contrary, which some moderators explicitly do in their profiles. Maybe I can also add verbiage to this effect in ChatBot John Cavil's profile to help the situation?
"..."
if it's too long), and appears in the same area as chat messages. It also pings users and is highlighted, so it's more likely they'll read it. Several first-time users have said the message is helpful. For regulars, the message is never displayed. If the bot has ever seen you in the chat before, you won't get the message. Does that change your opinion, or do you still think it's "just noise"?