TextGoダウンロード

2022年12月1日木曜日

ポケット内での誤タップを防ぐ画面カバーと、コンパスの針の振動抑制

 画面カバーでポケットの中での誤タップを防ぐ

オーバーレイの「コンパニオン」と書かれている部分をスワイプアウトして表示されるメニューから「画面カバー」を選択することで、画面全体をタップ不可能にする画面カバーを使うことができます。雨天時の水滴でスマホが誤操作されることを防ぐ目的で、以前、追加した機能です。

青色の画面カバーをスワイプアップして開けることができ、スマホ自体をある程度回転させると、画面カバーを閉じることができます。

雨天用だけでなく、ポケット内での誤操作を防ぐ目的でも使えるように画面カバーの開閉方法として2つを追加しました。

1、スマホの上下の向きで開閉

スマホを上向きにする(スマホの上側を空の方向に向ける)と画面カバーが開き、下向きにする(スマホの上側を地面の方向に向ける)と画面カバーを閉じます。

ポケットに入れるときにスマホを下向きにすることで、ポケット内での誤タップを防ぎます。

2.接近センサーで開閉

ほとんどのスマホには接近センサーが備わっています。通話時に耳や頬が画面に当たって誤タップになることを防げるように、画面前面の上方に付いています。接近センサーから3~5cm程度の距離になにかが存在することを検出でき、これでスマホがポケット内にあるかどうかも分かりますので、画面カバーを閉じます。

ただし、指が画面に近づいた時にも反応するので、少々使いにくさがあります。


ピックやドロップ時に、手を空けるために一時的にスマホをポケットに入れるのですが、誤タップ防止のためにロック画面に戻していました。公式配達員アプリはロック画面でも動作するのですが、コンパニオンのオーバーレイは消えてしまいます。オーバーレイをロック画面上に表示することは技術的にできません。

その回避策として、そもそもロック画面にしなくてもいいように画面カバーの機能を強化しました。


注意1.Androidの仕様で、画面下のナビゲーションバー部分の操作は防ぐことができません。

注意2.画面カバー使用中でも、画面カバーをダブルタップすると、タップ操作として動作する機能が備わっています。その機能を無効にしたい場合、「ダブルタップ範囲」の設定を0にしてください。


バイクのエンジンの振動対策にコンパスの感度設定を追加

コンパニオンのオーバーレイには方位を示すコンパスを表示できます。スマホをバイクのスマホホルダーに取り付けていると、エンジンの振動でコンパスの針がブルブル震えて読み取ることが困難になります。

設定項目内に追加したコンパスの感度設定を変更することで、針の振動を抑制できます。例えば50~100程度の値を入力してください。


2022年11月14日月曜日

複数店舗ピック対応等、コンパニオンの現状

複数店舗ピック対応

各地域において複数店舗ピックが開始されました。

コンパニオンは、以前からそれに備えた内部構造に変更しており、複数店舗ピックの場合でも、ある程度の動作はしていたようです。

しかし、同時に2件入るタイプの複数店舗ピックの場合にピック状態に遷移できないことがあったり、履歴が正常に記録されない等、いつくかの問題が起こりました。

最新のV1.125では、そうした点を対処し、全体として通常使用できる程度に対応しました。

まだ検討事項が残っていますので、今後も継続して対応していきます。


UIの反応が遅い

オーバーレイの左上の「コンパニオン」と書かれた部分をタップすると、最小化したり、元に戻したりできますが、その反応が鈍く、一瞬固まったようになることがあります。

公式配達員アプリで何か操作した直後に、そのようになることがあり、少々イライラさせられます。

原因は不明ですが、コンパニオン自体の変更以外に、Androidのライブラリの変更、公式配達員アプリの変更に原因がある可能性があります。

現在、調査中です。


ナビボタンの変更

住所アシスタントのナビボタンですが、ジオコーディングの状態により、黄色、青色、赤色の三色表示をしていました。

最新バージョンでは赤色について、オレンジ色と濃い赤色に分けて表示するようにしました。つまり、黄色、青色、オレンジ色、濃い赤色の四色になっています。

  • 黄色=検索中
  • 青色=検索正常
  • オレンジ色=検索はできたが、結果なし、または30km以上遠い。
  • 濃い赤色=検索エラー

マンションのエレベーター内等、ネットワーク通信できないような時に、濃い赤色のエラーになることがあります。その場合、通信が回復してから、ナビボタンをスワイプアウト(ナビボタンを触って、そのまま指をナビボタンの外に移動)すると再検索するように機能追加しましたが、操作がやりにくいので他の方法を検討中です。


また、収集モード機能を追加した影響で、検索開始時にナビボタンの色に乱れが起こっているようです。おそらくナビボタンがリサイクルされることで、以前の色が残っていると思われます。これについても対処を検討中です。


それから、ナビボタンをタップして、地図アプリに住所テキストを(Bluetooth経由で)転送した際に、住所テキストの一部が欠ける現象が以前から指摘されていました。エンコードして転送するようにしたので、欠けないようになって…欲しいと思っています。

2022年9月16日金曜日

公式配達員アプリの突然の変更に備えて「収集モード」を追加しました。

コンパニオンは公式配達員アプリの表示情報を読み取って動作しているため、公式配達員アプリに変更があれば、それに合わせてコンパニオンのプログラムを変更する必要があります。それには多少の時間を要し、その間、正常に使えなくなります。

クリティカルな機能でなければなんとかなるのですが、配達の現場で多用する住所アシスタントが使えないのは不便です。

そのため、V1.114において、収集モードを追加しました。

これは、画面に表示されているテキストを単純に収集し、表示する機能です。公式配達員アプリに変更があっても、変更があったままのテキストをそのまま一覧表示するので、その中から住所と思われるテキストを選んでナビに利用できます。


収集モードはデフォルトでオフになっています。使うためには設定で「収集モード」をオンにしてください。


住所アシスタントの下に網(ネット)の絵のアイコンが表示されます。

このアイコンをタップすると、公式配達員アプリで取得しているテキストを一覧表示します。

もう一度タップすると通常の住所一覧に戻ります。


たとえば、今後、複数店舗ピックが開始されたとして、コンパニオンアプリがそれに対応できるまでの間、緊急避難的に収集モードを使ってしのぐことができる可能性があります。


・本当に単純にすべてのテキストを収集すると、あまりにも多くの余計なものが表示されるので、あきらかに不要なテキストは収集しないように絞っています。

・収集モードをオンにすると、端末負荷が増えます。また、通常の住所アシスタントのジオコーディングに影響が出て、遅くなったり、失敗する可能性が高まります。

・公式配達員アプリのメニュー等を操作した時に表示される無用なテキストも取得してしまいます。

・通常使用ではなく、非常時に使うことを想定しています。

・「収集モード」という、あいかわらずネーミングセンスがあれなのは、ご容赦ください。

2022年9月4日日曜日

メモ機能の検索キーについて

 コンパニオンには、自分用または他の配達員と共有できる情報として業者や配達先のメモを入力する機能があります。その際に何をキーとしてメモを検索しているかについて質問をいただいていたので、ここで説明したいと思います。


メモは、三か所の検索されるタイミングがあります。それは、配達の依頼があった時(呼び出し時)、それを受けて業者の情報が表示された時(ピック時)、業者から配達物を受け取って配達先の情報が表示された時(ドロップ時)です。


呼び出し時には、画面に「業者名」と「配達先の住所」が表示されるので、それらがキーとなります。

ピック時には、「業者名」と「配達先の名前」が表示されるので、それらがキーとなります。

ドロップ時には、「配達先の名前」と「配達先の住所」が表示されるので、それらがキーとなります。

まとめると、


呼び出し時

 ピック先のメモ

  業者名がキー

 ドロップ先のメモ

  配達先住所がキー


ピック時

 ピック先のメモ

  業者名がキー

 ドロップ先のメモ

  配達先名がキー


ドロップ時

 ドロップ先のメモ

  配達先名+配達先住所がキー


となっています。

加えて、同姓同名を考えて、現在地から半径約20km以内という条件を付けています。

しかし、PayPayアプリを通して注文された方の名前はすべて「PayPay U.」になるため、20km以内という制限があってもヒットする可能性がかなりあります。これは考慮していませんでしたので、対策した方が良さそうです。


ご質問と問題点のご指摘をいただきありがとうございました。掲示板の方もサーバー再構築で機能していなかったようなので修復しておきました。

2022年9月2日金曜日

私の失敗で配達物廃棄となってしまいました。すみません。

久しぶりに配達物の廃棄が発生してしまいました。しかも自分責任のパターンです。

コンパニオンに画面カバー機能を付けたのをいいことに、豪雨の中、雨がスマホを直撃する状態で配達していました。いちおう防水/防塵でIPX8をうたっているスマホです。

最初、配達中に画面に水の入ったようなシミが発生しはじめました。これはまずいと思い、次に数珠っている分を終えたらやめるつもりで、そのまま配達を継続しました。そして数珠った分のピックを完了し、ドロップ先に向かっている途中、とうとう画面が真っ黒になってしまいました。ドロップ先はコンパニオンで別のスマホのナビに転送しているので、配達先と思われるマンションには到着しましたが、部屋番号が分かりません。ナビ用スマホ側でUberDriverアプリを見て確認しようと思ったものの、オンラインにできません。壊れたスマホの方がオンライン状態のままだからです。壊れたスマホは画面が見えないだけで、電源ボタン長押しで強制再起動はできます。しかし、それをやってもオフラインにはできません。

しかたなく、ナビ用スマホからサポートに部屋番号を聞こうとチャットを始めますが、順番待ちのまま応答がありません。順番待ちもいっこうに進む気配はなく、30分くらい経過して強制的に終了させられました。どうしたものか途方に暮れていたところ、注文がキャンセルされたとのメッセージがポップアップし、これでゲームオーバーとなりました。

配達バッグの中の食事は、はじめて自分責任での廃棄になってしまいました。配達先の方は、いつまで経っても到着しないし、配達員から応答もなく、ご迷惑をおかけしたのではないかと思っています。


翌日、スマホを民間業者に修理依頼に出しましたが、修理不可能との結果で、さらに電源すら入らなくなってしまいました。新しいスマホに買い替えたいとは思っていて、良さそうなスマホが登場するのを待っていたところでしたが、これで、いやおうなく今すぐの買い替えになりました。

スマホ修理依頼代+新しいスマホ代 >>>>> 配達で稼いだ分

大赤字で、散々な結果です。


今回の教訓は、

・スマホの防水を信用するな。

・サポートチャットはあてにならない。

・無理そうなスマホの修理は民間業者に依頼しない方がいい。

です。


皆さんもコンパニオンに画面カバー機能があっても、スマホを雨ざらしで使わないようにご注意ください。

2022年8月22日月曜日

