見出し画像

アプリのアップデートに関するあれこれ

メグリでプランニングを担当している篠キチです。


唐突ですが、みなさん自分のスマホに入ってるアプリのアップデート、してますか?

アプリどころかOSのアップデートすらしてません、って人もいそうですが、アプリ作ってる立場からするとなるべくお早めにアップデートして欲しいですし、できれば自動でアップデートされるような設定にしてほしいと切に願うところです。


でも、まあ面倒ですよね。ダウンロードに時間もかかるし、そのあとインストールが終わるまでアプリも使えなくなっちゃうし。いま使おうと思ってたアプリがアップデート待機中になったりすると、若干イラッとします。
先日、別のnoteにも書きましたが、僕の場合はスマホにアプリ入れすぎてて毎日30個〜50個のアップデートがあるので、正直言うとけっこうウザいです。

毎日こんな感じ


アプリのプログラムは1人1人のスマホの中にある

スマホでアプリを使うためにはAppStoreかGooglePlayからアプリを「入手」「インストール」する必要があります。
用語は異なりますが、どちらもアプリのプログラムをダウンロードしてスマホ本体に保存(インストール)し、そうすることでスマホ上でそのプログラムそのものが動くようになる仕組みです。

AppleのAppStoreは「入手」になっている
© Apple Inc.
GoogleのGooglePlayは「インストール」になっている
© Google

この手順を踏んでアプリをスマホに入れると、それ以降はアプリ内に保存されているプログラムが動きます (最近はネットにつながってないと動かないアプリも多いですが) 。
ブラウザで使えるWebサービスとかはプログラムがサーバ上にあって常に最新版が使えるので、このへんはスマホアプリとの大きな違いです。

そして、この本体内に保存したプログラムを更新するときは、アプリを開発した人・会社が更新版をAppStoreやGooglePlayに登録し、その後でアプリを使っているユーザー1人1人がそれをダウンロードして更新する必要があります

ようは1人1人のスマホにプログラムのコピーが保存されているので、これを更新するにも1人1人のスマホ上で更新が必要になってしまう、ということです


アップデートのタイミングはユーザーに委ねられている

こういう理由があるので、開発したアプリをAppStoreやGooglePlayに登録しても、それだけではユーザーの手元にあるアプリが更新されるとは限りません。基本的にはユーザーが自分で更新してくれない限り最新版になりません

また、一般的にアプリのダウンロードは大量のパケットを消費するため、Wi-Fi環境以外ではアップデートがかからない設定になっていることも多いです。このため自分の生活範囲にWi-Fi環境がなく、常に携帯キャリアの通信だけ使ってるユーザーは、アップデートの機会がほとんどありません

iOSはモバイルデータ通信時に自動ダウンロードするかどうかの設定がある
Androidも同様。デフォルトではWi-Fi接続時しか自動更新されない

そういった事情もあって、提供者側が思っているようにはアプリのアップデートがすすまない、ということは結構あります。

そのため、アプリ開発側は世の中に新しいアプリと古いアプリが常に混在し、どちらも使われ続けるという事態が普通に起きるということを理解しておかなくてはいけません。
アプリの世界はそういうものであると割り切って、それに対応できる仕組みを考えておく必要があります


対応OSの切り捨てをした場合どうなるか

特にiOSで顕著ですが、アプリ開発時に組み込む開発キット(iOS SDK)等の都合で、古いバージョンのOSをアプリの動作対象から外さなくてはいけなくなる場合があります。

例えばiOS14以上が動作対象だったアプリが、このような事情でiOS15以上に動作対象のOSが変更された場合、iOS14を使い続けている人にはどんなことが起きるでしょうか。


① AppStoreからアプリがダウンロードできなくなる

まず1つめのわかりやすい変化がこれです。古いバージョンのOSを使っていると、動作対象外になったアプリはAppStoreに表示されなくなります。
ただし、過去にダウンロードして使ったことがあるアプリは、利用中のOSに対応している中で最新バージョンがAppStoreに出てきて再ダウンロードできます
これは開発者側が明示的にダウンロードを不可にしない限り、可能です。


ちなみにAndroidの場合は再ダウンロードもできません
以前ダウンロードした実績があり、現在使っているOSが対象外になってしまった場合は以下のような表示が出て、使えなくなったことがわかるようになっています。

GooglePlayで利用中の機種やOSが対象外になってしまうと
このような表示が出る


② 先にOSをアップデートしないと、アプリをアップデートできない

①に関連しますが、AppStoreに表示されるのは利用中のOSに対応している中での最終版なので、古いOSを使い続けているとアップデート版を入手することができません。
アップデートするためには先にOSをアップデートする必要がでてきます。


③ 古いアプリは消さない限り使い続けられる

実はこれが一番厄介です。ユーザーの手元に古いアプリが残っている限り、ユーザーは使い続けることができます。さらにiOSの場合は開発側がわざわざ禁止しない限りは再ダウンロードもできてしまいます。
そしてこのユーザーにはAppStoreからアップデートができないので、下手をするとアップデート版の存在に気づくことすらなく、古いバージョンを使い続ける可能性があります


こういった事情もあり、アプリのアップデートに関してはAppStoreに新バージョンをアップロードするだけでは不十分で、利用中のお客様にOS更新も含めて、アプリを介して更新のご案内を重ねる必要があります

また、それはそれとしてアプリがアップデートされるタイミングはバラバラでユーザー都合に委ねられているため、用意した新機能が入っていない古いバージョンのアプリが使われ続けてしまうことは、アプリ開発者もアプリ提供者も現実問題として認識しなくてはいけません。
今時のアプリはサーバと接続しないと動かないものも多いですが、新しいバージョンのアプリが出たからといって、即座に古いアプリが動かなくなってしまうようなシステムでは困るのです。


強制アップデートは最終手段

強制アップデートと呼ばれる機能がアプリに用意されていることがあります。MGReにもご用意しています。
これはアプリ起動時に、新バージョンが出ていることと、アップデートしないと利用できない旨をお伝えして、アプリをバージョンアップしないと使えなくするという機能です。

管理の都合上、古いバージョンをサポートし続けることが難しくなるため強制アップデートを利用したり、致命的なバグやセキュリティ上の問題が見つかって古いバージョンの利用を止めないといけないなどの事情が発生した場合に利用することがあります。


しかし、この強制アップデート機能は使わないに越したことはありません。使う場合も、既にある程度アップデートが進んでいて、強制しても大きな混乱が起きないくらいに落ち着いてから、スケジュールに余裕を持って行うという使い方をおすすめすることが多いです。

さきほど例に挙げたような、仮にお客様みなさんに使ってもらいたい新機能を新しいバージョンのアプリで提供したとしても、このために強制アップデート機能を使い、リリースしてすぐにアップデートを強制することは避けたほうが無難です。


なぜかというと、特に我々が開発することの多い小売アプリの場合に顕著ですが、たとえばレジでの会計時にアプリを出してポイントカードのバーコードを出したり、クーポンを出そうとしたところで、アップデートを強要されるのはかなり迷惑な話です。
クーポン使ってポイントをもらいたいだけなのに、レジ前でアップデートを強制され完了まで待たされることに、普通のお客様は納得してくれないでしょう。当然レジの混雑を誘発してしまいますし、店舗のスタッフの方にも大きなご迷惑をおかけしてしまいます。
新機能をお楽しみいただく以前に、アプリの信頼を大きく落としてしまう可能性すらあります


MGRe製のアプリはこういったところに最大限の気配りをすることを心がけていて、仮に強制アップデートがもしレジ前で発生してしまったとしても、最低限ポイントを貯めたり使ったりはできるように、バーコードだけは表示できるよう配慮しています。
ただ、本来ならクーポンを選んだりしたかった可能性もあるわけで、この機能も使われないに越したことはないわけです。

MGReの強制アップデート機能の画面サンプル
アプリはアップデートしないと使えない状態だが、
会員バーコード表示で最低限のサービスは受けられるよう配慮されている

新しい機能を開発したとき、とにかく早く使っていただきたいと考えてしまう気持ちはよくわかりますが、アプリの場合はアップデートのタイミングはユーザー次第
アップデートを押しつけて強制するのではなく、事前に新しい機能のご案内をアプリを介して行い、あらかじめアップデートを自発的にやっていただけるようなコミュニケーションを取る工夫が大事かもしれません。


おまけ:アプリ開発会社を変更して、引き継げるのか

アップデートに関連する話をもう少し。

他社で作ってたアプリを作り直して欲しいという依頼をいただくことが結構多いんですが、そのときよく聞かれるのが「アプリを作り直すと別アプリになってインストールし直しになりますか?」という質問です。

もちろん別会社で作るので引き継ぎできないもの(アプリ内だけに保存されてしまっているログイン情報とか) もありますが、基本的には作り直す前のアプリを引き継いで、ユーザーから見ると新規インストールではなくアップデートのように見えるやり方で新しいアプリに切り替えできるのでそのへんは心配ありません。

ただ、その引継時にいろいろ苦労することはあって、↓に引用したのはそのことでとても苦労したAndroidエンジニアの話です。ちょっと開発よりのマニアックな話なので、わかる方だけお楽しみいただければと思いますが、こんな感じでなんとかして対応しちゃうノウハウは我々持ってますので、アプリ開発会社を変えたいとかお考えの方、お気軽にお問い合わせください。




タイトル画像はぱくたそさんの「ホーム画面に並ぶアプリの無料写真素材」を使わせていただきました。




みんなにも読んでほしいですか?

オススメした記事はフォロワーのタイムラインに表示されます!