Web 2.0 プログラミングの思考: 16 のルール
原文: Thinking in Web 2.0: Sixteen Ways
著者: Dion Hinchcliffe
1. 始める前に、簡単な目標を設定します。 Web 2.0 アプリケーションの作成者でもユーザーでも、目標を明確に設定してください。 「ブックマークを保存する必要がある」や「編集可能で共有可能なページの作成を手伝う」などの目標は、ニーズを最も基本的なレベルに保ちます。多くの Web 2.0 アプリケーションの最初の魅力は、不必要な複雑さを避けて隠すシンプルさにあります。作成者の視点から見ると、ほとんどコンテンツのない Google のホームページと、del.icio.us のシンプルな行が想像できます。エンドユーザーの観点から見ると、これと最も同義なものは、Diggdot.us が提供する初期化ページです。さらに機能を追加することは可能ですが、最初の機能を正しく追加する必要があります。 1 つの目標を達成するには、一度に 1 つの機能のみに取り組んでください。これは非常に単純に聞こえますが、集中力が高まり、私の言いたいことがわかるでしょう。
2. リンクは最も基本的なアイデアです。これが、私たちが Web と呼ぶ理由の 1 つです。リンクは、Web 内のさまざまなエンティティを接続する最も基本的な要素です。あなたの情報、あなたの人間関係、あなたのナビゲーション、さらには URL として書き込むことができるあらゆるもの。リンクが従うべきルールは次のとおりです (実際、厳密に従う必要はありません):
1. Web 上のあらゆるものは、URI または URL によって接続できます。
2. すべてのリンクを元のソースとして保存すると、いつでも、どこでも、誰とでも共有できます。
3. 第 2 条の前提条件は、リンクは常に永続的である必要があり、理由なく変更または削除されないことです。
4. リンクは人間が判読可能で、安定しており、一目瞭然である必要があります。
3. データは作成者のものである必要があります。はい、聞いてください。ユーザーが自由に処分できるようにこの権限を明示的に放棄しない限り、ユーザーが作成、投稿、または共有したものはすべてそのユーザーのものです。ユーザーが Web に投稿する情報は、ユーザーが希望すればいつでも編集、削除、共有できないようにする必要があります。これには、記録、ログ、閲覧履歴、Web サイト訪問情報、または追跡可能な情報などの間接データも含まれます。すべての Web サイトは、どの情報がユーザーによって作成されたのかを明確かつ簡潔に示し、ユーザーがその情報の作成を停止したり、削除したりする方法を提供する必要があります。
4. データが第一であり、エクスペリエンスと機能は二の次です。テキスト、画像、音声、ビデオのいずれであっても、Web は最終的にそれをデータに解析します。つまり、データがなければコンテンツを提示することはできません。このデータはすべて、簡単に見つけられる URL 経由で検索されます (項目 2 を参照)。これを別の見方で見ると、最近は動詞への移行が見られますが、Web は最終的には名詞が先で動詞が二番目です。名詞の例を見てみましょう: カレンダーのエントリ、家族の写真、株価などです。動詞の例をいくつか示します。デートをする、写真を共有する、株を買う。
5. すべてを積極的に共有する準備をしてください。あなたが持っているすべてのデータ、あなたが提供するすべてのサービスを、できる限りすべて共有してください。本来の意図に従わない使用を奨励し、投稿を奨励し、共有する必要があるコンテンツを非公開に保つことを要求しないでください。共有と発見の後は、使いやすいブラウジングを提供することが明らかに必要でした。理由: そうは言っても、他の人が共有することで大きな利益が得られます。注: ここでは、著作権法に違反するライセンスはありません。共有しないことに同意しているため、焼き付けた DVD や商業的に著作権で保護された音楽を共有することはできません。ただし、完全にオープンなメディア コンテンツを発見して共有することはできます。ちょっとした提案として、クリエイティブ コモンズ ライセンスについて学ぶことができます
6. Web はプラットフォームです。もちろん、他にも多くのプラットフォーム (Windows、Linux、Mac) がありますが、それらはもはや焦点ではありません。つまり、Web は切り離せないプラットフォームであり、途切れることのないプラットフォームであり、さまざまな方法で拡張できるプラットフォームです。 Web 上で提供するデータとサービスは Web の一部となり、最終的には Web プラットフォームのどこかで役割を果たすことになります。自分の役割を果たし、自分の後に続く人たちの世話をしましょう。
7.「ステップ」を理解し、信じる。今日の Web はますます大きくなり、世界のほぼすべての国に広がり、すでに 10 億人のユーザーがいます。私が言いたいのは、ユーザーがさまざまな場所にいるのと同じように、Web のさまざまなコンポーネントは微妙に異なり、異なっているということです。たとえば、Web のデザイン部分では、速度、信頼性、再利用性、統合性よりも使いやすさが常に優先されます。ユーザーにも同じエクスペリエンスを提供する必要があります。忠実なユーザーはすぐに高速化などを期待するプロのユーザーになるだろうということは、ドキュメントの中で何度も強調されてきました。一歩下がって彼らをサポートしてください。同様に、ご想像のとおり、はしごの最下位に到達するユーザーは非常にたくさんいます。彼らはあなたの言語を話せないかもしれませんし、あなたの文化に精通していないかもしれませんし、どのようにしてここに来たのかさえ知らないかもしれません。したがって、彼らにそれを明確にする必要があります。
8. すべて編集可能です。それとももっと上手に織ったほうがいいのかもしれません。確認すべきことは、これは書き込み可能な Web であるため、編集できないものはほとんどなく、残りは編集できるということです。これは、元のコンテンツが失われるという意味ではなく、通常、ユーザーがコンテンツに簡単にコメントできること、またはコメントがそこで見つかることを意味すると理解されています。これをうまく適用すると、ユーザーは思っている以上のことを行うことができます (コンテンツをつなぎ合わせたり、独自のコンテンツを作成するために生のコンテンツを提供したりするなど)。
9. ウェブ上のアイデンティティは神聖なものです。残念ながら、これはプライバシーがさらに確保されるという意味ではありません(これは完全に前世紀の考えです)。ただし本人確認は必要で、メールアドレスだけで本人確認ができるサービスはありがたいはずだ。これは、ユーザーを大切にしている限り、ユーザーのプライバシーのセキュリティを確保する必要があることを意味します。必要に応じて、世界のどこかでユーザーのために立ち上がり、地方自治体に異議を唱えなければなりません。それをしない場合は、実際に何が起こっているのかをユーザーに伝える必要があります。一方、アイデンティティが必要な場合は、それを隠蔽しようとしないでください。そうしないと、いつか私たちは Web 上のプライバシーの最後の痕跡を放棄することになります。
10. 一般的な標準を理解して使用します。消費者やクリエイターの観点から見ると、データはさまざまな形式で誰とでも交換されることになります。同時に、そのようなデータは標準の改善と採用を促進します。これは通常、RSS、OPML、XHTML、Simple XML、JSON などの単純な標準の人気を意味し、SOAP、XSD は避けられます。RDF や ATOM も同様で、これらを使用すると心が痛みます。お気に入りの標準に投票してサポートしてください。
11. 意図的でない使用のルールに従ってください。非常に興味深いデータやサービスを広く使用されている形式で公開して共有すると、当然のことを得ることができ、他の人があなたの Web プラットフォーム上に構築することになります。他の人からもっと多くのことを得るかもしれないので、これに備えた方が良いです。ポッドキャスティング サービスが、Slashdot や del.icio.us に取り上げられたために人気が落ちてしまうのを何度見たかわかりません。知っておくべきことは次のとおりです。Web には膨大な量のコンテンツが存在するため、コンテンツが本当に興味深いものであれば、そのほんの一部でも驚くほどの量のトラフィックが発生します。このアプローチは推奨されており、準備ができている限り非常に価値があります。
12. データとサービスを細分化します。大規模な統合データは管理されていないダウンロードとバッチ操作にのみ適していることを、私たちはずっと前に理解していたはずです。データを自己記述的な URL に分割し、サービスに対しても同じことを行います。一方で、巨大で複雑なクリスマス ツリーのようなデータ構造やサービスを作成する必要はありません。シンプルに、とてもシンプルにしてください。これらの分離された断片を簡単に再編成して発見できるようにしましょう。
13. ユーザーが個別にメリットを享受できるデータとサービスを提供する。この種の社会的関与への依存が高まることにはリスクがあり、ユーザーが直接利益を得られない限り、時間、熱意、情報を提供するわずかなインセンティブをユーザーに与える必要があります。ソーシャルシェアのメリットは個人の行動よりもはるかに大きく、ユーザーの個人的なモチベーションを刺激できなければ、このギフトを享受することはできません。
14. ユーザーが情報を整理およびフィルターできるようにします。必ずしも必須ではありませんが、非常に重要です。データをタイムリーに自分で処理することは決してできないため、ユーザーが独自の方法でデータにラベルを付けて整理できるようにします。ユーザーは、自分が最も理解できる方法で処理および構築します。 Web サービスがユーザーの希望通りに動作することを確認してください。これが、タグ付けとフォークソノミーがこれほど成功している大きな要因です。
15. 豊かなユーザーエクスペリエンスを提供します。 Web は常にネイティブ アプリケーションと激しい競争を繰り広げてきました。なぜ?なぜなら、ローカルプログラムは依然として改善され、高速に感じられるからです。しかし、これは長くは続きません(5年か15年後には、この種の競争は存在しなくなるでしょう)。はい、私はリッチ インターネット アプリケーション、Ajax、そしてそれらの素晴らしい対話型アプリケーションについて話しています。私の言っている意味がお分かりいただけると思いますが、これらは Web を真の「プラットフォームレス」なプラットフォームにします。
16. 迅速な改善とフィードバックを信じてサポートします。これは多くの場合、より迅速に行動することを意味しますが、軽量のツールやテクニックを使用し、逆効果となる苦渋の決断 (ミックスインを通じて実現できるものの代わりにレイヤーでラップされた Ajax フレームワークを使用する、または C++ ですべてをビルドするなど) を行わないことも意味します。 、実際にはRubyを使用する方が良いでしょう)。これは、エラー レポートの処理、バグの修正、新しいバージョンのリリースを非常に迅速に行う方法が必要であることも意味します。ユーザーの視点から見ると、見つけた問題や頻繁に苦情が寄せられる領域を報告することは、バグですらありません。
もちろん、Web 2.0 は非常に幅広く奥深いトピックであり、そのすべてのハイライトと特徴をリストすることは誰にもできません。ご興味がございましたら、私が言及しなかった部分をご記入ください。これが Web 2.0 の参加型の性質だと思います。
原著者のタイトルは、Bruce Eckel の 2 冊のベストセラー本の名前、「Thinking in C++」と「Thinking in Java」、「C++ Programming Thoughts」と「Java Programming Thoughts」から引用しています。その理由を説明しましょう。このトピックを翻訳します:)
indigo 翻訳と編集