公式配達員アプリの変更対応についての現在

先日、公式配達員アプリが変更されたことで、地域か、あるいは端末の種類によるものか不明ですが、一部の環境でコンパニオンアプリが誤動作していました。

こちらの環境では再現しないため、現象の発生している何名かの方からログをご提供いただき、対応しました。その過程で、ログを送信していただこうとしたのに、ファイルサイズが大きすぎて送信できないということもあったようで、申し訳ありませんでした。その点は、現在バージョンアップして対策しています。また、メールでも現象の発生をお知らせいただきました。

ご協力いただきありがとうございました。


今後、UberEatsでは一回の依頼で複数店舗のピックアップをする案件を開始するという話があります。

コンパニオンアプリは、以前よりそれに備えたデータ構造で作っていますが、それだけでは、実際に複数店舗ピックアップが実施された時に対応できません。

そうした公式配達員アプリの変更に速やかに対応していきたいと思っていますが、ある程度のタイムラグは避けられません。そこで、単純に画面から取得したテキストを一覧表示できる機能を追加して、対応できるまでの間、一時回避できるようにしてはどうかと検討しているところです。


ログ記録機能について

ログを記録する機能は、もともとコンパニオンアプリを開発するために実装しました。今回のように公式配達員アプリが更新された時やその他の問題解決での利用を想定して一般にも公開しています。

「設定」→「デバッグ」→「ログファイル書き出し」をオンにしたまま、配達すると、端末内にログファイルが記録され続けます。

「設定」→「デバッグ」→「ログ送信」でコンパニオンアプリ制作者にログファイルを送信します。

コンパニオンアプリ起動時に一週間以上経過したログファイルは削除します。


私が配達しているときは、コンパニオンアプリ製作者ですから、常にログ出力オンにしたままです。

コンパニオンアプリをご使用中の方でご協力いただける方は、ログ出力をオンにしままにしておいて、不具合が発生したら、ログを送信いただけると安定性向上の助けとなります。配達回数が多い方はファイルサイズが大きくなるため、ストレージ容量や送信時にWiFiを使う等の注意が要るかもしれません。

Androidアプリは、OS自体の安定性、ライブラリの不具合、メモリ不足、その他の環境要因により、対策が難しいクラッシュや、アプリが反応しなくなる現象(ANR)が発生します。そうした場合、せっかくログを送信いただいても、対処が難しい可能性もあります。

2022年7月25日月曜日

ドロップ数読み上げ等、最近のコンパニオンの更新内容

最近のコンパニオンの更新内容について、お知らせします。


配達完了時にその日のドロップ数を読み上げ

配達完了した時にその日のドロップ数を「3ドロップ完了」のように読み上げます。“その日”というのは「設定」→「情報ウィンドウ」→「ドロップ数開始時刻」で設定されている時刻からのドロップ完了数となります。

画面を見ることなく音声で教えてくれるので、自然に配達数が把握できて便利だと思います。配達記録が正常に記録されていない場合は狂う可能性がありますので、正確なところは公式配達員アプリで確認してください。

この読み上げが不要な場合、「設定」→「音声」→「配達完了時ドロップ回数」でオフにできます。


ロック画面に戻すとオーバーレイのサイズを元に戻します

以前、コンパニオンを使って配達中にフルスクリーン地図を表示した時、表示がバグり、元に戻すことができなくなって困ったことがあります。スマホが操作不能になるので、強制再起動せざるを得なくなりました。おそらくGoogleマップViewの問題だと考えていますが、いずれにしても操作不能になるのは困りますので、最悪でもフルスクリーン状態を元に戻す手段が必要です。

画面は操作不能になっていても電源ボタンは押すことはできるので、電源ボタンを押してロック画面に戻すことで、フルスクリーン状態を終了するようにしました。

ただし、テスト上は機能していそうですが、まだその状況に遭遇していないので、実際にその時正常に動作するかは分かりません。万一そのような状態になった時は、電源ボタンを押していったんロック画面に戻してみてください。


おつり計算機が表示された時に住所アシスタントが消えない

最小化されている時におつり計算機が表示されると住所アシスタントが表示されたままになっていました。

ちょっとしたこととはいえ、しばらくの間、使い勝手が悪くなっていました。

こちらは、PlayストアのレビューでRao Sanさんにお知らせいただきました。ありがとうございます。


利用規約の同意画面を追加

初回起動時に利用規約の同意画面を表示します。

UGC(User Generated Contents・ユーザー生成コンテンツ)対応を兼ねて追加しました。アプリユーザーが投稿したコンテンツを共有する場合に、Playストアのポリシー上必要になる措置です。同意するもなにも、同意しないとアプリを使えないので選択の余地がないわけですし、これ自体にアプリの機能的な意味はないのですが、UGCに関連する機能を実装するための前提条件になります。

今回の追加に限らず、起動時にあれこれと設定することが多くて、大変お手数をおかけしますが、Playストアのポリシー上、必要ですので、ご理解のほどお願い申し上げます。

2022年7月11日月曜日

【宣伝?】新Androidアプリ「有給休暇プランナー」をリリース

Androidアプリ「有給休暇プランナー」を作成し、Playストアに公開しました。コンパニオンやUberEatsには関係ない宣伝記事ですので、興味のない方はこのまま閉じていただいた方がいいかもしれません。


「有給休暇プランナー」は有給休暇を計画・管理するためのアプリです。UberEats配達専業の方には有給休暇なんて関係ねぇ!と言われてしまいそうですが、たしかにその通りで、ターゲットがずれていますが、副業・兼業の方もおられると思いますし、あるいは将来就職する時があれば思い出していただければ幸いです。


どこかにお勤めの方は法律により有給休暇が付与されます。例えばどこかの会社に勤めはじめたとすると、半年経過した時点で、それまでの労働日数の割合に応じた日数(例えば10日等)の有給休暇が付与されます。その後は毎年新たに付与されます。パートやアルバイトでも付与されます。有給休暇はその人が決めた日に、ほぼ強制的に取得できます(会社に拒否権はなく、時期を変更できる可能性はありますが、その行使は簡単ではありません)。それは、会社に勤めているような人でも、自分の意志で自由に休むことができることを意味します。UberEats配達の方は個人事業主ですから、もともといつでも休めるものの、その代わり収入はゼロです。有給休暇は給料が支払われます(というより他の日にそれを込みで働いているのですが)。

日本では有給休暇を取得せず、二年経過してそのまま時効で失っている方が多いようです。会社から有給休暇制度を知らない人に、わざわざ休むように勧めることをしないため、何も知らず有給休暇の権利を失って損をしている人もいます。


「有給休暇プランナー」は、年間を通して付与される有給休暇を計画的に取得し、無駄なく使い切ることを支援します。

そのため、単に保持している有給休暇の残り日数を管理するだけでなく、今年や来年にかけての有給休暇取得計画を立てられることを意図しています。

無料で使えますが、計算機能等を継続して使うには年間480円(月40円相当)としています。はじめの数か月は無料で全機能解放していますので、じっくり試すことができます。


主な特徴としては、

●面倒な計算は自動で

・各日時点の有給休暇の残日数を表示します。

・失効する場合や不足する場合に警告を表示します。


●カレンダー形式で管理。

・1~3列表示を切り替え可能。1列は見やすさ重視。3列は俯瞰的に見ることができます。

・色やアイコンで、取得日、付与日、失効日等を表示します。

・祝祭日を表示するので、それを連結した長期連休化計画を立てられます。


●柔軟な設定

・有給休暇の付与を、任意の日、任意の日数、任意の失効日で入力できるので、独自の有給休暇制度を持っている勤務先に対応できます。

・半日単位・時間単位の取得に対応しています。

・転職や就業規則改定時に新しい規定を登録できます。


●その他

・カレンダーの色を自由にカスタマイズできます。

・サーバーにデータを保存するため、複数スマホで同じデータを共有でき、スマホを買い替えたりしても継続して使えます。

・広告が一切ないので、見にくかったり、待たされたりするストレスがありません。


有給休暇プランナーはこちらからダウンロードできます。

アプリ紹介メディア「Appliv」にアプリレビューが掲載されました


このアプリを作成するために、UberEats配達員用のコンパニオンアプリ作成の経験が活かすことができました。

逆に、こちらのアプリで得たノウハウでコンパニオンの方も継続して機能改善してまいりたいと思います。

2022年5月25日水曜日

画面カバー使用時にナビゲーションバーのタップを無効にする方法

 V1.100で画面カバーを追加しましたが、画面最下部にあるナビゲーションバーのタップをブロックすることができず、どうしても防ぎたい場合はテープか何かで物理的に隠すしかないと思っていました。

しかし、ブロックすることはできないまでも、Androidの機能でタップを反応させないようにすることはできるようです。Androidのバージョンや機種によって、使用可否が変わってくるのですが、Androidの設定の

「ディスプレイ」→「詳細設定」→「ナビゲーションバーを隠す」

または

「ユーザー補助」→「システム ナビゲーション」→「ジェスチャー ナビゲーション」

Android 12では

「システム」→「ジェスチャー」→「システム ナビゲーション」→「ジェスチャー ナビゲーション」

を使う方法があります。

どちらもタップでは反応せず、ホーム画面に戻るには上にスワイプする操作に変わります。基本的に雨粒は上から下に流れ落ちるので、下から上方向のスワイプはあまり発生しないはずです。しかしながら、当然、Androidの操作方法は変わってしまいます。

これらの設定を使うと、ナビゲーションバーがなくなった分、アプリケーションで使われる画面サイズが広くなります。コンパニオンの画面カバーで全体を隠すことができなくなるため、V1.102で画面カバーのサイズを拡大しました。


Android 12では、画面上部から下にスワイプして表示される通知バーを従来の方法で閉じることができなかったので、そのための対応も行っています。

2022年5月16日月曜日

雨の日の配達向けに画面カバーを追加しました。

これから梅雨の時期が始まり雨天での配達が多くなります。雨の中での配達ではそうでないときにはない問題がでてきます。イライラさせられるのは、雨粒がスマホ画面を勝手にタップして、いつの間にか関係のないアプリが起動して、スマホの状態が無茶苦茶になっていることです。スマホをジップロックの中に入れたりもしますが、それでも雨粒による誤タップは起こります。

それで、なにかいい方法はないかと思っているのですが、アイディアのひとつとして、コンパニオンアプリに画面を操作できなくする仕組みを入れて、雨粒が画面に当たっても反応しないようにすればいいのではないかと思いつきました。少なくとも、見ていない時にあっちこっち勝手にタップされて知らない間にわけの分からないことになっているという事態は防げます。

もちろん、操作不能にしては、自分自身も操作できなくなりますから、タップ不能にする状態と、タップ可能にする状態を素早く切り替えらるようにしたいです。


V1.100で、「画面カバー」という機能を付けてみました。現状、Android 10以降でのみ使えます。

タイトル部分をスワイプアウトして表示されるメニューから「画面カバー On」を選択すると、画面全体を青色の半透明なカバーで覆います。

これで画面のほとんどの部分をタップしても反応しなくなります。


それでも反応するのは、画面最上部の時計等があるステータスバーと呼ばれる部分から下にスワイプして引き出されるシステムメニューと、画面一番下のナビゲーションバーと呼ばれる部分です。これらは、Androidシステムの機能なのでブロックすることができません。しかし、ステータスバーを下にスワイプして表示されるシステムメニューに関しては引き出されてもすぐに引っ込めるように対策しました。ナビゲーションバーについてだけ、今のところどうしようもありません。


画面カバーを外すにはカバー全体を上にスワイプします。再カバーするには、端末を前や横に傾けます(3軸方向のいずれかに一定角度以上変化させる)。操作可能な状態と不可能な状態をなるべく素早く切り替え可能で、また、端末の角度が変わると再カバーされるので、無意識で行えます。


カバーをした状態のままでも、ダブルタップするとその下の部分をカバー越しにタップすることができます。一回のタップだけしたいような時は、カバーを上げることなくできます。ダブルタップが通った時はそれが分かるように端末が振動します。


雨粒がカバー上のどこかをタップし続けている可能性がある時は、カバーが赤色に変わります。その場合は、画面の雨水を拭いてから操作してください。


設定で、画面カバーに関する細かい設定を行うことができます。


問題は、タップをブロックできないナビゲーションバー部分ですが、まず、Androidの設定からGoogleアシスタントをオフにすることで、それが表示されることは防げます。

完全に防ぐには、テープか何かで覆って物理的にブロックするしかないかもしれません。しかし、仮に誤タップされてもホーム画面に戻される程度ですので、災害は限定的です。


さらに私のスマホの場合、端末の一番下の部分に指紋認証のセンサーがあり、水が触れると誤タップされてホーム画面に戻されます。これもAndroidの設定でその機能を無効にしました。


実際に雨の中で稼働してみたところ、誤タップによるフラストレーションは軽減されたと思います。その代わり画面カバーによる操作の煩わしさはあります。誤タップによる意図しない致命的な操作を防ぐという点で、安心感はあるので、これはこれでアリだと思います。

また、スマホに防水性があって、雨足も強くないのであれば、裸のまま使える利点もあります。

とはいえ、充電コネクタに濡れた状態のケーブルを差すと、スマホの故障になりかねないので裸のまま使うのは別の注意が必要です。

ナビゲーションバーは、やはり画面の下にあるので、雨水が流れ落ちて誤タップされ、しばしばホーム画面に戻されます。これについては別の物理的な対策が要りそうです。


画面カバーは、雨の日だけでなく、スマホをポケット等の中に入れておいた時の誤タップ防止にもなります。誤って配達をキャンセルされたりすると面倒なことになるので、そういう対策でも活用できそうです(作者←経験者)。


Androidアプリは、残念ながら固まることがあります。プログラムの問題もありますが、多くのアプリを同時に起動して、メモリが不足するといったシステムに起因することも多いです。仮に画面カバーがかかった状態でコンパニオンアプリが固まった場合、スマホが操作不能になります。その場合には、電源ボタンを長押ししてスマホを強制再起動させてください。普通は起こらないことですが、万一の場合の対処法としてご留意ください。

2022年4月18日月曜日

住所アシスタントの編集行に関する変更を行いました。

V1.095では、住所アシスタントの編集行に関する変更を行いました。

公式配達員アプリから取得した住所情報は住所アシスタントに一覧で表示されます。その住所テキスト部分をタップすると一番下の編集行に追記されます。V1.094までは、タップした行のすべてのテキストが追記されていましたが、V1.095では、テキストを半角スペースで区切った部分テキストが追記されます。例えば住所テキストのうちマンション名部分のみを編集行に追記することができるようになりました。これまで通り全部のテキストを追記したい場合は、各行の文字部分以外の余白をタップして行えます。


編集行においては、これまで、行末の部屋番号、半角スペース以降、コンマ記号以降をワンタップで削除するボタンがありました。そのボタンラベルで何が削除されるのか分かるようにしていましたが、これをアイコンボタンに変更し、代わりにどの部分が削除されるのか分かるように、編集行のテキストの削除対象部分を灰色で表示するようにしました。

また、削除対象となる部分テキストとして、文字種類(英字、数字、漢字、ひらがな、カタカナ、記号、等)が異なる場合も切れ目とするようにしました。


目に見える変更点は以上ですが、その他、クラッシュする可能性があった部分等を変更しています。

2022年4月11日月曜日

最近のコンパニオンの更新内容。データ暗号化、メモタップで住所アシスタントに入力、情報ウィンドウのドロップ数に関する変更。


サーバーサイドデータの一部を暗号化

V1.093以降のコンパニオンを初めて起動すると、パスワードを入力する画面が表示され、そこにパスワードを入力するとサーバーサイドのデータベースのデータが暗号化されます。

パスワードは端末内で管理されており、端末内でデータを暗号化してサーバーに送信することで、なんらかの間違いがあったとしても他の人はデータの内容を知ることができません。

コンパニオンを再インストールする際には、このパスワードが必要になります。パスワードはアプリ右上メニューのユーザー情報から確認できます(V1.094以降)。再インストールする前には、パスワードを控えておいてください。

