Vision for a new support.drupal.org - share your ideas and expertise

Events happening in the community are now at Drupal community events on www.drupal.org.
laura s's picture

The http://groups.drupal.org/support-infrastructure group was created to focus discussion and, hopefully, development. There's been a lot of ad hoc discussion so far, in various places. We want to focus that energy.

So far, davidhernandez has started a wiki page at http://groups.drupal.org/node/133494 outlining some fundamental goals — namely to replace the forums as a support center with something much more effective and useful. (It's a wiki! Be bold!)

This endeavor will take community involvement to make it happen. This thread is to invite input and discussion. Let's hash this out and get some momentum going!

A proof of concept?

The StackExchange Drupal site launched recently. When this was just a proposed project, many of us expressed our support of the StackExchange group with the understanding that it would serve as a model for how we might build our own support center. StackExchange does a lot of things right, such as ways for the best answers to percolate up to the top, very visibly, so people searching for answers can find them and identify them easily, without having to ask the same question over and over again.

But there are also things that may not be ideal fits for our community. Some people have questioned the value of the points system and how it invites gaming of the system, for example.

And then there are the features that we would want for a support site to help streamline its effectiveness.

What would you like to see?

davidhernandez has already eloquently (I think) outlined goals and benefits, so I'll toss out some ideas here for some features added to the StackExchange experience that would help:

  • Easy reference to existing d.o issues
  • Easy reference to api.d.o documentation
  • Easy reference to d.o documentation
  • Integration with Drupal projects, to facilitate discussion of ideas directly related to the project without having to use the issue queue (which is not ideal for long discussions)

Obviously this is just a sliver of what's possible. What are some of your ideas? What do you think would make support.drupal.org totally rock as a support site for n00bs and experts alike in not only development, but site building, theming, architecture, performance, etc.?


Update (March 28, 2011): Following a request by Yoroy in comments below, I've copied over some goals from a comment I posted below:

Goals of a better support system

  • Answers to common questions and problems can be found easily. (Repeat questions waste everyone's time.)
  • Askers who can't find existing answers can ask questions in a system where they can hope for some kind of timely response. (Late-answered or unanswered questions can leave people stuck.)
  • In-depth problems or issues can be pursued as long as people are willing and able to stay on it. (Technical and architectural constraints on the format should not discourage this.)
  • It's easy for askers to ask and for answerers to answer.

The full comment, along with a bit of discussion of the limitations we face in the current support venues, is below: http://groups.drupal.org/node/136719#comment-449324

Comments

Thanks for posting this. I am

davidhernandez's picture

Thanks for posting this. I am eager to get a discussion going.

As someone that does not use stackexchange, I'd like to know the laundry list of things people DON'T like about it.

One major aspect of all the

lut4rp's picture

One major aspect of all the StackExchange network is that site "features" get unlocked based on the karma points you have. These "features" include stuff like answering questions. Wow :-)

Karma needed just to vote?

laura s's picture

StackOverflow at least seems totally bass ackwards on this: You cannot vote on answers until you have enough karma. Just now I googled up a mysql problem I was having, and one of the answers solved it! I wanted to vote up that answer, but I could not. I wanted to comment on that answer, but I could not.

However, I could post my own duplicate solution, which is not very helpful, imho. Why create a structure that encourages duplication of answers?

The cryptic points in the little user profile boxes on each post are also confusing. A reputation system can certainly help a support site — it's good to be able to know if someone providing an answer has provided good answers to others before. But it doesn't help if you have to be an expert just to understand what the codes mean.

Of course, once you have enough karma and have been around long enough to have learned how to use StackOverflow — is there a StackExchange to help people understand how StackExchange works? — the system can be very helpful in discouraging duplicate answers.

Laura Scott
PINGV | Strategy • Design • Drupal Development

I've playing around too. I

davidhernandez's picture

I've playing around too. I think they limit the voting to prevent new users from going around and randomly voting for things. It doesn't take much karma to get to the vote stage. Much of their limits seem to be designed to prevent some immediate gaming of the system. I can see some merit in it, but don't know if it is the best way to go about it.

Susan (HedgeMage) and I both agree that we shouldn't show the karma points everywhere. They'll be on user pages, but don't think they should be on every post. We don't want to put too much emphasis on rating people. I also don't want the points on a user's comment/answer to prejudice other people's acceptance of their comment/answer. I think everything should be judged on its own merits.

Personally I find that

laura s's picture

Personally I find that strange, forcing people to answer questions at any cost, even providing duplicate answers, before they can just say, "Yeah, that one works for me."

Laura Scott
PINGV | Strategy • Design • Drupal Development

Is this known to happen? Do

davidhernandez's picture

Is this known to happen? Do stackexchange type sites have problems with people duplicating answers because they couldn't vote? I would think someone would just move on.

@Laura, you know you're an

mlangfeld's picture

@Laura, you know you're an expert, and d.o. community members know you're an expert, but stackoverflow doesn't know it. So perhaps core developers, registered on d.o. module maintainers, documentation maintainers, initiative group leaders (and members), etc. could earn enough reputation in their user profile that they could skip the intro steps.

Then add in the system stackoverflow uses of a series of steps up the reputation scale. Wouldn't that work?

Best, Marilyn

My complaint about

laura s's picture

