User:Samwalton9/Live help

This is a page for my thoughts regarding the issues which arise as a result of the English Wikipedia's live help facility being an IRC channel and how we could fix them with a purpose built tool. As a preface I have no idea how any of this would work from a technical standpoint and currently this is a combination of my occasional thoughts and a very rough plan.

If you have anything to say on this matter feel free to edit/comment directly or post on this page's talk page.


 * Related links:
 * Grants:IdeaLab/Speedy access to a user-to-user help team - User:FT2

The problems
In no particular order, these are some problems I see with the current format.

The interface
Currently, a user connecting to the help channel through links on Wikimedia projects will join through Freenode's webchat or the KiwiIRC client. IRC is an old, technical, and not at all user-friendly system, and has a number of specific interface issues;
 * Users have to type their message in an unobvious white box at the bottom of the screen and send it by pressing the Enter key. A helpmebot command (!click - "In order to type, please click on the white rectangular box at the bottom of your screen and begin typing.") had to be written in order to point users to that box as we suspected many couldn't work out how to send messages.
 * The chat is not easy to read. The font is by default small and entirely black in the Freenode system and channel join/leave/away/voiced messages clutter the screen.
 * Some of these issues were fixed by the default client having been changed to KiwiIRC in some places which is considerably more user friendly. Text is still small and interface less user friendly than it could be though.

IRC
IRC as a medium poses a number of problems, primarily a result of its usability;
 * IP addresses are visible. Unless you are an established editor and have applied for a cloak, any time a user joins or leaves the channel their IP address is on display. This information is usually only available to checkusers and then only when absolutely necessary.
 * Anyone can join the channel. Though bans and kicks are an available feature, having a troll join and spam the channel whilst someone is trying to receive help isn't a useful situation.
 * No feedback as to whether users are available. Especially during ~midnight to midday UTC the number of helpers is very low, if any are online at all. This means many users don't get the help they need & aren't presented with an immediate alternative such as "No one's available right now, would you like to post on the Teahouse instead?"
 * Freenode kicks anyone spamming (i.e. sending multiple lines of text at once) which I imagine is confusing for new editors who might not then re-join the channel. (Recently an editor attempted to paste his whole article into the channel for example).
 * Users can't select names which are already registered on Freenode (which covers, at minimum, most Western first names), meaning they end up being called something like WPhelp1234 or YellowLemur. This is confusing for both users and helpers.
 * Helpers are put off by the confusingly technical nature of setting up an IRC client and registering for a cloak.
 * We are beholden to Freenode's rules, servers, etc.
 * IRC is liable to confusing technical issues such as netsplits

Group channel
The current live chat takes place in a group channel containing all helpers and helpees, leading to;
 * Confusion as people attempt to have conversations across each other. There can be as many as 3 or 4 helpees in the channel at one time receiving help from as many helpers, which can get confusing quickly.
 * Inexperienced editors or other helpees giving help. This isn't always a bad thing but I've seen bad advice given as a result.
 * Possible intimidation? This isn't based on much but I know that when I first joined the help chat I was quite overwhelmed at the amount of users in the channel (most idling, but I didn't know that).
 * This is particularly an issue for sensitive or more private topics

Generally

 * The channel is not official and thus not easily regulated by the community. There is very little accountability for actions taken in the channel compared to on-wiki.

The solution?
I think that a purpose built, potentially 1-to-1 (at least 1-to-many), live help function could solve most of the above problems, whilst improving on the current functionality. Below are some of the inherent and proposed solutions of such a system.

End-user format
I envision the live chat end-user interface to be similar to those used on other websites (such as Amazon) whereby the user sees a chat window containing only messages directed at them, with an obvious text entry box and a clickable send button. Upon requesting a live chat help session the user could fill out a small form in which they can enter their Wikipedia username, the page they're wanting help with, and other relevant information to speed up the process & make it easier for the helper.

Perhaps all logged in users should always have a link to ask for help on every page - this would increase the demand by quite a bit, but may in turn increase the number of helpers.

Helper format
The helper format would be quite different to that which exists currently.
 * We would probably want helpers to apply to join the team, similarly to how the OTRS team functions. This would stop inexperienced editors confusing or giving bad advice to helpees and introduce some measure of quality control.
 * It would probably make sense for this tool (if pursued) to be incorporated into WP:OTRS as some kind of subset of that process. Users trusted to work at OTRS are likely to be suitable for live help too.
 * The helpers would be shown the information the helpee entered in their form so that they can go straight to the page they are asking about and/or bring up the user's contribs without having to ask for this information after they join. They could also perhaps receive some standard (automatic) information about what page the user came from and their username.
 * A number of standard messages could be available to send similar to how Helpmebot is currently used. This would save helpers having to type cryptic commands in chat that helpees likely get confused by.
 * All current help chats could be visible to other helpers such that they can chime in with advice. (debatable, could get confusing for the helpee.)
 * Otherwise, helpers would 'claim' a chat, such that other helpers could see that someone was investigating/replying to them
 * Ideally all help sessions would be, by default, publicly logged (Special:HelpLog or something). We would probably want the ability to mark sessions as private in the case that it deals with BLP issues, harassment, is spam, etc.
 * Such a log might provide the framework for a more general live-chat extension that could replace most or all of the currently IRC based channels.
 * Helpers could bring up previous interactions with this user easily.

Problems & concerns
Primarily from discussions with other users
 * There's a possibility of decreasing the total number of helpers; losing the group who are in en-help because they idle in a number of IRC channels.

General research/considerations
Things to think about.
 * Think also about Freenode's policies and the fact that we're beholden to them.
 * Consider broader issues than simply the help channel - there are many IRC channels. Would others benefit from a Wikimedia developed & run system? Would it need to be substantially different in structure and interface to a help channel?
 * Think about harassment - could there be a 'channel' in this help system for users who are being harassed to be helped by users qualified to provide help/advice?
 * How would this qualification be defined?
 * Other channels could include users who require an administrator/checkuser/oversighter. Might be too confusing for newbies though.
 * Globalisation - do other language Wikis have an IRC help channel? If they do, is it used well? If not, why not, and could this tool be rolled out to all wikis?
 * At 8am UTC 19/11:
 * wikipedia-en-help - 99 users
 * wikipedia-fr-accueil - 10 users
 * wikipedia-zh-help - 3 users
 * wikipedia-sd-help - 1 user (me)
 * Other languages & projects likely use their main channel (i.e. #wikipedia-it) for getting live assistance from other users; I should probably speak to users from other language Wikis to find out to what degree this is the case.
 * Helpers would want to keep a behind-the-scenes channel for discussing - same system that could be used to replace general IRC channels
 * Could the system support 1 to 1 conversations with any other user? Could be useful for collaborative discussion.
 * Risk turning Wikipedia into some social media platform
 * Might not be a terrible thing - would certainly encourage users to register accounts here.
 * Do users who don't get a response (or one that they don't find useful) go on to ask for help at another venue?
 * Do users prefer getting live help?
 * Should users get an easy link back to help log sessions they participated in? Logs would be available so should be fairly easy to provide an easy to reach link that filters the log for their username

Data
If any changes are going to be made with the help chat some statistics and analysis of the current chat system would be helpful such as...
 * Logging the number of users helped per day.
 * Experience/distribution of users helped.
 * Number of editors who don't get helped because no one is available.
 * Number and experience of helpers.
 * A survey of regular helpers to gather their thoughts.
 * Leaving helpees a feedback questionnaire regarding their experience. Suggestion for questionnaire here, not in use yet - no consensus in chat to use it.
 * Might be best to collect/find out usernames of users that come into chat and contact them afterwards.
 * Wouldn't work for users who hadn't yet made an account though.


 * This data (taken for IRC and for the new tool) would be the primary metrics by which to measure success.

Research
Thoughts and aims for research into this topic:
 * To look for in chat logs:
 * Topic of enquiry (AfC submission/current article/policies and guidelines/interactions with another editor/etc)
 * Length of time in chat
 * Number of helpers helping them
 * How many helpees per unit time
 * Some measure of how many overlapping helpees
 * Amount of trolls
 * Acquire some 24/7 chat logs either by
 * Myself; leave a computer on 24 hours for a couple of weeks logging
 * Contacting some of the users who seem to idle all day to get them sent to me
 * Distribution of topics from incomplete logs should be the same at all times; therefore I can get topic distribution from incomplete logs and number of helpees per day from a smaller amount of 24/7 logs.


 * Could be done via crowdsourced classification
 * Break down chat logs into 'sessions'; sections of chat where a user was logged in to the channel
 * Have users classify the above information from each session; too much work to do alone for a good sample size
 * Users would be anonymised but given unique IDs to track them between sessions
 * If using this to track helpers it will be confused by renames, but these are relatively few and far between.
 * A smart approach would use 24/7 chat logs to also monitor renames