8

Background

Some new users struggle to write a good question first time around. We already help in comments (e.g. by linking to helpful resources) but this does not always result in the question being improved to the point where it can be reopened.

One possible cause for this is that the Q & A format is simply too different for users to grasp without one-on-one assistance. For example, markdown formatting and sample data generation/presentation can be quite challenging if you have never used a Stack Exchange site before.

This can all be much more challenging where English is not the user's first language, since all the help available is written in English. Not all Help Center entries are a model of clarity either.

Proposal

  • Experienced users would invite the new user to chat to help improve their question.

  • This would involve moderator assistance (via a custom flag), because new users cannot talk in chat until they reach 20 rep. (The normal mechanism of auto-copying long comment discussions to chat does not work either, and is too slow in any case.)

  • We would place the question on hold while the improvement process takes place.

  • If the author does not wish to take part, or the question is not sufficiently improved for any reason, the question would transition to closure and be deleted as normal.

Questions

  1. Is this a good idea?

  2. Are there any experienced users willing to help in this way?

  3. Would a single dedicated chat room or a chat room per question be better?

  4. Any other feedback?


To be clear: this is a specific proposal for something we could do now, without waiting for any site development work, which is currently in a queue 6-8 years long. It won't solve all problems with the new user experience, but it might just not make them any worse, or even help a tiny bit.

8

Chit Chat

The main problem isn't one that a one on one chat can easily solve, given all the different time zones, languages, and time constraints placed on both participants.

We've all been there where someone asks a question, there are comments asking for more information, and OP disappears for hours, days, or longer.

Any asynchronous process that relies on one person is frustrating enough. Adding another person to the mix isn't likely to alleviate it.

> being this new

The issues new users face when posting a question:

  1. They don't know what a good question looks like
  2. There's no immediate guidance on what a good question looks like
  3. They don't know what information they need to provide to get an answer
  4. They don't know how to get that information

When you go to ask a new question, there's some guidance in the title, but absolutely nothing in the body.

NUTS

Perhaps that would be a good place to offer guidance as links, a good sample question, or more. I stink at UX, so someone out there probably has better ideas kicking around.

Dedication

Having a single dedicated chat would likely be just as overwhelming as a barrage of comments asking for more information.

To me, there's no difference in five chat messages vs. five comments with links asking for people to do this or that, e.g. get an execution plan, paste it somewhere, script tables and indexes, provide sample data, collect error log, collect server settings, get they query, get the parameter values...

To make matters worse, a lot of the comments like that have 2, 3, and more links in them for the user to follow, and not all of them are on-site links.

WITCHCRAFT

Perhaps a New Question Wizard® is a good idea. Say, for the first few questions someone posts. It would serve as a walkthrough and data collection exercise.

I have a question about (query tuning/indexes/...) on (SQL Server/Oracle/Postgres...) version (version list).

This can help populate tags, etc.

One level deeper, guidance depending on what the question is about

  • Query tuning: Query text, query plan, tables, indexes
  • Writing a new query: Tables, sample data, expected results
  • Problem with current query: Query, tables, sample data, expected results

This could link to sites like DB Fiddle, Paste The Plan, Plan Explorer (to anonymize if necessary), or other guides on how to collect the correct information.

Like A Virgin

Aside from that, taking the First Post review queue one step further to collect posts before they go live might be a workable idea.

  1. Prevent very low quality stuff from hitting the main site, creating lots of potential mod and review work for dupes, comment clean up, etc.

  2. Make sure OP is engaged -- asking for and getting more information here assures that a quality question from someone who is paying attention

I realize that this could have a negative impact, though, as users reviewing questions and asking for more information would have a head start on an answer, but that's a problem with 1:1 or group chats, too.

Cool Runnings

A runner-up idea would be for it to cost reputation to post, meaning that

  • Users would have to do some other stuff to get enough Rep to post a question
  • Users would have to start with higher Rep (say, 6 instead of 1)

