今日(米国時間9/17)、あるRedditユーザーが、App StoreでiOSの旧バージョンを使っているユーザーが、互換性のある最後のバージョンのアプリをダウンロードできるようになったことを発見した。これはすばらしい機能で hwj、古いiOSしか動かないデバイスの所有者には朗報だ。
しかし、同機能の実現方法がデベロッパーにとって不透明であることが疑問を呼んでおり、ユーザーにとっても問題になる可能性がある。
実際しくみは極めて単純で、ユーザーにとってもわかりやすい。もしユーザーが旧バージョンのiOSしかサポートしていないデバイス ― 例えばiPhone 3GSとiOS 6 ― を持っていて、iOS 7でしか動作しない最新版アプリをダウンロードしようとすると、〈最後に互換だったバージョン〉がダウンロードされる。そこには面倒もなく、ユーザーは動作可能なバージョンが手に入るだけだ。
これは実に賢明なやり方であり、iOS 7の技術を今すぐ導入するかどうか、という一部デベロッパーのためらいを軽減させるだろう。私が話したデベロッパーの多くは、iOS 7専用バージョンのアプリも出荷する計画だ。新機能はそうしたデベロッパーにとっても、古いハードウェアのユーザーが自社アプリの旧バージョンを使ってくれるので有難い。
皮相的な見方をする人もいる。これがAppleのリスクヘッジだという考えだ ― 万が一、iOS 7への移行が遅れた時のために。先を急いだデベロッパーたちが取り残されずに済む。
このやり方のデベロッパーにとっての問題は、Dragon ForgedのKyle Richterらが早速指摘している。
「あらゆる複雑なアプリ、特にAPI駆動のアプリは、何年も放置された後に動作する可能性は稀少だ。動くとしてもひどく不安定でバグも多いだろう」とRichterは言う。「その結果は? ユーザーは水準以下の製品を公開したとデベロッパーを責める、なぜなら平均的ユーザーはソフトウェア開発の事情を理解していないから。これがアプリのレビュー評価を下げ、デベロッパーのサポート負荷を増やすことになる」
簡単な例を挙げると、お気に入りのTwitterクライアントの新しいV1.1 APIをサポートしていない旧バージョンを旧iOSにダウンロードすれば、バグが多発するか全く動かないかのどちらかだ。
デベロッパーコミュニティーの複数の情報源によると、AppleのiTunes Connectダッシュボードには、デベロッパーが自分のアプリのどのバージョンがどのiOSバージョンに配信されるかを見るオプションがない。この不透明さだけでも、カスタマーサポートを混乱させる原因になる。
しかも、デベロッパーには旧バージョンの問題を修正して再アップロードする手段もない。要するに、旧iOSユーザーは、デベロッパーが永久に修正できない問題を抱えたアプリをダウンロードすることになるかもしれない。これは多くのデベロッパーにとって悪夢だ。
また、この「アプリ復活」機能のシステムに詳しい情報源は、システムがそのように作られていることを確認している。デベロッパーは旧バージョンを修正して新しいバイナリーをアップロードすることも、古いバグ有バージョンを「消し去る」こともできない。
恐らくAppleは、デベロッパーが申請した旧バージョンアプリをすべて保存しているに違いないので、この機能を実現することが可能だったのだろう。
しかし、いくつかの要素によって問題の対象が絞られる可能性があることは指摘しておくべきだろう。第一に、iOSの移行率は常に極めて高い。(それが可能な)iOSユーザーの80~90%は、1~2週間のうちにiOS 6に移行している。もしiOS 7が問題なく立ち上がれば、iPhone 4以降のデバイスの殆どは、非常に早く新OSに移行し、こうした復活アプリの必要もなくなるだろう。
それでも、アップデートしない、あるいはできないユーザーが一定の割合存在する。そこにはiPhone(まだ存在している)、iPhone 3G、iPhone 3GS、iPod touch 1~4世代、および初代iPad等のユーザーも含まれる。
新機能の恩恵を一番受けるのはiPod touchユーザーだろうが、古いiPhone、iPadユーザーも使い勝手が上がるだろう。そのための複雑な操作も不要だ。ただApp Storeで新しいアプリをダウンロードすれば、自分のiOSで動くバージョンが手に入る。
残念ながら、それらのアプリのデベロッパーは同じ恩恵を受けることがなく、少々ひどい仕打ちを受ける。iTunes Connectのダッシュボードにちょっとした変更を加えるだけで、デベロッパーはどのバージョンのアプリが問題を起こしているのかがわかるし、さらには旧デバイス用のバージョンのアップロードもできるようになるのだが。
現時点でそれは起こりそうにないが、望みを持ち続けることはできる。
「デベロッパーが序列の一番下にいることは衆知の事実だ。Appleが何より第一に気にかけるのはAppleであり、次がユーザー、最後がデベロッパーだ」とRichterは言う。この言葉は、今回のケースにも正確にあてはまりそうだ。新システムはAppleのためにダウンロード数を増やし、ユーザーのために顧客体験を向上するが、デベロッパーには大きなサポート問題を残す。
[原文へ]
(翻訳:Nob Takahashi)