英語に切り替わらない会議室
国境を越えた会議を設定する。参加者は3つのタイムゾーンから集まる。開始からわずか90秒で誰かが**「みんなが同じ理解でいられるよう、英語で進めましょう」**と言う。すると、会議室の中で最も上位の人たちが黙り込むのが見える。
その切り替えは代償を伴う。時間にも、自信にも、そして実際に決まる内容にも。
私たちはこの6週間、会議室にいる誰も切り替える必要がないという原則のもとでInterMINDを再構築してきました。会話のためにも、チャットのためにも、リアルタイムで入力するノートのためにも、翌日に見返す編集履歴のためにも。
変わったのはここです。
1. 音声だけでなく、すべてを視聴者ごとに
ライブ音声翻訳は常に主役でした——21言語、1秒未満のレイテンシ、参加者は通話開始時に自分の言語を選べます。v1.2では、音声の周辺にあるすべても多言語対応となり、視聴者ごとにリアルタイムで同期が保たれます。(他の機能で表示される、より大きな数字ではなく「21」である理由については、詳細はこちらをご覧ください。)
チャット:編集内容は、あなたの言語で変更点がわかる
チャットのすべてのメッセージは、入力と同時に翻訳されます。v1.2での変更点は、誰かがメッセージを編集したときに、以前の翻訳を捨てて新しい翻訳を出すのではなく、以前に翻訳されたテキストと新しく翻訳されたテキストの差分を、あなたの言語で計算し、インラインで表示することです。
そのため、同僚が「火曜日までにレビューすべき」を「木曜日までにレビューすべき」に編集した場合、スペイン語のレビュアーは再翻訳された段落を見て何が変わったのか推測する必要はありません。martes → jueves という形でハイライトされて表示されます。Gitのdiffと同じ精度を、21言語のうちどの言語で読んでいても実現します。
編集が書式のみ——太字、イタリック、リストマーカー——の変更であっても、私たちは再翻訳を行います。書式のみの編集こそ、意味が変わりやすい箇所だからです(カンマが節の区切りになる、など)。そして、新しい翻訳がストリーミングされている間も以前の翻訳は画面に表示され続けるため、APIの応答を待つ間に空白を見ることはありません。
ノート:文字単位で、言語ごとにライブ更新
ホストが会議中に共有ノートパネルを開いて入力を始めると、すべての参加者はそれぞれの言語で、文字単位で、1秒未満の伝達速度でノートを見ることができます。行を編集すると、視聴者には言語ごとの差分が表示されます——チャットの編集と同じ仕組みです。
また、ノート翻訳の仕組みも書き直し、ドキュメント全体ではなくリスト項目を個別に翻訳するようにしました。英語のネストされたチェックリストは、markdownの塊のまま翻訳すると構造が保持されません——モデルが階層をフラット化してしまうのです。各<li>を個別に翻訳することで、インデント、番号付け、インライン書式がどの言語でもそのまま保たれます。
添付ファイル:チャット内のドキュメントも、会議の言語で話す
Google Doc、OneDriveのリンク、PDFをチャットにドロップすると、v1.2ではそれらをインラインで表示します。
- リンクされたドキュメント — タイトル、プレビュー、ドメインバッジを表示し、生のURLがそのまま見えることはありません。編集可能なドキュメントは適切なロケールヒント(
hl=)付きで新しいタブで開くため、ブラジルポルトガル語の読者が英語のDocs UIに着地することはありません。 - 画像アップロード — アップロード時にサムネイルを生成し、メッセージバブル内でintrinsic-gridによるレスポンシブレイアウトを採用することで、幅の狭い画面でも画像が崩れません。
- 3段階のドキュメントアクセス — 編集、表示、アクセス不可——権限が許す場合は自動共有されます。Driveへのアクセス権がない参加者にも、「権限がありません」というページではなく、きれいな読み取り専用のプレビューが表示されます。
遅延翻訳:より速く、より安く、より静かに
以前は、言語を切り替えるたびに履歴内のすべてのメッセージを翻訳していました。長く続くチームチャンネルでは、スクロールして見返すことのないメッセージのために、何時間分ものAPI呼び出しを再実行することになっていました。
v1.2ではIntersectionObserverを利用し、メッセージがビューポートに入ったタイミングでオンデマンドに翻訳を行います。会議中に言語を切り替えても、今では即座に反映されます。また、401が返された時点で即座にチャットリストのポーリングを停止するようにし、あなたには気づかれなかったであろう暴走したエラーストリームを、私たちの側で止めました。
音声トランスクリプション:レンダリング前にサニタイズ
トランスクリプションのテキストはレンダリング前にサニタイズされます——独創的な発音を使ったHTMLインジェクションは通りません。当たり前のことに聞こえますが、2ヶ月前まではそうではありませんでした。