実際に情報漏洩等の事故が起こったり、その兆候があるわけではありませんが、万一に備え、今後も可能なセキュリティ強化を継続してまいりたいと思います。また、今回の変更の過程でメモの検索が速くなっており、今後、セキュリティを高めることで取り扱える情報が増えるといった機能的な向上も期待できます。


メモをタップして住所アシスタントの編集行に追記可能に

ピックやドロップ先に関するメモを事前に入力しておくと、呼び出し時、ピック時、ドロップ時に、それぞれメモを表示していますが、それらのメモテキストをタップして、住所アシスタントの編集行に追記できるようにしました。

ドロップ先付近にある地図アプリで検索可能な施設名やplus code等を入力しておき、ナビに活用できます。


情報ウィンドウのドロップ数のカウント開始時刻を変更可能に

情報ウィンドウに当日の完了したドロップ数を表示しています。

このカウントの起点は午前0時になっているため、午前0時をまたぐと0回に戻っていました。

クエストの回数にカウントされる配達の基準時刻はドロップした時刻ではありませんし、深夜まで活動する配達員の視点から見たその日の業務という意味では、午前0時は一日の終わりという認識ではないと思いますので、そのカウント開始時刻を設定で変更できるようにしました。

アプリの右上のメニューから「設定→情報ウィンドウ→ドロップ数開始時刻」とたどると変更できます。デフォルトは午前4時になっています。


その他、安定性に関するいくつかの対応を行っています。

2022年3月30日水曜日

タイトルメニューからのメモ入力追加、それに関する不具合等

配達中に素早くメモを入力できる機能を追加

V1.091にて、オーバーレイの「コンパニオン」と書かれた部分をスワイプアウトして表示されるメニューにて30分以内に配達中のピック先とドロップ先のメモを入力できる機能を追加しました。メモはこれまでアプリの履歴ページで入力できましたが、今回追加した機能により、配達中でもその場ですぐにメモを入力できるようになりました。部屋番号等、忘れないうちに入力できます。レストランでのピック待ち、信号待ち、エレベーターでの空き時間も有効活用できます。

配達中は、IMEの音声入力を活用したりして、とりあえず簡単に入力しておき、あとで時間のある時に履歴ページで編集しなおしてもいいと思います。

細かい注意点ですが、タイトルメニューによる入力内容は、履歴ページでのメモをチェックせず上書きします。また、その時、配達中に関するメモはメモリにのみ保持しており、配達が完了した時に保存します。例えば、ピック先で待っている時にそのピック先に関するメモを入力しても、メモリにのみ保持しているので、履歴ページではまだ表示されません。


V1.091で致命的な不具合があり、V1.092をリリース

V1.091において致命的な不具合があり、V1.092で修正しました。

上記に記載したメモ機能の追加に関連する不具合で、配達を開始して30分以上経過すると、アプリがクラッシュします。

コンパニオンの更新プログラムは、リリース前に実際に配達でテストしたうえでリリースしていますが、テスト時はこの機能の設定を60分にしていてクラッシュ頻度が少なかったことや、クラッシュの原因が端末の問題と考えて気が付きませんでした。今回の不具合でご面倒をおかけし、大変申し訳ありませんでした。今後はより慎重に確認したいと思います。


無数にあるAndroid環境への対応

Pixel6等のAndroid12端末において、アクセシビリティサービスのcanPerformGestureが有効になっている時、バッテリー残量の低下のたびに端末が短い時間フリーズする現象があるようです。コンパニオンもアクセシビリティサービスを使用しており、canPerformGestureがどのようになっているか確認したところ、有効になっている可能性が高いです。現在はGoogleから修正パッチが公開されているようで、この現象に思い当たる方は、端末OSのアップデートを確認してみるといいかもしれません。

一方、私は古いAndroid6の端末を所有していて、そこにコンパニオンをインストールしてみました。結果、公式配達員アプリの情報を読み取ることができず、正常に機能しませんでした。コンパニオンの動作確認はそうした古い環境では行っていないのが実情です。アプリストアのレビューにおいても、公式配達員アプリの情報を読み取れないという報告がありましたので、これが関係しているのかもしれません。

古すぎる端末や新しすぎる端末は、問題の発見が遅れがちで、そもそも数多くあるAndroid端末全体に対応するのは無理があるのが現実です。そんな中ではユーザーからのフィードバックが助けになっています。可能な限り対処していきたいと思いますが、いろんな意味でリソースの限界があり悩ましいところではあります。

2022年3月18日金曜日

タイトル部分のスワイプアウトメニューで、配達支援サービスを簡単に終了できます

 V1.090にて、タイトル部分をスワイプすることでメニューを表示するように追加しました。

メニューの内容は現在は「配達支援サービス終了」のひとつのみです。今後、追加することがあるかもしれません。

「配達支援サービス終了」を選択すると、オーバーレイを終了し、バックグラウンドで動作しているユーザー補助サービスも停止します。オーバーレイから素早く終了することができるようになりました。


V1.090では、一部のGEOパラメーターに対応していない地図アプリを起動した時にクラッシュしていたのを修正しました。この修正により設定での該当する地図アプリの選択が無効になっているため、お手数をおかけしますが、再度設定していただく必要があります。また、Bluetoothやサーバー経由でナビ情報を送信されている場合は、送受信両方の端末をV1.090に更新する必要があります。


2022年3月16日水曜日

V1.089で、任意の位置へナビできる機能の追加と、呼び出し時P/D地図で登録済ピック位置を使うようにしました

