大坪と申します。話題になっていたこちらの記事に便乗して、私たちがどうして「へやくる!」をiOS7 onlyにしたのか。その結果はどうだったのかについて書きます。
へやくる!のコーディングが本格的にスタートしたのは、私がWWDC2013から帰って来た後の事でした。初めてお披露目されたiOS7には圧倒されました。ちまたでは
「とうとうiOSもフラットデザインか」
という言われ方をしていましたが、WWDCに参加していた人は誰一人そんな印象を持たなかったと思います。それはまさにiOSのインタフェースはどうあるべきかを考え抜いた、深い洞察の具現化だと感じました。(スキューモーフィズムを好んでいたと言われるフォーストールが去ってから短期間でこれほどまでの変化を成し遂げた開発力には感服しますが、それはまた別の機会に)
iOS7がいつ正式リリースになるかの発表はもちろんありませんでしたが、毎年のサイクルからすると、どうも「へやくる!」のリリース時期と重なるような気がする。さてどうしよう?もちろん最新OS対応にしたいという気持ちはありましたが、すぐに全てのiPadユーザがiOS7に移行するわけではなかろう。まあ
「iOS6ベースで。ただしデザインはiOS7テイストを取り入れる」
ところかな、と思っておりました。
定例会議でそうした構想を話したところ、iOSサイドの開発を担当する人間から
「いや、ここはiOS7 onlyで最新のインタフェースを取り入れましょう!」
という言葉がありました。最新OS対応と言えば聞こえはいいですが、開発する側からすれば、サンプルもない、ドキュメントも限られる、NDA期間中はおおっぴらに情報交換もできない、といった茨の道を歩む事を意味します。
それを承知してなおiOS7 onlyを目指すとは。「へやくる!」自体挑戦的なUX実現を目標にしていましたので
「なんという心強い言葉。君がそういうなら、是非その方向で行こう!」
と言いました。先ほど述べた最新OS故の苦悩は全部iOSソフト開発者の肩にのしかかるわけですが、それを担う人間が挑戦しようというのだから「部外者」が止める理由は無い、などとのんきに考えておりました。
まさかそのクライアント開発が自分に降ってくるとは夢にも思わず。
仔細は省きますが、クライアントの検索条件設定と物件一覧のところは自分で書くはめになったわけです。iOS7専用にしたんだから、新しい機能を取り入れよう、といくつかUI部品を試作しました。WWDCではプレゼンをする人が口々に「もうサンプルはサーバーにアップロードしてあるよ」と語っていた筈なのに、待てど暮らせどサンプルコードは利用可能にならない。結局WWDCのセッションビデオを何度も見直すはめになります。しかしそれをなんとか克服し、物理エンジンを取り入れたスライダーとか、UINavigationControllerのTransitionとか、あるいはメモ帳みたいなちょっとへこんで見える文字とか作りました。
しかし結論から言えば、これらは最終的な製品には反映されませんでした。理由は単純で、従来の部品と比較した時にUX上でのメリットが見いだせなかったからです。「へやくる!」はユーザに新しいUXを提供することを目標としており、iOS7の新機能のテスト台ではない。ですから土曜日をつぶして作った部品が月曜日にあっさり没になる、ということが何度も起こった訳ですが、そのこと自体誇るべきことだと思っています。(一エンジニアの立場では”しくしくしく”ですが)
リリースした後になってみると、iOS7対応ということで、App Storeの該当セクションに掲載していただいたり、あるいは「おすすめアプリ」として取り上げていただいたりしたことが、新規ユーザを増やすという点で大きな効果があったことは事実です。しかし一エンジニアとして考えた時にその最大のメリットは「簡素な美しさ」でした。
それは何のことか?
アプリを開発する人間はおそらく一番多くアプリ画面を眺めることになります。特にUI部分を担当するときはそうです。リリースが近づいてくるといろいろなことが起こり、疲労もたまり行き詰まったように感じることもあります。
変な言い方ですが、そういう時にiOS7とそれにマッチした簡素で美しい画面(これはiOS7のコンセプトを理解した上で画面をデザインしてくれた人の努力の成果です)と相対しているのと、かつての「ガラケーサイト」のようなデザインを観ているのとではモチベーションの湧き方が全然違う。少なくとも私にとってはそうです。自分たちは美しい、すばらしいものを作っているのだという思いは、よれよれになったエンジニアにとって「砂漠で死にかかっている男に対するコップ一杯の水」くらいの効果があるわけです。
iOS6までとiOS7ではデザインに対する考え方が大きく変わりました。もちろん両方の環境で動作するアプリを作る事はできる。しかし「デザイン」というのは表面的な意匠にとどまる物ではない。iOS7のデザインテーマとして挙げられているClarity, Deference,Depthというコンセプトについて深く考えれば、自ずと意匠だけではなくユーザとのインタラクション、画面設計自体が変わってくる事に気がつくでしょう。つまりiOS6とiOS7の共用アプリを作ろうとすればこうした事実についてかなり慎重に考える必要がある、と主張したい。(具体例についてはまた別の機会に書くかもしれません)
WWDCでAppleが行ったiOS6/iOS7共用アプリについての説明は非常に歯切れが悪いものでした。一体何を言っているのだろう。考えたあげく、私は
「要するに作り直せ、といっているのだ」
と結論づけました。よれよれになりながらもようやくiOS7専用アプリをリリースした今では、そのことをより確信をもって語ることができます。
もちろんアプリ開発の事情は様々だと思います。あるバージョンのOSを使っている人が何%をきったらサポートから外す、というのは常に難しい判断です。しかし今回iOS7専用でアプリを開発するチャンスを得られた事は非常に幸運だったと今は考えています。