シロクマ本で有名な Peter Morville 氏が次回作の執筆開始
記事紹介: Linear の実践する品質の水曜日 Quality Wednesdays
Linear のブログが良すぎるので紹介していきたい気持ちが溢れたので、社内で毎週水曜日に行なっている品質改善に集中する水曜日という取り組みについて紹介。動画が本当に秀逸なのでぜひ見て欲しい
最初のきっかけは創業者のひとり Tuomas Artman 氏がホバー時の文字色が一箇所だけ変わっていない(最初の動画)というのに気づいたが、それをメンバーに共有したところ誰も問題に気づけなかったという体験。そのあと、メンバーにアンケートをしたところそれぞれが他の人が気づかない細かい問題に気づいていたというのが発覚。
品質を歯磨きのような習慣にしたいと思った Tuomas 氏は毎週水曜日のスタンドアップミーティングで品質の修正を共有するように指示し、それは今でも続いているとのこと。
内容的には「アイコンホバー時のサイズが 1px 大きい( 2, 3番目の動画)」や「編集エリアの高さが不用意に変わる( 4, 5番目の動画)」などのように、 1時間程度の修正で完了するものばかり。これを続けた結果 2年間で 1000を超える改善が行われ、ひとつひとつは小さくともすべてを合わせることで、プロダクトの利用体験を劇的に変えたと Tuomas 氏は語っている。
品質にここまで重きを置けるのもすごい決断だし、それが実際にプロダクトの強みに繋がっているのもすごい。そして、これを繰り返すことで、メンバー全員の品質に対する目が進化しているであろうことも容易に想像できる。
抄訳:プロダクトデザインにおける動きのデザイン
内容がかなり具体的 & 実践的で自分の普段のアプローチと近かったので紹介。細かいニュアンスはリンク先を確認して欲しい(簡潔なので英語不得意でも読みやすい)
メモ:子どもたちは自由に遊びたがっている
最近の子どもたちはネットばかり見ているみたいなことが言われるが、本当はむしろ自由に遊びたがっていて、それを阻害しているのは親が心配しすぎていて過保護にしているからではないか、というアメリカの ハリス・ポール社 による調査レポート。
危険そうに思えるアメリカでさえ、直感に反して、子どもが誘拐されるには 75000年無監視で遊ばせるくらい安全なのに、監視なく遊ぶことは許されておらず、代替としてオンラインで遊んでいるが実際には直接会って遊ぶことを求めている、という内容。
正直オンラインの方が危険度が高い気がするし、自分が子どもだった時に体験したひとりや友達との冒険とか考えると、きちんと自由を与えてあげることは本当に重要なのかもしれない。
心配にする気持ちはよく分かるし、じゃあ手放しに放っておけるか、を考えると自信は持てないけど、きちんと地域とのつながりとか子ども自身のコミュニケーション能力を高めて自由さを与えてあげられるようになりたいな、という気持ちになった。
ちょうどネットで見かけた本が面白そうだったのでこの流れで読んでみよう。
記事紹介:AI を使ったアクセシビリティ向上
Shopify のアクセシビリティエンジニアによる AI 活用事例の記事が色々と実務に活用するできそうだったので、気になったポイントを抜粋してみる。ニュアンスなども重要なので気になったら原文読んでもらいたい
記事は「レポーティング」「テストの実行」「チェック・監査」「コーディングサポート」の 4つの項目で活用を提案している。一般的な AI 活用とそこまで異なる内容はないものの、視点を変えると別の角度から新しい活用方法や応用の着眼点が得られそう
レポーティング( Streamlining issue reporting )
チケットの発行サポート的な内容で内容自体は普通の開発タスクを AI に切ってもらう感じだが、 WCAG の対応項目を挙げてもらうのは便利そう。本職でないとすぐに対応する WCAG を思い出せるわけではないので、怪しいコードを見つけたら「この部分のアクセシビリティに問題があるか確認して、対応する WCAG の項目と達成基準を教えて」みたいなプロンプトを書くとこれまであいまいなまま進めてたり、自信がないから対応していなかった項目に対応できそう
テストの実行( Augmenting testing with AI-powered accessibility tools )
AI によるアクセシビリティテストツールを作って活用しているっていう話なのかな?静的解析は Axe とかを使ってもできそうだけど「実装パターンから怪しい箇所を探してフラグを立てる」みたいなのができるのは AI の強みかもしれない。対応方法をレポートしてもらうのは良さそう。普通にやると「対応が必要な箇所を見つける → あるべき対応方法を調査する → 実装にどうやって適用するかを設計する」みたいなステップで結構工数がかかるけど、仕様を実装に応用してサジェストするみたいなのは AI の得意な部分なので頼めると工数がかなり削減できそう。ただし、サジェストされた内容が正しいかどうかをジャッジするスキルは必要。プロンプトを作り込んでいい感じのワークフローにす流のはいいかも
チェック・監査( Measuring and reporting compliance )
この辺りは特にアクセシビリティだからという項目はなさそう。 Playwright MCP とか使えばログインが必要な SaaS の他社調査とかできるかもなと思った(要利用規約チェック)
コーディングサポート( Accelerating fixes for Shopify merchants with AI-assisted coding )
これも特に目新しい内容は無しだけど、コンテキストに自社の「アクセシビリティ対応方針」を置いておいたり、モデルの人格にアクセシビリティスペシャリストであることを明示する、みたいなのは重要かも
追記
この記事を公開後に見つけた記事だけと関連度が高いので紹介
AI に人格(ペルソナ)を与えて定量評価をさせるという試み。結果が正しいのかの検証は別途必要だけどこういうアプローチはもっと増えてきそう
W3C が提案中の Web のビジョン
W3C 宣言に組み込むように同団体が提案中のビジョンを公開。内容的には Web 倫理 から 4つを抜き出した内容になっている
ウェブはすべての人類のためのものである
The Web is for all humanity.
2.4 The web is for all people
People should not need a high level of technical literacy to use the web. Web platform technologies should behave consistently and intuitively. We will build internationalization and localization capabilities into our specifications and websites, including support for different languages. Our specifications and websites are well internationalized, provide support for language and cultural adaptation, and support localization, so that our work is accessible to all users, regardless of language, writing system, or culture. We will accommodate people on low bandwidth networks and with low specification equipment. The web platform and the tools we use to create it must be accessible to people with disabilities, including visual, auditory, physical, speech, cognitive, language, learning, and neurological disabilities. Anyone should be able to meaningfully participate in the creation of specifications, user agents, and content, and the platform should enable a fully accessible end-user experience.
ウェブは人の善のためにデザインされているべきである
The Web is designed for the good of all people.
引用元は「ウェブは社会に害悪を及ぼしてはならない」というタイトルになっている
2.2 The web does not cause harm to society
When we are adding a feature or technology to the web, we will work to prevent or mitigate any harm it might cause society or groups, especially to vulnerable people. We consider a range of threat models that account for abuse scenarios at different scales, from societal to interpersonal. We will prioritize potential benefits for web users over potential benefits to web developers, content providers, user agents, advertisers, or others in the ecosystem, in line with the priority of constituencies. We commit to learning about and understanding diverse perspectives, and will strive to reflect a respect for that diversity in the designs we produce, so that our designs properly respect the interests and views of all of the people who might be affected by them.
ウェブは安全に利用できなくてはならない
The Web must be safe to use.
引用元は「ウェブは安全で人のプライバシーを尊重する」というタイトルになっている
2.5 The web is secure and respects people's privacy
When we add features to the web platform, we are making decisions that impact people's ability to control their personal data. This data includes their conversations, their financial transactions and how they live their lives. We will start by creating web technologies that create as few potential threats to web users as possible, and mitigate the threats that we cannot avoid. We will make sure people understand what risks they are taking when they use the web.
ひとつのウェブと相互運用性
There is one interoperable world-wide Web.
ウェブに分断が起きると政治が発生し上記 3つのビジョンの実現ができなくなる、という意図があるのだと思われる
2.1 There is one web When we are adding new web technologies and platforms, we will build them to cross regional and national boundaries. People in one location should be able to view web pages from anywhere that is connected to the web.
頑固さの成長パターン「うさぎと亀」
エンジニアの成長パターンはいろいろあるけど、理解できないことが沢山あってそれに足踏みしてしまう人が、その分からないにちゃんと向き合うことで中長期でめちゃくちゃ成長する、みたいなのをたまに見る
向き合うといってもそんなスマートではなく、一通り解説して「わかった?」みたいに問いかけると「いやぜんぜん分からなくて、、、ちょっとやってみます」みたいなのが繰り返される感じ。実際には70〜80%くらい理解しているので「わかりました」で良い気はするのだけれど、理解できていない部分にフォーカスして足踏みしてしまう、というような状況が多い
結構ヤキモキするのだけれど、同じ課題に対して少しずつ進みながら質問してくるので、気長に繰り返し解説してあげる。そういう人がちょっと長い目で振り返ると抜群に成長していたりする
頑固さは成長におけるアンチパターンではあるけれど、自分の理解できていない部分に対して「誰がなんと言おうが理解できていない」という部分に発露すると良い結果を生むという事らしい