長寿アプリのアップデートで気をつけたいところ

はじめに

cocone connectでクライアントエンジニアをしているMです。

思えばそれなりに長くスマートフォンアプリに関わってきたなと思いつつ、「長く続けてきたアプリのアップデート」でよくあることを、己の反省も含めてつらつらと綴っていこうかと思います。

スマートフォンのアプリを長く続けるということ

スマートフォンのアプリの多くは、もともとゲームソフトなどのエンタメ系ソフトで一般的であった「完成品を販売する」スタイルと異なり、「運営しながらアップデートを繰り返す」というのが一般的になっています。 (今更ご存知のこととは思いつつ)

多くのアプリが1年保たないなどと言われることもありますが、そんな中で2年、3年と着実にサービスを継続していくタイトルもあります。5年も続くアプリは十分に長寿と言えるでしょう。しかしながら、長く続けていくことで、良いところも悪いところも積み重なっていくものです…。

GB単位のダウンロード

長くアップデートを繰り返すことで、アプリ内で使用するデータやファイルも当然増えていきます。 特にゲーム系のアプリなら、キャラクターやアイテムなどは、増えることはあっても減ることはめったに無いでしょう。

 

そうなると問題になってくるのが、大量のアセットのダウンロードです。 特に、アプリ起動時に追加アセットを一括でダウンロードするような構造のアプリなら、新規ユーザーは利用開始直後の時点で数GBのダウンロードを強いられることにもなりかねません。 しかも、運営初期の限定アイテムなどは今更使うユーザーも少なかったりするので、実質的に使いもしないファイルをダウンロードしていたり。 こうなってしまうと、ただでさえ目新しくないアプリが参入ハードルまで上がってしまうことに・・・。

 

長く続けることを考えるなら、できるだけ必要なものだけを必要なときにダウンロードしてこられるような仕組みづくりが必要ですね。このあたりは、開発初期からできるだけ考えておきたいところです。

ちなみに、過去にこういった改修を行ったタイトルでは、DLサーバーの月間の通信量が半分ほどまで落ちたりも。運営費という点でも無視できなかったり。

設計の古さ

アプリ開発をしていて、たかが数年で古くなるなんて・・・と思う方はあまりいないかなと思われます。長期運用を続けていれば、どうしてもリリース当時の開発環境とは大きくかけ離れてきてしまいますが、スマートフォンアプリの開発環境の変化はここ10年の間に目まぐるしい変化がありました。(なんなら、いわゆる「ポチポチゲー」がまだ現役で産まれていたのがその頃ですね)

 

「古い = 悪い」という考えは必ずしも正しくはないでしょうが、多くの場合はAppleやgoogleからのリリースとなりますから、規約上の問題やOSへの対応などで、どうしても最新の開発環境にアップデートし続けなければならない場合も多いでしょう。 そうすると、開発当初は使えていた方法が、現在は使用できないということも起こります。

また、今ではエンジン側に用意されているようなものが開発当時に存在せず、オレオレ実装で作られていたりすると、いつの間にか中身を知っている人が誰もいなくなってしまっていたりという経験もよくあるのでは。

 

こういった問題が積み重なっていくと、機能開発にかかる工数がどうしてもかさむようになります。 「このくらいの改修ならすぐでしょ」なんて言って手を付けてみたら意外に根が深い・・・なんてことも起こりますね。

最初から先を見据えて作るのが大事、と言うは易し。意識していてもこういう問題は出てきてしまいます。 日々の更新を続ける中、どこを刷新し、どこを許容するかは課題になりますね。

増改築を繰り返されたUI・UX

機能の追加、改修を繰り返して行くと、メニューのボタンがやたら多くなってきたり、階層が深くなっていったりということがあります。 「手軽さ」も売りとなるスマホアプリの世界では(それ以外でも同じかもしれませんが)、こういった煩雑なUI・UXはあまり良いものではないですね。 このあたりは、機能追加のときにできるだけ気をつけるというのが大前提となりますが、改修しづらい設計がされていると、どうしても後付的な配置になってしまうことも。 もし時間が許すなら・・・と思いながら、さらなる追加機能の開発に追われ続けてどんどん積み上がるということもしばしば。

終わりに

ここまで書いてきましたが、「まだこういうのもあるだろ」というところが思い浮かんでいる方も少なくはないかもしれません。 私もまだまだあると思います。 とはいえ、エンジニア目線から見てどうしても気になってしまうところが、エンジニア以外からはあまり目につかないこともあります。 そういう部分の改修を行うのであれば、エンジニアだからこそ目を向けられる部分をしっかり見ていくことが大事かと思います。 そして、「気づいているけどスケジュールに組み込めない」という状態にならないように、しっかりまとめて説明できるようにしたいですね。

 


 

ココネでは一緒に働く仲間を募集中です。

ご興味のある方は、ぜひこちらの採用特設サイトをご覧ください。

https://www.cocone.co.jp/recruit/contents/

Category

Tag

%d人のブロガーが「いいね」をつけました。