ソフトウェア

世界中で利用される「D3.js」の開発者が10年間で学んだこととは?


ニューヨーク・タイムズOpenStreetMapなど、さまざまなウェブサイトで利用されているデータ可視化ライブラリが「D3.js」です。そんなD3.jsの開発10周年を記念して、開発者のマイク・ボストック氏が「D3.jsを10年間開発する中で学んだこと」を公開しています。

10 Years of Open-Source Visualization / Mike Bostock / Observable
https://observablehq.com/@mbostock/10-years-of-open-source-visualization

◆「使用例」がツールの普及に役立つ
ボストック氏によると、新たに開発されたツールは、開発者以外の人々にとっては異質なモノであるとのこと。そのため、ツールを普及させるには「ドキュメント」「チュートリアル」「使用例」などを準備する必要があります。

ボストック氏は「開発者である私でさえ、D3.jsの使用例を確認することがよくあります」と述べ、「使用例」の有効性を強調しています。一方で、「使用例は特定の状況におけるツールの使い方を示しているだけで、ツールが実際に使われる状況を想定してない場合があります」と、「使用例」に頼りすぎる危険性も指摘しています。

◆コミュニティとの交流はツールの改善に役立つ
ボストック氏によると、Stack OvewflowやGitHub、Twitter、Slackなどのサービスでユーザーと交流すると、「ツールの重大な欠陥を、驚くほど迅速に発見できる」とのこと。また、ユーザーからの質問から「ドキュメント」や「使用例」の欠陥が明らかになることもあり、その欠陥を修正することで、他のユーザーが同様の問題に直面しないようにすることもできます。

しかし、ボストック氏は「無給のメンテナーがあらゆる問題に対して即座に応じなければならない」というムードがGitHubなどのプラットフォームに漂っていることを問題視しています。「全ての人を助けることを目標にする必要はありません。ユーザーからのフィードバックに対応しようとして気分が悪くなったり、建設的な意見でないと感じたりした場合は、対応を中断してもかまいません」と述べ、余裕をもってツールの開発に取り組むことを推奨しています。


◆90%のバグは10%のコードによって引き起こされる
ボストック氏は「一部のコードが、他のコードよりもはるかに多くのバグを引き起こすことがあります」と述べています。また、多くのバグを引き起こされる原因はコードの品質ではなく、「開発者が実装する機能を正確に把握できていないことにある」とボストック氏は主張しています。

ボストック氏はD3.jsの中でもバグを起こしやすい機能として「d3-zoom」「d3-drag」「d3-brush」といった描画処理に関わる機能を挙げ、「これらの機能は互いに影響し合います。さらに、ユーザーがクリック・ダブルクリック・ドラッグといった多様な操作を行うため、これらの機能の実行結果を正確に把握することは困難です」と指摘。バグの発生をゼロにすることは困難なため、問題解決の優先順位を迅速に決定することが重要とのことです。

◆インターネットは気分を害す
ボストック氏は、D3.jsに関する不平不満をインターネット上で目にする度に、気分が悪くなるとのこと。「ツールに関する不平不満を言う前に、その言葉が開発者に与える影響を考えてください」「できれば、ドキュメントの改善やプルリクエストによって、ツールの改善に貢献してください。それがオープンソースの美しさです」と述べ、不平不満を感じた場合は、ツールの開発に協力することを求めています。

また、インターネット上の反応に感情が左右されることを防ぐために、「検証」「フィードバック」「サポート」を提供する少数の人員で構成されたコミュニティを構築する必要があると主張。ボストック氏が開発したウェブサービス「Observable」が「コミュニティが協力して問題を解決するための仮想スペース」として利用されることに期待を寄せています。


◆楽しい時間を過ごす
ボストック氏は、「人生や仕事の中で、どの部分を楽しんでいるかを振り返る」ことに多くの時間を費やしているとのこと。「自らがどんなことを楽しんでいるか把握することで、忍耐強くなり、目標の達成に近づきます」とボストック氏は主張しています。

この記事のタイトルとURLをコピーする

・関連記事
活動的なコミュニティをゼロから構築するために重要なポイントとは? - GIGAZINE

ウェブサービスで最初の1000人のユーザーを獲得するために行うべき8つのこと - GIGAZINE

リーダーとして有能になるための7つのヒントをOracleのヴァイス・プレジデントが語る - GIGAZINE

優秀な社員を失ってしまう8つの失敗とは? - GIGAZINE

スタートアップのアイデアに見切りをつける判断基準とは? - GIGAZINE

in ソフトウェア, Posted by log1o_hf

You can read the machine translated English article here.