My complaint about StackExchange as stated is just about the way they use karma to prevent people from voting on existing answers while not preventing them from posting additional answers. It's an algorithm that encourages duplication, and I think that's a mistaken approach. Any Q&A site should first and foremost work to avoid duplicate questions and answers. (Another step for avoiding duplicate questions: make a Solr search query form be the initial "Ask" form for users to use (assuming the page they landed on didn't provide the answer they sought), so people are encouraged to see if their question has already been answered before they go ahead and ask it yet again. We did this on a project for CU Journalism last summer, and that workflow made the site much more useful for people.)

StackExchange has a lot of great ideas. And I'm not against finding a way to leverage karma without it being gamed in ways that can distort reputation. With such a system in support.drupal.org, for example, the karma could draw from community participation metrics. Still, how those algorithms are applied is the trick. Our friends at Certified to Rock have been playing with algorithms like this and presumably have learned things in the process, but they do it in secret. Drupal.org reputation would have to be a transparent system that, despite its transparency, cannot be gamed except in ways that genuinely do contribute to the community. (Much in the same way security is not compromised though the code can be examined by anyone.)

Laura Scott
PINGV | Strategy • Design • Drupal Development

Laura, The example you've

mark trapp's picture

Laura,

The example you've been using in this thread is not a great one: you've found an answer useful, so in lieu of being able to vote because you haven't asked a single interesting question or answered a single useful answer, you create a new answer that says "this other answer worked for me." That seems like a contrived scenario.

The reason you need a minimal (15! You get 10 for a vote on an answer and 5 for asking a question) amount of reputation is to prevent sock-puppet voting: if any newly registered account can upvote answers, I can make dozens of them and make sure my answer gets to the top. That's truly gaming the system.

(Another step for avoiding duplicate questions: make a Solr search query form be the initial "Ask" form for users to use (assuming the page they landed on didn't provide the answer they sought), so people are encouraged to see if their question has already been answered before they go ahead and ask it yet again.

That's already in Stack Exchange. Try asking a question to see it in action.

Not allowing everyone to vote

DoctorWho's picture

Not allowing everyone to vote on answers and questions is unfortunately necessary to prevent people from gaming the system. But you really only need to ask one good question or give one good answer to get enough reputation to upvote posts. The bar is deliberately set very low.

There is the problem that new users sometimes misuse the answer feature, because they can't comment or upvote. But that is easily dealt with, if you post a non-answer (e.g. "this works for me too") on a question, it will be converted to a comment or deleted entirely by a moderator. There is an automatic search for duplicates if you ask a question as Mark already mentioned. If you still post a duplicate, other users that notice that can vote to close the question as a duplicate. That works pretty well in practice.

What is there to gain?

mradcliffe's picture

Why would someone want to game the Drupal answers system? What is there to gain at the cost of these useless reply/answers? We already have a system in place to block spammers unless the idea would be to prevent less work for that system.

What is there to gain on support.drupal.org?

  • e-cred (so what?)
  • spam (ban)
  • violate community standards (ban)
  • Moderation roles (valid concern)

What is there to lose for doing this?

  • Usability

Moderation roles are a post-launch priority, but I don't think it's worth sacrificing usability for.

ed.: ugh, why the heck isn't the community standards document sanely linked or searchable on d.o?

Anyone can ask and answer a

mark trapp's picture

Anyone can ask and answer a question, regardless of reputation. The "features" you mention are community moderation tools: voting, closing, editing, deletion, etc. Most of those features have been walled off on d.o and g.d.o to only appointed users. Stack Exchange is a step forward in allowing the community, not a select few overworked people, moderate a support site.

Stackexchange

mermentau's picture

"As someone that does not use stackexchange, I'd like to know the laundry list of things people DON'T like about it." I had never been there before, and it just struck me as very cluttered and hard to focus on the questions. I like the functionality of a vbulletin forum where sub-forums keep you from having to search the whole site. Then when you are in a sub-forum you can search within that smaller area. http://www.linuxquestions.org/ has it right in my book.

You think stackexchange is

davidhernandez's picture

You think stackexchange is cluttered, compared to linuxquestions.org? Do you mean the question lists or the actual question pages? I think the question lists are quiet clean, but going over the individual question pages, I can see an issue. There is quite a bit going on there.

I do like how granular linuxquestions.org is, being able to drill down to specific areas. We'll definitely need to implement something like a taxonomy based menu system, and restricted searching.

I liked the setup on stackoverflow

mlangfeld's picture

@davidhernandez With tabs for: All Questions | newest | faq | votes | active | unanswered, you have a lot of information at your fingertips, since you can also filter by tag.

Best, Marilyn

I believe we could blend

Fidelix's picture

I believe we could blend somehow public-entered taxonomy with moderated linking and structuring.

Imagine this scenario:

On some easy to see place (like a main tab), we could show a "Browse" link, going to a navigable page showing main categories and sub-categories.

We could have some base terms like Performance, Architecture, Theming, Development.
And then some initial terms that would be under those base terms, like Nginx, Varnish and Memcache under Performance.

Not only the question owners, but also users with enough reputation should be able to assign and remove tags from a question.

This way it would be very easy and granular to browse questions.

But what can we do about new, unpredicted terms?

I'll give my suggestion:
After X (maybe 30) questions that share the same new term (eg. MongoDB), this term will be available to be manually moved by a moderator or highly reputable member to the according parent terms.

Only categories/sub-categories with more than X (30) questions would show up on the "browseable" mode. This way we could filter trashy new tags (even while tags can only be created by members with at least a few reputation, there could be tags not worthy enough to show as a sub-category).

What I would like to see

salientknight's picture

One of the biggest issues I find is that you have to plough through mountains of babble, chatter and speculation to get to the information you need. For example, you want to know how a piece of the API works, typically the first thing you find is a question about why specific code does not work. The page is filled with suggestions on what might fix it, but the suggestions are not rated, weighted or filtered so a lot of them are dead ends. The pages also contain other questions, streams of "me too," and sometimes completely unrelated suggestions.

I would like to see:

  • "Best answers" and "best practices" float to the top and broken code or bad practices filtered out. And
  • Documentation that builds from "baby step" answers.
  • All posts should be user editable, so you don't have to make a new post to fix a typo or a code error.
  • Complete answers. Sometimes the answer to a problem does not include first steps for solving it. For example the solution may say to add a hook_ but not say where, or what files are involved in the solution.
  • An enforced question and answer format/template
  • Api definitions that include samples of common practices, simple examples and user contributed examples with clear titles and ratings. Sometime the code illustrated in the Api examples bury the relevant code by using too specific or complex an example.
  • It would be great if key words were linked throughout the text to their definitions and examples.

Groups

MGParisi's picture

I think part of the problem is that idea of forums was a simplistic way to do things in the past. They continue to exist only because of peoples familiarity towards them. Groups are so much more powerful and also promotes a self regulating, healthy social environment. Where forums generally create trolls, user created groups tend to reduce hostilities and promote the exchange of ideas. In addition content can be assigned to multiple groups reducing repetition and increasing the ability to get the content to the consumer.

I wrote this up... I have purposed this in the path, but I have gotten a more polished idea. In the past we did not have the ability to do the things I suggested, now with the new site we do.
http://groups.drupal.org/node/137039

I hope I did a good job writing it. I would definitely appreciate any ideas, suggestions and improvements that could be made. I think this solves every problem people seem to consistently expressed.


--Sig--
Owner of Proper Programming, LLC a software and website development firm.

A couple of ideas

Chris Charlton's picture
  1. Auto-link API functions - I would like to see PHP & Drupal functions to be auto-linked to their API reference pages. I know trying to guess the version may be difficult but I think a smart support center stuff similar to what I describe will help people dig deeper and learn Drupal better.

  2. Answers marked - If some patch or piece of code helped resolve an issue then it'd be nice to get a link or visual indicator of which reply is the answer. I think points given to posts may help come into play there.

  3. Code Cookbook - Tagged snippets of code. See next thought...

  4. Pastebin - Drupal pastebin built into our support channel?

  5. Help Support module - a module that people can install on their Drupal site that provides links (or extended Help markup) giving people easy ways to search the support channel, or jump to a module's project page/issue queue.

Chris Charlton, Author & Drupal Community Leader, Enterprise Level Consultant

I teach you how to build Drupal Themes http://tinyurl.com/theme-drupal and provide add-on software at http://xtnd.us

Versioning

MGParisi's picture

Well the Document type used, should have version number of core or extension, therefor solving your API issue:)

The bigger problem you will run into is performance. I can just imagine the outcry that doing these things will cause our database to overload.


--Sig--
Owner of Proper Programming, LLC a software and website development firm.

5 star plus Mentor rating

wfx's picture

I'd like to see a rating system like Amazon's 5 star ranking for products on the posts. Relating to the Reputation System argument you could augment the classic 5 star ranking with a separate Mentor rating so Mods and more experienced users could weigh in and maybe have their top picks display is a separate view. Not sure what prerequisites you would want in place to be considered a "mentor".

Could you explain this a

davidhernandez's picture

Could you explain this a little more? Are you saying this is independent of the the actual question and answer?

Still working on this

wfx's picture

Bare with me, I'm still working on this problem. :)

To me this comes down to ranking results by 2 criteria: quantity and quality.

Quantity - Amazon style 5 star will get the quantity, ranking based on raw number of users that like that post. Everyone gets a chance to vote which is a fair democratic system for post weight and where it lands in the search rankings.

Quality - Although everyone gets a chance to vote, not all voters are equal in skill. I care much more about a post that say Merlin of Chaos thinks is useful post for learning Views than Bubba Noob who's just discovered the module. How do you carve out a certain demographics, or certain user's, opinion on the value of the information? Maybe we could have "Top Picks" block on user profiles to show which posts they really liked and why.

Adding a second voting criteria definitely adds complexity which we may not need. I haven't used Stack Exchange much so perhaps this karma points thing could work. My main thought is that just because something gets a lot of stars doesn't necessarily mean the info is helpful so being able to drill down to reduce fluff rankings would improve the quality of the search results as a whole.

So the theory here is to

davidhernandez's picture

So the theory here is to weight the votes?

Yep, weighting the posts and

wfx's picture

Yep, weighting the posts and a granular way to sort those results when you search.

Anyway, it does not matter. I should have investigated Stack Exchange more thoroughly before posting. I like the "Advanced Super Ninja Search Options". They've thought of about any search criteria you could come up with - ranking, question post date, tags, number of visitors, ect.

I dont think this would work.

MGParisi's picture

The problem with a system like this is that "popular" and "high" ranking results will continue to spit out "popular" and "high" ranking results, causing thoose results to continue to be "Popular" and "High" ranking. What is needed is a system that pairs search terms with search results. The end result is that the less popular but very valuable bits of knowledge needed for very unique tasks wont get the votes. The value of the information is high, but the audience for that information is small.


--Sig--
Owner of Proper Programming, LLC a software and website development firm.

Change in attitude

MGParisi's picture

I think there is something to this, but the issue is to introduce abit of randomness to it. Also time seems to be a valid parameter. I think its possible to come up with an equation that works in theory, It would be nice to get a solution deployed but also recognize that its not a permanent solution and should be tweak able as we gather see it play out in the real world. I cant see any harm in doing this, and their is only fun and benefits to be made with any implementations. Even a bad voting system will provide a better experience then none at all. So as far as I am concerned the only problem is getting this to move ahead. One of the issues that you may want to be prepared with will be that this process takes time to calculate, so maybe the calculations can be done at cron time and adjusted for when traffic is low.

Another thing is the human correction factor. Ever rank movies? You will find a movie that you really enjoy but it is ranked rather low. Therefor you vote high to balance it out. This problem exists in all voting systems and is hard to overcome. Yet maybe in this case its exactly the behavior we need. Essentially expose the "rating" and people will vote to up or down to adjust its place. Since a 5 star solution provides more flexibility in this behavior, exposing the total will allow people to vote a 5 to move an item up one or a 1 to move it down. These are all possibilities that present unique opportunity. I figure we wont get it right the first time, but if we document our goals and strive create a system to measure it, then we may adjust it over months or years.

The only time I see this human correction factor overcome is on movie recommendation sites. Where voting a 5 will give you results with people who have similar rankings. People seem to be more interested in voting accurately when their results are on the line. I would also like to add a spam/abuse flag if we could. Would certainly ease the task of Web Master if we could automate spam/abuse reporting.

Other possibilities is weighing people differently. Basically developing a "trust" rating, and that "trust" rating would give a higher weight to their votes. Or to develop clouds, where people are grouped together into a cloud of people who vote similar and then thus presents results based on your cloud. The only problem with this is that I can see it requiring hundreds of votes to start to work. Also as time goes on, our needs/likes/dislikes change and thus our clouds must change. We may also change the way we personally classify ratings. Maybe a simple cloud based solution 1-X where 1 is beginner and x is advanced.

As individuals we tend to standardize our ranking 3 may start out for someone who finds an answer to be "accurate" but later turn to being "Nor Relevant to Me." for awhile then it may suddenly change to be some what


--Sig--
Owner of Proper Programming, LLC a software and website development firm.

Weighting

mradcliffe's picture

Another issue related to this is that not all answers / posts are relevant as time goes by. As we transition from version to version, not just in core, but of major modules, many answers are out of date. There is a way on Documentation pages to reflect this, but I do not think this modifies search queries. Being able to see not only what answers were "useful", but also "out of date" is incredibly helpful.

I am not sure if the five star model fits rather than a up/down or flag-style model.

Would it be helpful to have a

davidhernandez's picture

Would it be helpful to have a system that, over time, decreases the points for a question? If there is little activity, then the question would start sinking further down the list. For example, a really great D5 question, that received a lot of points in its day, would start losing value over time. This would make it sink further down in search results and on lists.

I thnk 5 star rating is not

realityloop's picture

I thnk 5 star rating is not the way to go:
http://youtube-global.blogspot.com/2009/09/five-stars-dominate-ratings.html

Odds are that if an answer isn't a full solution then people will either edit, or add a new answer that is more complete (and will get more votes than the original), therefore simple vote up down should be sufficient.

@BrianGilbert_

Help make Drupal Melbourne meetups more awesome:
http://groups.drupal.org/node/204518

The best way to grow your local commununity is by participating in it!

Clear Organisation

crablouis's picture

I'd like to see a clear organization of support issues, with an easy way to navigate. I love the enthusiasm I see here on groups.drupal.org, but navigation-wise, it's a hodgepodge.

Some quick thoughts on our challenges and goals

laura s's picture

Our challenge for new folks trying to get information/help in the Drupal community is twofold, as I see it:

  1. It's hard for people new to Drupal to find good modules to achieve what they want (and info on how to use them in a site's architecture). It's not that the modules don't exist. With thousands upon thousands of modules contributed, odds are most people are not looking for functionality not already available, or meeting most of the use case. But culling through all those modules is tough. Even those of us who've been using Drupal for years find it challenging to keep up with all the new ideas. This is a problem known across the board, and something where many are working to improve.
  2. It's hard for people new to Drupal to get advice from other members. Here we run into technical and UX limitations:
    • IRC. Every day I make an effort to answer questions in IRC on #drupal, #drupal-support and #drupal-gitsupport, but even if I spend hours helping people it's hardly a drop in the bucket. Questions come in very fast. I do find that at least a third of the questions, though, can be answered by pointing someone to a module or set of modules. The rest can get more detailed, and if you get deeper than a few steps of tutored implementation you're really challenging the limits of a general chatroom. When helpers run out of time, they just go back to what they were doing before (e.g., working their jobs) and seem to disappear, or give what may come off as a terse answer like, "I don't have time, sorry. Look at the documentation," which may leave the asker feeling unheard, unwelcome, unwanted. If you do have the time and inclination to help further, you can move to direct messages, and that 1-on-1 can be invaluable to someone really wanting to learn. But when we have a couple of dozen people in those chatrooms who have the opportunity to split some of their attention from whatever fills their days to peek in and help, just running the numbers you can see that the questions vastly outnumber the answers.
    • Forums. The problem with forums is that there's a lot of duplication. It's hard to find answers to questions already answered before. Solr search has helped, but it's not a panacea. And asking questions on forums is not timely. Answers may come quickly, but more often if they come it's later. Add to this the fact that the forums are quite active and it doesn't take long for questions to roll off of the front page of the forum, and you have what amounts to a format that has plenty of space for getting into details, with threaded comments to allow tangential discussion, but response times that are too sporadic and slow to be useful for the person in the heat of site-building in need of answers.
    • Documentation. Our Documentation team is working hard to revamp the docs. Browsing the docs hierarchy can be confusing. The Documentation team is always working to improve this, but in truth the docs are just so deep you almost need to resort to search to find what you're really looking for. There are also technical challenges here because we have documentation for multiple versions of Drupal all intermixed, sometimes unlabeled. Errors are sometimes corrected inline, but often pointed out in comments. The seasoned Drupal.org user knows to always read the comments on any documentation page, because critical information might lurk there. Efforts to change the comments to a visible issue queue for each documentation page have been discussed to help make the page content canonical, with issues focused on improving the content rather than just adding more information in a discussion underneath. That will help. But even so, docs get people only so far.
    • Issue queues. The problem here in terms of support is that issue queues are just not designed for support. Structurally they are more suited for narrow technical issues. (This has also been a problem noted by Drupal core contributors who are grappling with complex issues that don't easily fit into one string of exchanges in an issue.)

So I see our challenge as needing to come up with a system where:

  • Answers to common questions and problems can be found easily. (Repeat questions waste everyone's time.)
  • Askers who can't find existing answers can ask questions in a system where they can hope for some kind of timely response. (Late-answered or unanswered questions can leave people stuck.)
  • In-depth problems or issues can be pursued as long as people are willing and able to stay on it. (Technical and architectural constraints on the format should not discourage this.)
  • It's easy for askers to ask and for answerers to answer.

I also think many of the ideas proposed here and elsewhere, like easy ways to link to documentation or issues by node id (and have the node title printed out, as we get currently in issues and IRC), would be very beneficial. The same goes for api documentation. (Might be nifty to have a function mentioned in the text to be given an automatic footnote linking to the relevant api.drupal.org page.)

What am I missing?

Laura Scott
PINGV | Strategy • Design • Drupal Development

It is hard to say whether or

davidhernandez's picture

It is hard to say whether or not we can do anything about the timeliness of answers. I'm hoping that if we make a system that is clear and easy to use, it will encourage more experienced users to answer questions.

I really do have concerns about "In-depth problems or issues...". I don't feel most of the Q&A style sites I've seen lend themselves to this kind of use. For example, in stackexchange you just end up with this long list of little comments under each answer. If someone knows of a good setup (besides just a message board), I'd like to know.

Maybe some way for people to

Fidelix's picture

Maybe some way for people to pay the Drupal Association, so their questions appear on the top of the default listing as featured (of course, with some way to differentiate these questions from natural questions).
4 or 5 random featured questions should appear on the top, and as they paid, they can offer a predefined reputation bounty.

Also, exchanging reputation for bounty points would be useful. Just like stackexchange.
People tend to answer questions with bounties very quickly.

What about a field that people and companies could offer money for chosen answers? The actual exchange process could be done between themselves, and s.d.o wouldn't have anything to worry about in this regard. This would require a lot of thinking and study, a lot, but could mean so much for for the community...

Sorry if I'm just throwing everything coming on my mind...
Let me know what the rest of you think.

We are definitely not going

davidhernandez's picture

We are definitely not going to approach the subject of money. That has been discussed a few times in different groups, and opens up its own can of worms. It has be handled in a broader arena first.

Alright. Fair enough. What

Fidelix's picture

Alright. Fair enough. What about the rest?

This should have been the original post :)

yoroy's picture

It's important to have a good outline of the actual problem to solve before talking solutions. Lauras: maybe you can add those last 4 bullets to the original post?

I added those bullets as

laura s's picture

I added those bullets as requested. Thanks! :)

Laura Scott
PINGV | Strategy • Design • Drupal Development

Limitted contrubution Solution Wiki

salientknight's picture

What if there was a "Wiki" like page at the top of all threads marked as "solved" where certain users -- moderators or maybe people with enough karma etc.. can edit the wiki -- basically moving the solution for the specifc request into it and updating it with other highly relevant answers as they come up in discussion. Sort of a "best of" answer block at the top.

I also think many of the

Fidelix's picture

I also think many of the ideas proposed here and elsewhere, like easy ways to link to documentation or issues by node id (and have the node title printed out, as we get currently in issues and IRC), would be very beneficial. The same goes for api documentation. (Might be nifty to have a function mentioned in the text to be given an automatic footnote linking to the relevant api.drupal.org page.)

The freelinking module does just that:
http://drupal.org/project/freelinking

It has support for linking to d.o api pages too, and is completely extensible. I used this module myself on some projects. Very easy and intuitive.

About our challenges:

Answers to common questions and problems can be found easily. (Repeat questions waste everyone's time.)

Well, this is really the work of a well implemented search system with, if possible, faceted searching capabilities. And not the extremely generic apache solr search pages we have on d.o today, but a search system that is really contextual. I'm not saying we should not use apache solr, only that we need to use it with some extra stuff to help users finding what they want.

Things we could implement in the search:
- Sorting of questions based on the participating users aggregated reputation.
This could be useful for people searching for expert questions with expert answers, or even for newbie questions with expert answers.
- Sorting of questions based on quantity of overall upvotes. Useful for users that are just looking for random, good stuff to learn drupal and aggregate valorous knowledge. (I do that myself pretty often).
- Filtering of questions based on answered / non-answered. Useful for users trying to get an answer really quick, or just willing to help others (and himself, with reputation).
- Filtering of questions based on bounty/paid, as suggested here: http://groups.drupal.org/node/136719#comment-506164
- Some way to preview the actual question content. Maybe a tiny button a hover on the question line, that triggers some little ajax-loaded box with a preview of the question. This will surely help people to browse faster and find answers to their problems faster.
- Just like in stackexchange, as the user types his question title and content, we should definitely show him some related questions.

Askers who can't find existing answers can ask questions in a system where they can hope for some kind of timely response. (Late-answered or unanswered questions can leave people stuck.)

Maybe if we show the user some stats on the bottom of the node form. Something like:
- There are 17 users online on support.drupal.org!
- There is a 93% ratio of answered questions!
- Are you still afraid you won't get a quickly answer? Read more about bountied and paid answers! (http://groups.drupal.org/node/136719#comment-506164)

In-depth problems or issues can be pursued as long as people are willing and able to stay on it. (Technical and architectural constraints on the format should not discourage this.)

This should occur naturally, if we have a decent reward and notifications system.

It's easy for askers to ask and for answerers to answer.

Well, to be honest with you, this is mainly a design/UX concern, and it is mandatory on whether this initiative will be a success or not.
The current look of d.o will not do it, IMHO.

dopl

mradcliffe's picture

There has already been some significant progress in adapting dopl into the work flow.

Search

MGParisi's picture

Supposedly this search engine software use what is known as "Machine Learning" which in cases where page rank type systems fail, it would succeed. Machine Learning was what made the famous Watson be able to answer all those questions on Jeopardy. The problem is not the QUALITY of data, its the QUALITY of DATA when and WHERE you want it. Page Rank fails because A) it supports old content, not new content and B) it is not a system that grows.

MSN Searches, including those found on Windows 7 and Vista all used Machine Learning to build better search results and finding data in a fixed dataset (like Windows 7 Help), offers unique opportunity then expanding datasets provide.

http://en.wikipedia.org/wiki/Apache_Hadoop

Now working on the actual code is REALLY something for a Computer Scientist to accomplish as it will be VERY heavy coding and mathematics, way beyond what us IS/IT guys can provide. Personally I don't think even us IS people are specialized enough to handle these situations. This is super cool, super fun, super advanced stuff...

Personalty I find it interesting enough to watch a Nova on, but PERSONALLY it is not what I am interested in pursuing further.


--Sig--
Owner of Proper Programming, LLC a software and website development firm.

Search 2

MGParisi's picture

The problem with a system like this is that "popular" and "high" ranking results will continue to spit out "popular" and "high" ranking results, causing those results to continue to be "Popular" and "High" ranking. What is needed is a system that pairs search terms with search results. The end result is that the less popular but very valuable bits of knowledge needed for very unique tasks wont get the votes. The value of the information is high, but the audience for that information is small.

I don't think your off track, but the issue of search is huge. Even PAGERANK would fail when implemented in a Micro site like Drupal where new information is more valid then old highly referenced information. What I would like to see is data collected based on Search Terms and the Opinions of users on the value of the information resulting from those search terms.

If we looked at that with the search compared to the ranking given and collect data we may see some correlations that are significant enough to make rules. Unfortunately I fear that this will also fail. What is necessary is a system that combines the "Popular" or "Quality" with a higher functioning constantly learning based system. See "Machine Learning", then you might get somewhere:(

I am not even certain "Machine Learning" will work with a data set that is constantly expanding:( Yahoo, Google and MSN are working on these issues, but they are not simple. Microsoft has really made amazing progress when the data set is limited, but with an expanding growth of information, page rank seems to be the best option, though the most controversial or older pages get priority over newer pages.

Another option is to get people to enter the sites they are using when they ask and answer questions. We currently have this information available, just not associated with any users. We would also have Version information of Drupal and of All Modules installed. Each node would have to store this data when the individual first wrote the response or content as version will change over time. Combine THIS data and a Ranking System and you will start to move in the right direction.

Essentially the search engine would compair MY setup and My history with that of the person Searching. The larger the correlation, the Higher the number of "points" my responses would gain. Then take that data and add my overall "Skill Level" and My "Quality of Response" and you would get a more accurate representation of what content from what user would be most valid. Combine this with some Machine Learning logic and we maybe able to then use this information to some success. A 10% success rate on each result would be huge. With 10 or more search results returned the chances that a right answer will be found will grow exponentially. What is even more interesting with this is that we are essentially collecting Meta Data on a Real time Basis. Add to that additional information such as what sites a user has that are being updated regularly and you will find users who are active in current development of the system's...

We can even gather Group Subscription Data and Group Activity data. Its all data we COULD use to get results:) This would be a Drupal.org Tailored Search Engine. If you link this to IRC data and IRC responses you maybe able to make slightly improved result increases!


--Sig--
Owner of Proper Programming, LLC a software and website development firm.

Crossover with Prairie

leisareichelt's picture

hi all, not sure if you're aware of the work we're doing over in the Prairie Initiative group (http://groups.drupal.org/prairie-initiative)
there's definitely some cross over areas that I hope we can work on together...
a couple of things we're working on that I hope can help your initiative (I use that term quite loosely as you can see!) including:

  • redesigning the product pages so that they point to support better (reducing use of issue queue as support, not sure where exactly to point them yet tho!)
  • redesigning Community & Support landing pages on D.O so that they direct ppl to intro to drupal resources and support infrastructure better
  • redesigning profile pages including a way to capture, visualise and acknowledge activity and contribution other than code - so when you're all talking about 'karma' and 'points' I'd like to hope that this is something that we can design that is D.O-wide, or that at least adds to the view that we give of you from your D.O profile, if that makes sense. I'd love to see activity supporting newbies being contribution to Drupal that is able to be seen, measured and valuable.

leisa reichelt - disambiguity.com
@leisa

I was just appreciating the

laura s's picture

I was just appreciating the same thing as you were posting this. There are definitely ways these projects overlap and can feed each other. There's also overlap with the Documentation team's efforts to tie documentation more closely with the issue queues. All of this I think can really help drupal.org become a more useful resource for everyone.

Laura Scott
PINGV | Strategy • Design • Drupal Development

Moderation

giorgio79's picture

I see moderation in the wiki
"Moderation to be done by a team for support.drupal.org."

I believe the stackexchange way of moderation is best, meaning the most active and respected users have mod rights.

Or we can also opt for a community style of moderation a la YouTube. If sufficient users mark a post as spam, it will be hidden.

****Me and Drupal :)****
Clickbank IPN - Sell online or create a membership site with the largest affiliate network!
Review Critical - One of my sites

Yeah, I think we'll have

davidhernandez's picture

Yeah, I think we'll have super users, or volunteers for different areas. As you said, voting will also serve this function. The one problem, which will require moderators, is removing things quickly. Voting is a much slower process.

One of our aims to keep the support system fairly clean from chatter and nonsense. The message boards will still be around, so we want all general discussion to be there, with support.drupal.org serving as just Q&A support.

Might need more than one tool

ccdechesney's picture

Rather than try to find one tool to accomplish everything, it might be better to use different tools to implement various parts. To reiterate the goals:

  • Answers to common questions and problems can be found easily. (Repeat questions waste everyone's time.)
    • Askers who can't find existing answers can ask questions in a system where they can hope for some kind of timely response. (Late-answered or unanswered questions can leave people stuck.)
    • In-depth problems or issues can be pursued as long as people are willing and able to stay on it. (Technical and architectural constraints on the format should not discourage this.)
    • It's easy for askers to ask and for answerers to answer.

The top 5% of most-asked questions could be handled in a fairly static FAQ format with moderators to keep it updated by version.

If you don't find the answer there, go to a more dynamic area and search recent questions. Unanswered questions could be voted higher and you could subscribe so when it is answered you'll be notified. Answerers could pick the highest questions to answer first.

Something requiring more in-depth discussion could be escalated further to an area fostering more long-term discussion instead of Q-A. Something is left in the dynamic Q-A area that points to the in-depth area.

As a user I would not mind using this escalation path if each area is similarly structured and similarly searchable. Separating things might lead to a better tool for each part.

Part of making things easy to ask/answer is a structure (taxonomy) that is precise enough but not too confining. Questions should be categorized by: (installation, use, theming, coding) (error, unsuccessful, unexpected result) (core, moduleName, themeName) (applicable version numbers) - these are starting suggestions. So right away it would be obvious that my question involves [using Views version x I get an error] or [coding CCK version x I'm unsuccessful]. Everybody uses the same terms and more complete info is provided by the asker.

A gray area for support is the advice sort of question. Like I'm trying to do x y and z what module or combination of modules would work for that? Is that a support question or not? IMO it is more of an advice question and should not be mixed with actual support questions. Or what about feature suggestions? As a developer I wouldn't want that in my issue queue and as a suggester the issue queue is an awkward place to put it. It definitely deserves a place that allows discussion, but it's not strictly support.

And then there are documentation questions ranging from "I'm not sure if module ZZZ does this exactly or not?" to "The docs say this but when I did that this happened instead." Sometimes what seems like a bug is really a doc error. So docs could be added to the (installation...) vocab but then is (error...) valid? The same (core...) and (version...) vocabs would still apply so maybe the 2nd vocab I suggested should be (error, unsuccessful, unexpected result, missing, confusing). So if 10 users say the docs for a particular module are missing an explanation of a particular thing, it stands a better chance of being explained. Hmm, that could actually apply to modules as well - if 10 users told a module developer that using the term "sector" for something was confusing they might find a better term.

Stackexchange works great. I

entendu's picture

Stackexchange works great. I too was annoyed at the lack of things you can do as a new user, but the reputation barrier is very very low.

Why reinvent the wheel?

Reputation Barrier

mermentau's picture

Annoyed here too, and to the point of not going back. I don't have time to deal with all their little hurdles for new people. It seems a shame for all that energy to be going to a place that is not under the total control of d.o. They could pull the plug whenever they want. We should do support in house, but done right and not with the clunky system we have now.

StackExchange is AWESOME,

Fidelix's picture

StackExchange is AWESOME, really.

But support.drupal.org is necessary if we want control enough, centralization enough.

Read this to know what I'm talking about:
http://meta.drupal.stackexchange.com/questions/151/can-we-add-drupal-org...

This is unacceptable. We cannot count on third parties to manage our support platform.

But really, what is the probability of support.drupal.org getting actually ready and live?
No offenses, but even a "Subscribe" button for project issues, which is being asked for MANY years by the entire community did not see the light. IMO, d.o evolves too slowly, and adapts too slowly.

This is an architecture that would be much harder to implement, so unfortunately, I don't think we could end counting on an internal support platform for this.
I would happily dedicate 3 hours of my business days for development of this platform, but what are the chances that I'll actually get this opportunity?

I'll keep using stackexchange, and I hope everyone else does, if this is the only way where we could actually have a decent and incentivating (which is the MAIN KEY) support platform.

"...but what are the chances

davidhernandez's picture

"...but what are the chances that I'll actually get this opportunity?"

I'm not sure what this means? Everyone is free to volunteer for any project, and all volunteers are happily accepted. Are you waiting for someone to knock on your door and sign you up?

So, you mean anyone can start

Fidelix's picture

So, you mean anyone can start working on the Drupal infrastructure any time they want? I don't think so.

If that is true, I WILL start contributing. Really.

"So, you mean anyone can

davidhernandez's picture

"So, you mean anyone can start working on the Drupal infrastructure any time they want?"

Everyone can volunteer for a project/initiative, with only a few exceptions. (Obviously, not everyone has admin access to drupal.org, just like not everyone has commit access to projects or drupal core.) The whole point of this group is to work on the support/forum problem. If you aren't already, and are interested in what this group is trying to do, make sure you sign up. Any time we work on something we post it in http://groups.drupal.org/support-infrastructure, so everyone sees it. Those that do the work are the ones that answer the call. 43 people are currently signed up as members of the group, but the number that have done any "work" is small, as is the norm. One of the reasons things take so long to get implemented is that it is primarily a volunteer effort, and there are comparably few volunteers. If you have the hours to spare, then please volunteer.

You might also be interested in Prairie (http://groups.drupal.org/prairie-initiative) and other initiatives (http://drupal.org/community-initiatives).

I'm mainly an

Fidelix's picture

I'm mainly an architect/coder.
I would love to help with my spare hours, but I believe this line of work would unfortunately require more privileges.

Anyway, I'll help with what I can with ideas and thoughts here, and I will follow how things go by. Thank you for your attention.

http://drupal.org/project/iss

yoroy's picture

http://drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&participant=&status[]=Open&issue_tags_op=or&issue_tags=drupal.org+redesign has open issues regarding the drupal.org redesign. Also: we offer development environments on our server to get you started working on Drupal.org quickly. See http://drupal.org/node/1006562

.

mradcliffe's picture

Is there a reason you did not link the project page?

Thank you. Awesomingly(?)

Fidelix's picture

Thank you. Awesomingly(?) interesting, I can really help there!

No reason. It used to be

davidhernandez's picture

No reason. It used to be posted somewhere, right on the front of the group. Maybe just my imagination.

Just for

Fidelix's picture

Just for reference:
http://www.drupalask.com/

I'm happy to have found my

jerrac's picture

I'm happy to have found my way to this group via http://drupal-association.ideascale.com/a/dtd/Improve-Drupal.org-s-suppo... Getting support on d.o has always been one of my least favorite things. So I'm glad to find the discussion area for improving it.

On the initial wiki page (http://groups.drupal.org/node/133494) there is a link to http://support.redesign.devdrupal.org/ But there is nothing on that server that I can see. Has any progress been made on building a Q and A site based on Drupal? Other than the Stack Exchange site.

Some ideas for how things could be implemented (a few already posted by others above):

  • The front page of support.drupal.org is the front page of the QA site.
  • Navigation elements on the front page would lead to IRC, general discussion areas, FAQs, Docs, etc.
  • Each project would have a link to the QA site that filters all questions based on the projects tag.
  • When entering a support ticket in the issue queues, the user would be automatically redirected to entering a QA site post.
  • +1 for easy/auto linking to issues, docs, api, QA questions, etc across all of d.o.
  • Make it easy to convert answers into docs. If a user asks "How do I do x with this module?" and someone replies with a really good tutorial, it should be easy to add that answer to the docs.
  • Allow questions to be turned into bugs on projects issue queues.
  • On the issue queues, allow feature requests to be voted on.
  • On the issue queues, let users vote on how important (minor, normal, major, critical) getting a bug fixed is to them. After all, what a user considers critical is not necessarily what a maintainer considers critical. This voting would let maintainers know how important something is to some (more than just the person posting the issue) of their users. How they use that information would be up to them.
  • Chatting
    Live chatting is a really good support structure for many people, especially newbies who are lost. If I had chatted with a live person when I was first learning how to get support on d.o, I likely would not have wasted as much time as I did in the forums. Unfortunately, the only chat available is IRC. And IRC is not a very user friendly system for those who don't know how to use it. I'm a web developer and systems administrator, and I find it intimidating enough that I've avoided learning how to use it.

    That said, IRC is a good tool to know how to use. So I would like to see the visibility of IRC increased. Ideally a tab/link on the main support.drupal.org navigation that opens a web interface (users shouldn't have to install an IRC client) to all the IRC channels. I'd also like to see documentation, or something, that helps IRC newbies get started. Maybe just link to a really good tutorial somewhere.

    In the future, adding a more support like chat system would be good. I've seen some pretty good ones on some companies tech support sites. I'd give an example, but I can't remember specifically what sites... :( Anyway, the basic interaction would be something like:

  • User clicks "Chat"
  • User selects what area/module/project/channel/whatever they want to chat about.
  • User enters their initial question. Or User just chooses to participate in the chat room.
  • If the user enters a question, the system automatically searches d.o for the answer. Then presents the best links to the user.
  • If none of the links work, the question is subitted.
  • Each question would be submitted to the general chat room, and would be given it's own private chat room.
  • Then who ever wants to answer the question just joins the private chat, and answers it.
  • And there's a bunch of other stuff I can think of that might improve the system, but this is long enough as it is.
  • Support Infrastructure

    Group organizers

    Group notifications

    This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: