ITエンジニア向けQ&Aサイト「QA@IT」をローンチしました!
こんにちは、@IT編集部の西村賢です。本日、2012年5月29日にITエンジニア向けの質問・回答コミュニティサイト、「QA@IT」をローンチしました! あるようでなかった、日本語による本格的な技術系のQ&Aサイトです(プレスリリース)。
今さらQ&Aなの?
今さらQ&Aサイトなの? と思う人もいるかもしれませんが、QA@ITは以下のような特徴があり、先行する多くのQ&Aサイトとは異なります。
- ITに特化している
- Wikipediaのように他の利用者の質問や回答を編集できる
- 質問や回答に対してプラス、マイナスの両方の評価ができる
- より多くの利用者が評価した回答が上位に表示される
- コミュニティに認められたユーザーは、徐々に権限が増える
- 回答と、回答以外のやり取り(質問への質問など)が区別できる
以下、順に説明いたしますが、その前にヒトコト。
分かる人には一瞬で分かると思いますが、QA@ITはStackOverflow.comの日本語版とでも言うべきサービスとして開発をスタートさせました。QA@ITの開発チームはStackOverflowという偉大な先行者を研究しながら開発しています。
ITに特化している
さて、QA@ITの特徴についてです。
まず、@ITなので当然なのですが、ITエンジニアの問題解決に特化しています。ソースコードのハイライト表示やMarkdown記法の採用などエンジニアにとっての使いやすさを重視しています。コード表示が見やすくなるように表示幅もだいぶ頑張って確保しています。ログインもGitHub、Twitter、Facebookのアカウントがあれば可能です。
Q&Aサイトの多くはジャンルを絞らずに幅広く利用者を集めています。われわれはノンジャンルとして「何でも聞ける」ことよりも、プロの専門家が見て有意義なコンテンツが集まることのほうがはるかに重要で価値があることだと考えています。専門家が参加したいと思う理由は、さまざまでしょうが、参加したくないと思う理由はいくつかハッキリしています。全体のレベルが低いこと、ノイズが多いことには我慢ならない人が多いのではないでしょうか。ですから、QA@ITは利用者層としてITエンジニアやソフトウェア・エンジニアリングに熱意を持って取り組んでいる人を想定していて、そこに一定の基準を作りたいと考えています。例えば、QA@ITは「学校のプログラミングの課題が分からないので教えてください」という質問をする場所ではありません。プログラミングを学習する上での疑問を聞くのは良いことですが、そのためにまず自分で十分に自習なり調査なりしてください、ということです。
QA@ITの存在意義は2つあります。
1つは質問者の目の前の問題が解決することです。そしてもう1つは、後から検索でその質問・回答にたどり着いたエンジニアの問題や疑問の解決速度が上がることです。特に後者が重要だと考えています。この目的のために、さまざまな機能があると言っても良いぐらいです。質問ガイドラインを設けて具体例を掲載しているのも、同じ理由からです。
Wikipediaのように他の利用者の質問や回答を編集できる
QA@ITでは、自分の投稿した質問や回答は特に制限なく何度でも編集できます。それに加えて、十分に権限が上がれば、他の利用者の質問や回答も編集できるようになります。
各種権限はレピュテーションという数値に応じて自動で付与されます。レピュテーションとは、他の利用者にどれだけ評価されたかによって増減する数値で、この辺の関連性はFAQにまとめてあります。レピュテーションは同じ技術領域を専門とする人々のコミュニティに、どれだけ評価されているかを示す指標でもあります。
他の利用者が投稿した質問や回答が編集できることには、以下のメリットがあります。
- 質問が不明瞭だったり、情報に不足があっても補足して改善できる
- 間違った情報の定着を防げる
- 古くなった情報を書き換えられる
- 追加情報があれば後から追記できる
今のところ、編集差分は表示できていないのですが、編集履歴自体は保存しているので、なるべく早い段階で編集差分が表示できるようにしたいと考えています。誰が何を書き足したとか、削除したが分かるようになります。今はWikipedia同様に、権限さえあれば誰でも本文編集やタグの追加・削除ができますが、編集の承認ワークフローを実現できればと考えています。
質問や回答に対してプラス、マイナスの両方の評価ができる
良い質問や回答にはプラスの評価を与えるができます。回答はデフォルトでは評価順に並びますから、検索などでたどり着いた人は、どの回答が一番有効かが一目で分かります。QA@ITの存在意義の1つである、検索でたどり着いた人の問題解決の速度を上げたいというのが狙いです。掲示板形式だと、どれが正解、もしくは有効か、パッと見では分かりません。質問スレッドの2ページ目、3ページ目と議論を追ってみても、結局どこにも答えはなかった、ということもよくある話です。
質問者自身が考える最も役立つ回答は「accept」することができて、それは緑色のチェックマークで表示されます。ただ、質問者が考える良い回答よりも、より多くのエンジニアが考える良い回答のほうが表示の優先順位は高くあるべきだと考えて、そのようにしています。
今回のQA@ITでは「いいね」に相当する+1だけではなく、-1のボタンも付けています。これは何も「顔を洗って出なおしてこい(エラーメッセージぐらい貼れよ。フレームワークやSDKのバージョンぐらい書けよ)」と言い募るためにあるのではありません。もし質問が拙いものであったなら、何をどう書き直せば良いかを、相手を非難したりすることなく指摘し、オリジナルの投稿者がより適切な質問に書き直すよう促すための仕組みとして入れてあります。「良い質問スタイル」を促すような、そういうやり取りができる文化を定着させられればと願っています。そのため、-1を押すときにはキチンと相手に-1の理由と改善案をノートに残すことで伝えてくださいということをお願いしています。
このあたりは、機能と運用ルールの両輪で良いコミュニティが育てばと願っています。例えば、今は-1の取り消しができませんが、取り消せるべきではないのかということで、近々実装する予定です。こうした機能の1つ1つがコミュニティのあり方を規定するのだ、というのがStackOverflowの創始者であるJoel SpolskyやJeff Atwoodらの洞察で、私も非常に共感しています。
コミュニティに認められたユーザーは、徐々に権限が増える
良い質問や回答して、他の利用者が+1すると「レピュテーション」が増えます。-1の評価を受けるとレピュテーションは減ります。
レピュテーションが溜まれば、質問や回答の編集が可能になります。登録したばかりの状態ではレピュテーションはゼロで、質問や回答の評価もできません。今のところ、レピュテーションと権限の関係は以下のようになっています。
- 質問に+1する:15
- 回答に+1する:15
- 質問にノートを付ける:50
- 回答にノートを付ける:50
- 質問を編集する:300
- 回答を編集する:300
- 質問を-1する:125
- 回答を-1する:125
回答と、回答以外のやり取り(質問への質問など)が区別できる
些細なことのようですが、質問と回答以外に「ノート」という投稿スタイルがあります。ノートは質問や回答にぶら下がるものです。補足情報や質問(質問への質問など)、感謝の言葉などはノートで付けるというルールにしています。これは回答投稿は回答にのみ限定することで、そうではないコミュニケーション系のメッセージによるノイズを最小限に抑えるためです。
ベストな質問・回答のペアを残したい、そのことでITエンジニアの生産性を上げたい、というのがQA@ITの狙いです。ですから、質問・回答のセットと直接関係のない情報は目立たなくしたいのです。追記、修正がある場合でもノートのやり取りを通して行って投稿を編集していけば、後から検索してやってくる人々は、いちいちやり取りの経緯を追わなくても、編集済みの質問・回答だけを見ることができますよね。カノニカルなQ&A集を作って、育てていける場所になればと願っています。
検索結果から安心してクリックしてもらえるサイトに
ベストな質問・回答のペアを蓄積していければ、それは非常に価値のあるオンラインリソースになると思います。今の時代、特にオープンソース系のスタックはそうですが、答えはネット上のどこかにあるものです。公式ドキュメンや技術系ブログ、メーリングリストのアーカイブ、あるいはソースコードの中に書いてあります。QA@ITは、そうしたリソースに対する分かりやすいポインタ群となれるのではないかというふうにも考えています。公式ドキュメントよりも、QAほうが粒度が小さくてズバリのカタチで書いてあって話が早いし、用例も書いてある、と。
例えば、「gitでclone後にリモートリポジトリを切り替えたい」というのは、答えがmanに書いてある話です。でも、どのmanを見るべきか分からないケースや、そもそもの概念や機能の存在を知らないケースもあるでしょう。何よりネットの検索で済むなら話が早いと思うのです。すでに、StackOverflow.comはそういうサイトになっています。検索結果にstackoverflowの文字を認めただけで、私などは「ああ、問題は解決した」とすら思うことがあります。英語圏には、そうした安心してクリックできるサイトがあります。日本語圏にもそういう技術系QAサイトがあればいいのに、というのを実現しようとしているのがQA@ITです。
QA@ITはオープンしたばかりで、まだこれから機能的にも進化させたいと考えています。使いづらい点や、追加すべき機能などがあれば、お知らせいただければと思います。よろしくお願いいたします!