Try bot, a bot that teaches staff about Discourse

I think it would be nice to have a bot, somewhat like slackbot that you can use to learn and interact with on https://try.discourse.org

Interacting with trybot would be achieved either by replying directly to a trybot post or mentioning @trybot

Some example interactions I thing would be handy:

@trybot can you reply to me in 20 seconds

Trybot posts a direct reply to my post in 20 seconds

@trybot can you create a new topic

Trybot posts a new topic on try

@trybot what is a badge

trybot links to a topic on meta explaining the badge system

@trybot help

a help post pops up explaining about the commands you have an so on.

After a user makes their first post trybot could post a welcome message explaining what it is and what it does (also mentioning that try is just a playground)

I find that a great way to be introduced to Discourse is interact with it, having a trybot will allow people to try out Discourse outside of a vacuum, make testing all sorts of cases a lot easier and so on.

An initial version could be as simple as having a map of regex -> post body.

Thoughts?

7 Likes

I think it is more of a chat construct than a discussion one. It feels unnatural to me. Even the classic Eliza bot is oriented towards single line chat, not paragraphs.

http://nlp-addiction.com/eliza/

I don’t mind it as a wizard that helps you set up the site, but I think a GUI with buttons would be easier than responding to a bunch of rapid fire text questions.

I guess it is OK for try testing, but that is kind of a special case. Overall I don’t think it is a good direction for us to expend our limited resources. Perhaps better as a third party effort?

5 Likes

Yeah I am fine with that, don’t think we need to be working on this now.

I found this framework for making chat bots pretty interesting:

http://superscriptjs.com

It has an expressive rules engine and is smart enough to break up sentences into multiple statements/questions. It also has reflection and can remember previous facts to answer questions in the future.

I haven’t used it, but if I were to build something for Discourse, that might be one of the first places I look.

1 Like

As something that would help in this direction, but might be much simpler, did anyone ever consider a tour-type JavaScript tool? e.g., http://usablica.github.io/intro.js/ or many other similar alternatives.

3 Likes

wow! that’s amazing. I was just having the same thought… a guided tour to show folks around would be the ticket.

I was browsing https://www.useronboard.com today which has some interesting “teardowns” of onboarding experience for various websites. Food for thought.

@sperok has done something like this but I don’t know the status of his efforts.

https://meta.discourse.org/t/onboarding-using-an-iframe-and-a-cookie/20604

4 Likes

My question is… who would go to try just to learn how to use Discourse? Would it not be better to use something else that is easy to deploy across various instances?

2 Likes

Two different use cases, methinks. Try for would-be admins, and a training tool for “regular” users on installed instances.

Yes - the ideal would be to have a “Guided Tour” link always on the sandwich menu on every discourse instance, which admins can then include in the banner as well for new users. Or it lives somewhere prominent in the header until the user gets to TL1. Maybe once they get to TL1 they get another tour with more advanced stuff. When they become a moderator, they learn how to merge topics… you get the idea.

On my sites I am facing a lot of resistance from people just because the initial onboarding is rough. They don’t know forums, they don’t know markdown, and just want it to work like Google Groups. Once we get through the painful start and realize how amazing it is, though, they come around and start to like (dare I say love!) discourse. But it’s hard for some users to get to that point… because they have limited access to the Internet, are too busy, or are simply too set in their ways.

2 Likes

LOL, story of my life :laughing:

2 Likes

Ah, may be good to emphasize that better in the OP :smile:

I am a huge fan of a “Discourse walk through” bot.

It can guide you through using Discourse in a single topic.

“Try uploading a picture”
“Good”
“Now try bolding some words in a post you make”
“Good”
“Now try quoting something I said”
“Good”

Etc.

It could all be done in a private message to avoid cluttering the general view of things.

I think it can even be more effective than http://commonmark.org/help/ cause it is far more “fun” and can be a lot less strict.

8 Likes

Not a good fit when we are not a chat tool. Better to do full screen wizards. I think it is an enormous mistake to tack chat semantics on to a discussion forum.

If we ever have an official chat plugin it could be used there, for sure. That makes way more sense.

1 Like

I’m not sure this would be ill-appropriated “chat semantics”. It may be better seen as something that chat invented which is well worth stealing.

I have found it enormously useful in Slack to test out features by messaging slackbot, even though I would consider myself now an intermediate to advanced user… Having a place to test out features seems like a very smart idea (including what happens when someone replies to me).

1 Like

This “tool” is certainly a plugin, not something I see in core unless it becomes hugely popular. I do not think it meshes well with chat though.

Teaching people how to upload images, quote, like, flag and so on are all things that should be done in our standard interface.

The beauty of using a PM here to teach people about the system is that instead of a huge “welcome PM” most people do not read we end up have an “interactive” welcome that allows you to use the very interface you are learning to learn. I much prefer this that presentations, wizards and so on.

3 Likes

(Moved out of GSoC topic so we can go in depth)

Stuff like @trybot what is a badge is indeed quite chat-like, and that’s not what we’re talking about any longer (I should’ve probably started a new topic linking back here instead of merging).

Less “clippy the personal assistant” more “incremental staging content”

That is a much better idea, I can support that. A bunch of public visible bot activity in a forum… ugh

8 Likes

Couple things have changed for me on this:

  • the bot is in addition to the new site setup wizard. It takes over after the new site setup wizard is complete, when you’ve set logos, colors, some tweaks to settings, and have already invited other staff members. That part of the setup is critical – it is a “yes and”, not an “or”.

  • the bot will be posting exclusively in the Staff category, only after initial site setup, so there’s 0% chance it will show anything to public users. (It could also send a personal message or a group message. My overall point was, it does not make public posts, that are visible to the public in any way.)

So really this should be titled

Try bot, a bot that teaches staff about Discourse

… and I’ll change it to that. This is something that we’ll be building in 1.7 to help people get their Discourse running great.

The general idea is teach staff members how discourse works by interacting with them. Some examples:

  • Bot creates a new topic, asks someone to reply to it. When they reply, the bot replies to them.

  • Ask them to create their own topic, and @name mention the bot. After mention, the bot will reply to them.

  • add a picture, add a onebox, and the bot will reply with a funny picture or onebox of its own. Sort of the “dueling banjos” there.

I think you can see where this is going; it is both teaching staff how to use Discourse, while simultaneously showing off the cool things you can do with Discourse! If you have further ideas about what the bot should do along these lines, feel free to share.

6 Likes

Sorry I’m missing the point. Why just staff members?

So they can learn to use the tool they just set up? The same reason a box containing a toy usually comes with a set of instructions inside, to let you know how to begin building it? Think of it this way:

1 Like