V1.089の主な変更点をご紹介します。


住所アシスタントの地図をロングタップして任意の位置にマーカーを置いてナビ開始できるようにしました。

住所アシスタントの地図の任意の地点をロングタップするとNと書かれたマーカーが表示されます。

そのマーカーはロングタップ+ドラッグで移動できます。マーカーをタップすると情報ウィンドウが現れ、その情報ウィンドウをタップまたはロングタップすると地図アプリに地点情報を送ってナビを開始できます。

コンパニオンや地図アプリで検索した地点に誤りがあったり、大通りの反対側等、任意の地点にナビしてほしい時に、ご自身でナビの目的地を直接指定できます。

任意の地点へのナビはGoogleMapやYahooの地図アプリでも普通にできることですが、コンパニオンの住所アシスタントの地図は、アプリを切り替えることなく瞬時に表示できますし、オーバーレイなので公式配達員アプリの地図と見比べながら使うことができます。


呼び出し時P/D地図にて登録済ピック位置があれば、そちらのピック位置を優先して使うようにしました。

配達の呼び出しがあった時、コンパニオンのタイトル部分に地図を表示するアイコンが表示されます。


そのアイコンをタップして、ピック・ドロップの推定位置を確認でき、配達依頼を受けるかどうか検討できます。

その際のピック/ドロップ位置は業者名や配達先住所からGeocodingにより推定していますが、時々、位置が特定できなかったり、異なる位置になることがあります。

コンパニオンには、履歴ページで業者の位置を登録することができる機能があります。それをピック時に登録位置として利用することができましたが、その位置を呼び出し時P/D地図にも活用するようにしました。もしも登録されている業者の登録位置があれば、呼び出し時P/D地図ではそちらを優先的に使います。


これにより、業者名からGeocodingができなかったり、誤った位置になったとしても、ご自身で正しい位置になるよう登録することで次回からは正しい位置を表示できるようになります。

2022年2月23日水曜日

UberEatsの配達報酬の仕組みを考察。配達調整金額はどのように算出されるか?

今更ではありますが、UberEatsの配達員に支払われる報酬の計算方法について考えてみました。配達員の方はご存じの通りUberEatsの配達報酬はきちんと公表されておらず、ブラックボックスでよく分かっていません。特に「配達調整金額」という謎の項目によって、金額が大きく変動します。


「配達調整金額」は、いちおうUberEatsの公式ページにて、以下のように説明されています。

以下のような特定の状況において、基本金額に加えて配達調整金額が加算される場合があります。

-通常の目安よりも交通状況が混雑している場合

-通常の目安よりも商品受け取り場所での待ち時間が長い場合

-配達パートナーの数が少なく通常よりも配達の需要が高い場合

しかし、具体的な計算方法は示されていません。


以前、私が配達したいくつかの配達記録をもとに、どのように金額計算されているかを推定してみようと試みたことがあります。

まず、注文が入った時の画面で、見積もり料金、時間、距離が表示されます。これらは見積もりであり、実際に配達した結果とは異なります。


配達した結果、例の「配達調整金額」によって最終的な金額は調整された額
になります。ただし、見積もり料金は下回ることがない最低限の金額であることになっています。

公式配達員アプリで、配達ごとに最終的な報酬金額と、その根拠となるベース、配達調整金額、サービス料、ブーストといった内訳を見ることができます。配達にかかった時間と距離も表示されています。

しかし、そこにある時間はドロップに要した時間?と思われ、実際にはピックに要した時間も勘案する必要があります。つまり、本当の配達時間は、注文を受けてからドロップを完了するまでであり、数珠っているときは、前回の配達を完了してからその配達のドロップを完了するまでとなります。この実際に配達にかかった本当の時間はどこにも表示されていませんが、コンパニオンの配達履歴ではその推定時間を表示しています。


ある日の配達記録から、そうした情報を表にしてみました。

※ピーク料金、チップ、ダブルは除外しました。


この表の通り、配達調整金額が133~349円の間で大きく変動しており、一見すると、この金額が最終的な金額を決める重要な意味を持っているように思えます。

見積料金は、鳴った時の時間に比例しており、そこに距離とブーストが加味されているように見えます。

ベース料金は、公式アプリの記録時間に比例しており、やはり距離も加味されているようです。

問題の実際の金額ですが、まず、No.1とNo.2は見積金額と実際の金額が同じなので、見積金額が最低保証されるというルールから、この考察では除外して考えます。それ以外を見ると、実際の金額は、現実にピック/ドロップに要した時間と比例しているように見えます。加えて多少ブーストがあれば高めの金額になっているようです。


結論としては、実際の金額は現実にピック/ドロップに要した時間+ブースト分で求められていて、配達調整金額はそれに合うように逆算されていると考えられます。配達調整金額自体を求めるなんらかの計算式があるわけではありません。たぶん、気が付いていた人は多いと思いますが、そう推測できます。


公式サイトの説明では、交通状況とか、商品受け取り場所での待ち時間が考慮されているように書かれていますが、それらは時間がかかるケースのたとえ話であって、端末の位置情報の動きをトラッキングしていて、レストランに留まっているとか、渋滞にはまっていることを検出しているわけではないと思います(技術的にも面倒そうです)。表の中でも、レストランで待ちがあったケースもあったのですが、特にその金額が多いわけではありませんし、レストランでの待ちも渋滞もなかったが配達先を探すのに時間がかかったケースでは金額が多くなっています。

