社内LANのWebアプリで、マイクが使えなかった

外には公開しない。それでも、ブラウザでマイクを使うにはHTTPSが必要だった。

外には公開しない。でも、マイクを使うにはHTTPSが必要だった

工場用の翻訳アプリを、普段使っているブラウザのダッシュボードから開けるようにしようとした。ここで、翻訳AIとは別の技術的な壁にぶつかった。社内LANだけで使うWebアプリでも、HTTPのままではブラウザのマイクを使えなかった。

うちのダッシュボードは、社内ネットワークの中だけで動くWebアプリです。外部へ公開するホームページではないため、もともとはHTTPで動いていた。

ところが、ブラウザからマイクを使う機能は、安全な通信環境でなければ動かない。一般的なWebサイトならHTTPSを使うが、社内だけで動くアプリにもHTTPSの入口が必要になった。

翻訳の処理ができても、マイクを使えなければ会話は始まらない。ここでぼくは、すでに持っているドメインやHTTPSの仕組みを利用できないか、AIへ相談した。

実際に作ったのは、クラウドへ音声を送ってから社内へ戻す経路ではない。社内サーバー上でHTTPS通信を受け、その通信を同じサーバー内で動く翻訳アプリへ渡す構成にした。

流れを簡単にすると、次のようになる。

  • 会社のパソコン、スマートフォン、タブレットで翻訳画面を開く

  • 社内サーバー上のNginxがHTTPS通信を受ける

  • Nginxが、同じサーバー内のNext.js翻訳アプリへ通信を渡す

  • 翻訳AIが必要なときだけ、社内サーバーから外部へ通信する

今回確認した端末のブラウザは、クラウド上のリバースプロキシを経由していない。普通のドメイン名で開いているが、社内サーバーへ直接つながっている。

HTTPSのために、入口は増やさなかった

技術的にHTTPSへ変えても、従業員の操作は増やしたくなかった。工場用の翻訳アプリに、従業員用のIDとパスワードは作っていない。ログイン画面も、専用アプリのインストールもない。入力や設定が一つ増えるだけで、話すことが面倒と思われる気がしたからだ。

普段、従業員が使っているダッシュボードのヘッダーに「翻訳」ボタンを置いた。そこを押せば翻訳画面へ移る。別のURLを覚えたり、新しいブックマークを探したりする必要はない。

ぼくが作りたかったのは、日本語とベトナム語を変換できる画面だけではない。言葉が十分に通じなくても、「このアプリを使って説明しよう」と思えるところまで、入口を軽くしたかった。

人ではなく、使う場所を制限した

パスワードをなくした代わりに、どこからでも使えるようにしたわけではない。利用できるのは、会社の社内ネットワークにつながった端末です。

スマートフォンのWi-Fiを切り、モバイル回線から同じURLを開いてみた。翻訳アプリには接続できなかった。社内ネットワークのパスワードは従業員へ渡していないため、基本的には会社が用意した端末から使うことになる。

これは一人ずつを見分ける個人認証ではない。社内ネットワークにつながっている人なら、翻訳画面へ入れる。誰が何回使ったかを個人単位で管理する仕組みでもない。

その制限は承知している。ぼくは、会社が用意した端末を社内で使う範囲なら、仕事以外の会話に使っても構わないと思っている。誰が使ったかを細かく管理することより、言いたいことを我慢せず、まず使ってもらう方を優先した。

押す場所は、大きな三つだけにした

パソコン、スマートフォン、タブレットで動かし、どの端末でも画面が見切れず、同じように操作できることを確認した。

翻訳画面で使う主な操作は、大きな「スタート」「ストップ」「戻る」です。スタートを押して日本語かベトナム語で話す。止めるときは同じ位置に出るストップを押す。戻るを押せば、普段のダッシュボードへ戻る。

大きなスタート・戻るボタンと、日本語原文・ベトナム語訳の表示欄がある翻訳アプリ画面
動作確認用の表示を使い、翻訳を始めるボタンと原文・訳文の欄を同じ画面に置いた

初めて使う端末だけは、ブラウザのマイク利用を一度許可する必要がある。次からは、ログインもパスワード入力もインストールもいらない。

コンピュータ操作が苦手な人でも使えることを前提にした。機能を増やすより、押す場所を迷わないことを優先した。

片言の日本語だけでは、伝え切れない

外国人を雇っている会社では、こういう道具は必須に近いのではないかと、ぼくは思っている。片言の日本語でも、短い指示や普段の会話はできる。しかし、なぜその手順が必要なのか、何が危ないのか、どこに違和感があるのかまでは、伝え切れないことがある。

安全、品質、加工手順に関わる話を、「たぶん伝わった」で終わらせたくない。片言の日本語だけに任せず、お互いが詳しく説明できる手段を用意することは、外国人を雇う側の仕事だと感じている。

それでも、まだ手軽にし切れていない

運用を始めた翌日、管理画面には翻訳35件が記録され、翻訳AIのAPI利用料金は0.03ドルと表示されていた。これは開発費、端末代、サーバー費用を含まない、翻訳AIのAPI利用料金だけです。

個人認証を付けていないため、誰が何件使ったかまでは分からない。「従業員が35回使った」とは言えないが、記録された日本語の認識結果を見ると、専用辞書へ追加した方がよい言葉も複数見つかった。

使われた記録があったことはうれしかった。ただ、ぼくはまだ十分に手軽にできたとは思っていない。

翻訳したいと思った場所に端末がなければ、普段のダッシュボードから開けても使われない。次は、各機械の近くへ端末を置くのか、一人ずつ端末を持ってもらうのかを考えたい。これはまだ構想で、実施はしていない。

翻訳できることと、翻訳アプリを使おうと思えることの間には、まだ距離がある。

ぼくが作りたいのは、高性能な翻訳画面だけではない。「説明するのはもういい」と諦める前に、自然に手が伸びる道具です。HTTPSもログインをなくしたことも、その入口を作るための手段だった。

実践・執筆M-LABO
X原文を見る →