TextGoダウンロード

2026年6月22日月曜日

もう我慢しない。前が詰まったら別ルートへ。配達用『迂回路探索』機能

ナビ『このまま直進です』 オレ『無理』

赤信号、踏切、遅い車。その足止めを減らす方法

交通状況によってスムーズにピック先やドロップ先に行けないことがあるのは、配達につきまとう、どうしようもないと思っていた悩みです。
いつも赤信号になる交差点、開かずの踏切、前方の遅い車、横断できない広い道路の向かい側へのナビ…、これらは時間を浪費して、ストレスや収益低下をもたらします。
新しく追加した機能「迂回路探索」は、そうした障害を緩和するアイディアを提案します。

ピック先やドロップ先に向かっている時、地図を表示するだけで、現在地から目的地へ向かうためのあらゆる迂回ルートを提示します。

その中で、使えるルートが見つかれば、障害を回避できるかもしれません。

代替ルートをリアルタイムで教えてくれる機能はGoogleマップ等にも搭載されています。それは便利ではありますが、コンパニオンの「迂回路探索」は、より多くの細かいルートを提示できます。
いつも信号待ちしている交差点に実は回避ルートがあることや、バイクや自転車なら通れる小道でショートカットできることを発見できるかも。

設定して、ナビして、地図を開くだけ

まず、設定の「地図」から「迂回路探索」をオンにします。
あとは、ピック先やドロップ先にナビボタンをタップして向かうだけです。
フルスクリーン地図を表示すれば、いつでも迂回路を探索できます。
信号待ち、渋滞で停車中、ピック待ち、エレベータ待ち等の隙間時間に、フルスクリーン地図を開いてみてください。

この機能は“答え”ではなく“ヒント”です

コンパニオンの他のすべての機能と同様、仕組みを理解できてこそ使いこなせます。
・青色の線は、最短ルートです。これがノーマルルートです。
・オレンジ色の線は、迂回ルートです。これを使うと、問題を回避できる可能性があります(し、回避できない可能性もあります)。
・一方通行、右左折禁止等、実際は通行できないルートが示される可能性があります
・代替ルート探索のアルゴリズムとして、代替になりえることが条件になっています。つまり、他のルートと同じでない量が条件になっているので、無意味な大回りルートを生成することがあります(大回りをすることで他のルートと差が生じ、代替ルート候補にされる)。
・直線で30km以上離れた目的地の場合は、探索しません。
ナビボタンをタップして目的地に向かった場合のみ機能します
・メンテナンス等により、ルート探索用サーバーが停止している場合は、使えなくなることがあります
・数秒おきに自動更新します。
・フルスクリーン地図を表示している時だけ、機能しています。

左下ボタンでできること

迂回路探索を表示している時は左下にボタンを表示します。
機能の意味は以下の通りです。

知っておくと快適になる設定

「キー割り当て」で、物理キーにフルスクリーン地図を設定すると、素早く迂回路探索を見れます。
オーバーレイを一定時間操作しなかった場合や、一定速度以上で移動すると「自動最小化」が働きます。フルスクリーン地図を閉じて欲しくない時は、それらを変更してください。

失敗したルートも、次の武器になる

「迂回路探索」は、正しいルートを示すわけではありません。使えるルートがあるかもしれないという、考えるための材料を提供します。そのルートが機能するかは、結局、考えて判断しなければなりません。
示されたルートに行ってみて、失敗することが起こると思います。ルートを変えたことでかえって遅くなったとか、通行できない道に迷い込んだとか、そうした経験も含めて、勘や判断力が鍛えられ、道を知っている一段上の配達員になるのだと思います。それに、新しいチート道が発見できるのは、痛快です。

2026年6月15日月曜日

見えない問題を可視化し、見えにくい配達先を見える化しました


見えないが見えるに


経由地点アニメーションを強化したらメモリが限界だった

「乗車の予定表」の情報を取得できるフローモード機能を使った時に、地図に表示する経由地点の順序を分かりやすくすることを目的に、線をアニメーションするようにしました。
ところが、そのアニメーション負荷が高いためか、メモリ不足によるクラッシュが多発してしまいました。幸い、ベータ版の段階で発見できたので、大半の方には影響はありませんでした(ご協力いただいた方ありがとうございました。)。
その調査中に、メモリの残り状態をコンパニオンパネルに表示する機能を実装しましたが、今後のことも考えてそのままにしておくことにします。

そのメモリ残量は、設定のコンパニオンパネルウィンドウで、メモリ残量をオンにすることで表示できます。

オレンジ色の縦長バーはメモリ残量を示します。少なくなると使われなくなったメモリが解放されて、縦長バーが伸びる様子を観察できます。基本的に、その動きを繰り返すのが正常です。
縦長バーが最後までなくなってクラッシュした場合、メモリが不足したのかもしれません。

リクエスト受諾前に全体像を一瞬で把握。「リクエスト地図」追加

以前、「呼び出し時P/D地図」と呼んでいたものと同じ役割の機能を、また実装しました。
リクエストが入った瞬間に、ピック先やドロップ先をコンパニオンの地図で確認できます。公式配達員アプリで普通に見ることができるのですが、実質、上半分程度の大きさなので、パッと見て分かりにくいことがあります。
コンパニオンの「リクエスト地図」は、現在地、ピック先、ドロップ先の範囲全体をフルスクリーンで初期表示できます。

さらにBluetoothやFCMで別の端末に転送することもでき、それであれば公式配達員アプリの操作を妨げません。

設定に追加した「リクエスト地図」ボタンから使うことができます。

・この端末
公式配達員アプリが動いているその端末でリクエスト地図を表示します。
さらに「地図を最大化」チェックボックスをオンにすると、自動で画面いっぱいの地図を表示します。ただし、それでは、地図を閉じないと公式配達員アプリを操作できないのであまりおすすめはしません。
・Bluetoothで他の端末に転送
あらかじめBluetoothにより接続設定されている端末上で、最大化されたリクエスト地図を表示します。
・FCMで他の端末に転送
FCMで、他の端末に送信し、最大化されたリクエスト地図を表示します。送信元端末と送信先端末のコンパニオンが、同じGoogleアカウントで使われている必要があります。

ピック先やドロップ先の位置は、リクエスト時に表示されている情報をもとにジオコーディングした座標や、Historyページで登録された登録済ピック位置の情報を利用しています。公式配達員アプリが内部で保持する情報に基づくものではありませんので、リクエスト地図に表示されるピック先やドロップ先の地点は、不正確になる可能性があります
ジオコーディングの結果、ピック先やドロップ先の位置が特定できないことや、まったく異なることがあります
登録済ピック位置で個別のピック位置を登録しておけば、ピック先に関しては正確になります。
リクエスト地図を表示する端末で現在地が取得できない場合、リクエスト地図自体表示されません。
現在地→ピック先→ドロップ先の順で、直線またはルート探索した線で結びます。ピック先の位置が不明な場合、線で結ばれません。
ルート探索は独自のサーバーで行っていますが、メンテナンスのため停止することがあります。その場合、ルート探索は行われず、直線で結ばれます。


このリクエスト地図はリクエストが入った時に、受諾するか否か判断する助けになります。以前に「呼び出し時P/D地図」を実装していましたが、廃止したものの、やはり自分自身こうした機能が欲しくて改めて作りなおした次第です。

2026年5月19日火曜日

配達中の無駄操作をまとめて削減しました

外部キー操作が効かない場合のバックアップ機能「座標クリックモード」追加。

コンパニオンは、Bluetooth等による外部デバイスの物理キーに、特定の機能を割り当てることができます。
例えば、リクエストがあった時に承諾や拒否を外部デバイスのボタンを押して実行できます。
ただ、それが特定の環境では動作しないことがあるということもあり得るようで、そのため「座標クリックモード」というのを追加しました。通常の方法でうまくいかない場合は、こちらをお試しください。
ただし、これは本当に画面のその場所をクリック(タップ)するのと同じことをします。
画面変更のアニメーション中に取得した情報は座標がずれるかもしれませんし、タップした瞬間にはもう画面から存在しなくなっていて、関係ない部分をタップすることがあるかもしれません。
「座標クリックモード」を使わなくて済むのが一番いいと思いますが、もしも、機能しない場合は、第二の選択肢として「座標クリックモード」をお試しください。

「キー割り当て」に「ハンバーガーメニュー」を追加。

新たにハンバーガーメニューのタップも外部キーに割り当てることができるようにしました。
これは、まさに上記の「座標クリックモード」でないと正常に動作しないケースだと思います(開発者の環境では)。
公式配達員アプリの「乗車の予定表」を簡単に見ることができます。あのハンバーガーメニューボタンはタップしにくいので、地味に便利です。

もう一つずつ開かなくてOK:住所自動展開機能。

その「乗車の予定表」では、ご存じの通りピック/ドロップ先の予定を見ることができます。
しかし、詳細な住所情報は、一つ一つ開いていかなければなりませんので、コンパニオンに搭載されているフローモードによる地図での確認が少し面倒でした。
その一つ一つ開くというタップを自動で行うようにしました。
「フローモード」の「自動で住所を開く」をオンにしておけば、「乗車の予定表」で、各行の住所を自動で開いていってくれます。
※「フローモード」とは、公式配達員アプリの「乗車の予定表」の情報をコンパニオン側に取り込み、一覧表示や地図上へのマーカー表示を行う機能の名称です。

玄関前でゴソゴソしないための新機能

さらに、「乗車の予定表」にドロップ順が分かる機能を追加しました。
ピックに向かっている時に、「乗車の予定表」を開くだけで、そのピック先でピックした商品を次に何番目にドロップするかを音声で教えてくれます。
これによって、ピックした商品を計画的にバッグに収納できまます。ドロップ先の玄関前で、上にあるものを出して、奥から取り出し、出したものをまた入れなおす…みたいな状況を少しだけ軽減できるかもしれません。
実は、以前にも似た機能がありましたが、公式配達員アプリの変更で使えなくなっていました。
すみません。今、発掘中です…

上で紹介した「キー割り当て」からドロップ順の読み上げまでを、一連で活用すれば、あなたの配達効率をますますアップできますよ。

住所ではなく「止まる場所」を案内します。

コンパニオンユーザーの配達記録によるピック/ドロップ時の情報を、ピックやドロップ先の正確な位置情報として活用できるのではないかと考えました。
配達の現場でちょっと迷う場面のひとつとして、ピックやドロップの時、走行しながら、さて、どこに停車するかと考えなければならないことがあります。
マンションの入り口がどこなのか、どちら側の道路なのか、店舗の入り口はどこなのかといった、正確な停車ポイントをピンポイントで知ることができれば、減速開始のタイミングが分かり、無駄な行き過ぎを減らせます。
コンパニオンユーザーの使用データから独自のアルゴリズムでその位置を計算し、音声で残り距離を知らせるようにしました。車両を最適地点にピタっと止められる確率を高めるのが狙いです。
探さない配達がいちばん速い

ナビの目的地を読み上げているのではなく、実際に配達員の稼働データに基づいた最適地点への誘導であることがポイントです。
それであれば、ドロップ先でこそ効果を期待してしまいますが、残念ながらドロップ先のデータは少ないので、データが存在する確率や正確性は低いです。
とはいえ、ピック先であっても、特に商店街等の込み入った状況等、明確に場所を覚えていない店舗であったり、副業稼働で覚えている店舗が少ない人にとっては、役立つ可能性があると思います。
コンパスを表示している場合には、目的地付近に近づくとコンパス上にも、その方向(黄色の矢印)と距離を示すようにしています。

なぜ設定を減らすのか。

前回のブログ記事で、お知らせしましたが、これまでの設定はこれから廃止し、新しい設定画面に移行します。
それにあたり、設定できる項目や機能自体も一部廃止します。廃止することで使えなくなったり、使い方が変わってしまう機能が出てくることになります。

数年前、UberEats黎明期にコンパニオンが誕生したころの配達員は、新しいサービスに興味を持つ、いわば先行的な層が多かった印象がありますが、現在は参加者の層が大きく広がり、配達員の構成も初期とは性質が変わってしまった印象があります。

配る側も、受け取る側も、まだ楽しんでいた頃

そうした中、はじめてコンパニオンを使う人が、設定項目の多さを見ただけで尻込みしてしまったり、どういうことができるのかを知らなかったりするような状況をなるべく少なくし、より使いやすくしたいと考えています。
究極的には、設定やヘルプは、ないのが理想です。そこまで実現するのは難しいものの、できる限り細かい部分はそぎ落としたいと考えています。

コンパニオンのもともとのコンセプトは、分かりにくく、とっつきにくく、無骨。だが、理解するのに時間がかかっても、現場で繰り返し使う上では、最短、最速、軽量、気が利く、といったプロフェッショナルのための実用性に大振りしたものでした。
しかし最近は、既存機能に関する問い合わせや、利用状況が十分に伝わっていないケースも増えており、ユーザー側に判断や操作を委ねるよりも、できるだけ意識せず使える、操作を減らした方向性へ寄せた方がよいのではないかと感じています。
設定しなくても、もう使える

ToDo

有給休暇を管理できるアプリをダウンロード