配達の需要というのも、ブーストのことを言っている可能性がありそうです。


結局のところ、配達時間で報酬金額が決まるのであれば、無理に急いで配達する必要はなく、安全・確実な運転を心がけて配達すればよいことになります。

ブーストは多少(数十円)影響しそうなので、どちらかと言えばブーストの高いエリアで活動するのがいいとは思います。

この仕組みを逆手にとって、配達完了時間を遅らせて報酬を稼ぐとか思いつきますが、不審な挙動はリスクがあるので、変なことはしない方がいいと思います。


見積料金についても、実際の配達にかかった時間の結果で決まるので、あくまで最低金額というだけで、あまり意味がないように思えてきます。


ちょっと話は変わりますが、報酬がどのように計算されているのか明確に分からないと配達員は正当な報酬を受け取っているのか確認することができません。本当は、配達員が自分で検算できる方法にするべきではないかと思います。UberEatsだけでなく、他のフードデリバリーサービスもありますし、業種の異なる似たモデルのサービスもありますので、いずれ法律や制度によって是正されるものなのかもしれません。

2022年2月22日火曜日

コンパニオンV1.086の変更点。トップページの変更。行ったことがあるドロップ先の時の音声通知追加。

・トップページ変更への対応。

このブログのひとつ前の記事に記載の通り、トップページを整理しました。


・現金払いの料金画面から前の画面に戻すとおつり計算機が消えて、すぐに再表示されるのを対策。

現金払いの時、公式配達員アプリの料金が表示されている画面になると、おつり計算機が表示され、公式配達員アプリの前の画面に戻ると、おつり計算機を消す動作になるつもりでしたが、おつり計算機が一瞬だけ消えて、再表示されていたのを対策しました。


・行ったことがあるドロップ先の時に音声で知らせるように追加。

設定の音声の中に「行ったことがあるドロップ先の時」という設定項目を追加しました。

オンにしておくと、ドロップの時に、以前に行ったことがある配達先と思われる場合、音声で、行った回数と、最後に行ったのは何日前かをお知らせします。

これは、コンパニオンに保存されている配達記録に基づいて動作します。

2022年2月21日月曜日

コンパニオンのトップページを変更しました。

 コンパニオンのトップページにいろいろな情報を表示していますが、少し整理・変更しました。

「はじめての方へ」は初めて使う方のみに表示すれば良いため、ある程度配達記録のある方には表示しないようにしました。

「お知らせ」は、ずっと同じ内容を表示したままでしたので、いったん消しました。

「Tips」は、コンパニオンの便利な使い方や、存在に気が付きにくい機能をランダムで表示してご紹介しています。新しいTipsをたまに追加することがあります。

「位置情報とユーザー補助サービスについて」は、Androidアプリのポリシー準拠のために記載しています。

新たに「最新ブログ記事」を表示するようにしました。このブログに新しい記事を投稿すると、その記事のタイトルを表示します。このブログでは、コンパニオンアプリに関する詳細な情報や、UberEatsに関連することを投稿しています。

2022年2月15日火曜日

Ver1.084の更新で、配達記録を登録できなくなることがあるため、対策したVer1.085をリリースしました。

コンパニオンのVer1.084、Ver1.085を公開しました。

Ver1.084で、アクセシビリティサービス内で保持している情報に関する変更を行いましたが、その情報はアクセシビリティサービス起動時に取得します。アクセシビリティサービスを適切なタイミングで再起動しないと、情報を取得できなくなり、配達記録を登録することができなくなります。

その対策として、Ver1.085にて、新しいバージョンに更新して最初に起動したタイミングで、アクセシビリティサービスを終了するようにしました。そのため、アプリを更新した後、配達支援サービスをオンにしたとき、アクセシビリティサービスをオンにしなおす必要が生じます。アプリ更新時にこれまでより手間が増えてしまいますが、確実な動作となるように、今後もアプリ更新時にはいったんアクセシビリティサービスを終了するようにしたいと思います。

2022年2月1日火曜日

UberEatsで複数店舗ピックが開始される?

先月あたり、公式配達員アプリで、ピック中に追加で他の店舗の依頼が入る挙動が見られたようです。例えば、マクドナルドへピックに向かっている途中で、ケンタッキーフライドチキンの追加ピックの依頼があるというような動作です。今のところ受けたとしてもエラーになってしまいます。

ただのバグかもしれませんが、UberEatsのヘルプには、複数店舗のピックも可能とするような記述があり、公式配達員アプリではすでに実装されているのかもしれません。


複数店舗ピックは、たしかに配達効率が向上する可能性がありますし、配達にかかるコストを減らすためのアイディアとして導入されてもおかしくないと思います。しかし、配達員にとっては手間が増える上、リスクも高くなります。配達料金の上乗せがないと敬遠されるかもしれません。ただ、そうすると効率化した意味を相殺してしまいます。


コンパニオンは、複数店舗ピックを開始してもプログラム対応しやすいように、一昨年にデータ構造を変更してありました。しかし、よく考えるとそれでは対応できないことが判明したため、現在、あらためて作り直しています。コンパニオンのプログラムの核心部分である画面情報の取得ロジックやデータ構造が大きく変わってしまいます。不具合が発生するリスクが高いので、入念にテストしてからリリースする予定です。どのタイミングで切り替えるか検討していますが、いずれにしても、変更した直後は、不具合の発生でご迷惑をおかけすることになるかもしれません。

ToDo

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