This isn't unheard of. Other message boards make you post a number of responses before being able to start your own thread to cut down on repetition, spam, etc.

Wee. Happy Saturday.

7

I don't think it's a bad idea, but I wouldn't be willing to participate in the one-on-one. The thing about DBA.se is that I'm usually helping out more than one person in the process of using this site, because of repeat views, duplicating, and other such features. That's about the only incentive to drive participation here.

Generally speaking, I judge questions on form rather than difficulty and I suggest all others do the same. When questions are of a poor form, I detach from the question to save my own time. I'll do work to revise a question: rewrite it, title it, tag it, and add DDL -- but I don't particularly like engaging in conversation to tell people what they should already know. I also acknowledge the format and UI of the site makes it very difficult to pick up what you should already know.

So it comes to meeting the burden of things you should already know, for that I have a few boilerplates, largely taken from @a_horse_with_no_name,

  1. Optimization questions: Please [Edit] your question and add the CREATE TABLE statements for the tables in question (including all indexes) and the execution plan generated using EXPLAIN (ANALYZE, BUFFERS). Formatted text please, no screen shots

  2. Other questions: Please [Edit] your question and add the CREATE TABLE statements for the tables in question adding the desired output. Those answering need a Minimal, Complete, and Verifiable example. Use formatted text please, no screen shots.

Truth be told, I'm not happy having to copy-and-paste them myself I think in the current setup the best we could do is to put the question On Hold with a message and link to the Flag to Reopen. There will always be an excess of people who don't care, for every one that is innocently ignorant. It's a lot of work to solve this problem without platform cooperation.

  • Screen shot: posting should ask, "does this consist of only text" -- if it does the user should be advised that the question may be closed as bad form, especially here.

  • Parsing

    • Determine if SQL is included, if it is the user should be prompted to paste the necessary DDL to create their tables.
    • SQL-detection should trigger an RDBMS prompt
    • Detection of non-SQL, non-pl source, should trigger a voluntary-migration to StackOverflow. And vise-versa tagging only a RDBMS or SQL should trigger a migration here. Common idioms like dbh->, sth->, db.execute, db.prepare would go a long way.
  • Markdown

    • Invalid markdown like 1) and 2) should prompt the user to migrate to a markdown-list like 1. and 2.
    • Even if we're not supporting Github-flavored markdown, we should detect it and warn against it. Or better yet transparently offer transpilation to regular the CommonMark. ``` detection please!!
  • Tagging

    • Tagging an RDBMS should prompt for the version, and add that tag if there is tag-space remaining (we can always remove it later).
    • All questions should be prompted to tag for an RDBMS.
    • Tagging with [query] [performance] and the like should require a query plan.
    • Tagging with a computer programming language, should trigger a voluntary-migration to StackOverflow. And vise-versa tagging only a RDBMS or SQL should trigger a migration here.
    • Hierarchical tagging would be a huge boon to the site is the #1 feature the network needs.

Ideally, we would hold a site the caters to technical questions to a reasonable standard for having the technology to deal with it. Unfortunately, most of the communities here are conservative and the site does very little to make users successful.

  • 1
    Thank you this is helpful. Some very good suggestions. – Paul White May 5 '18 at 17:56
4

This is a really nice, welcoming idea. I struggled with the mechanics of this app initially (still do TBH). I imagine I'm typical in that.

However. I have a full time job. And a family. And a life. I help out here when I can, how I can. My opportunities to dedicate a (potentially large) block of time to a random internet user are quite limited.

For me DBA.SE more as a team sport. Sometimes I score myself. Sometimes all I can manage is to boot the ball up the field, in the hope that another can knock in a goal. Eventually, collectively, we progress. As things are currently, thought, I shalln't be signing up for any marathons.

  • Thanks for the feedback, Michael. I didn't have large blocks of time in mind, more looking for people to help out in whatever small way they wished someone else had helped them out when they were new. So the idea is about knocking questions into shape and/or explaining how things work rather than actually defining questions as such. – Paul White May 7 '18 at 11:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .