エンジニアtype - エンジニアのシゴト人生を考えるWebマガジン

なぜウォンテッドリーはiOSアプリ『Siori』を100パーセントSwiftで開発したのか

タグ : iOS8, iPhone 6, siori, Swift, ウォンテッドリー, 久保長礼, 弥真フィラース, 杉上洋平 公開

 

9月9日午前10時(日本時間10日午前2時)、米Appleはかねてから話題を集めていたiPhone 6発売を発表。同時にiOS8の正式リリース日を初めて公表した。

4000以上にもおよぶAPIやまったく新しい機能が追加されたiOS8の特徴はすでによく知られているが、このiOS8に完全対応した新しいアプリ『Siori』がウォンテッドリーから9月18日にリリースされた

iOS8の正式リリースに合わせて、約2か月前から開発に取り組んできたという3人の“チャレンジャー”に、アプリの特徴や開発までの経緯などについて話を聞いた。

Swiftで開発するメリットは豊かな表現力とコード量の削減

ウォンテッドリー株式会社『Siori』開発チームの(左から)弥真フィラース氏、杉上洋平氏、久保長礼氏

ウォンテッドリー株式会社『Siori』開発チームの(左から)弥真フィラース氏、杉上洋平氏、久保長礼氏

今回リリースした『Siori』を同社は、「Webマガジン配信アプリ」と位置づけている。最近ではテレビCMなどの効果もあり、ニュースやウェブ上の幅広い記事を収集・配信するキュレーションアプリが浸透したが、『Siori』は知的好奇心旺盛なユーザーへ向けてクオリティの高い世界観を持った媒体(雑誌)の記事を配信するプラットフォームであるという。

世界観の強いコンテンツを配信し、新たな発見やライフスタイルを提案することで、「シゴトでココロオドル」人を増やすのがこのアプリの狙いだ。

リリース当初は雑誌『WIRED』と『VICE』の記事を配信。今後もコンテンツを拡充していく予定だという。

こうした独特の世界観を持った雑誌とのコラボレーションもさることながら、特に力を入れたのがiOS8ならではの新機能に対応したUI/UXだ。開発メンバーの1人、弥真フィラース氏はこう話す。

「これまでのOSだと、フリックやスワイプした時に途中で止めたり戻したりという微妙な操作ができなかったと思うんですが、実際に雑誌をめくって読んでいるような感覚で操作できるようこだわりました」(弥真氏)

iOS8から採用された新しい機能として「Today Extension」と呼ばれるウィジェットがあるが、新たな記事が配信された場合に写真やイラストなどを含めて通知するといった表現力の高い工夫もなされている。

このアプリの開発プロセスで特筆すべきは、Appleが今年6月のWWDC 2014で発表したばかりの新しいプログラム言語、Swiftを使って開発されていることだ。よく知られているとおりSwiftは米国時間の9月9日、正式版となるバージョン1.0がリリースされたばかりだ。それまではβ版で提供されており、頻繁なアップデートや仕様の変更が予想されたため、全面的にSwiftだけを用いてアプリの開発を本格的に手がけている企業はまだまだ少ないはずだ。

それでも最初からSwiftで開発に取り組んだメリットについて、同社エンジニアの杉上洋平氏は次のように言う。

日本でのiPhone販売開始と同時にiOSでの開発を開始したという杉上氏。今回のSwiftも発表直後から開発を開始している

日本でのiPhone販売開始と同時にiOSでの開発を開始したという杉上氏。今回のSwiftも発表直後から開発を開始している

「僕はずっとiOSを専門に手がけてきたので、慣れているObjective-Cなどを使った方がもちろん早く確実に開発できると思います。でも、従来よりもコード量が少なくて済みますし、より良いUI/UXの実現に直結する“表現力の高い”開発ができるというメリットに気づきました」(杉上氏)

実測値でなく“実感値”ということだがコード量は従来の約6割くらいで済み、慣れるにしたがってエンジニアにとって望む開発がしやすい言語であることを体感できたと話す。

しかし、全てが順調というわけではない。新しい技術の導入にはもちろん、リスクも伴う。

「7月中旬から開発を始めて、今まで(取材時)アップデートが7回ありました。アップデートの度にSwiftがより磨かれて使いやすくなり、動作も安定していきました。しかし、影響する範囲が広いため、その都度、どこにどのような影響が出ているかを探ることから一日が始まりました」(杉上氏)

アップデートに伴って仕様の変更も行われるため、機能の一部が無効になるなどのエラーが、多い時には300か所にも達したことがあったという。その都度、エラーの原因がどこにあるのかを探り出し、修正する作業に追われたという。

「Web上でリファレンスを探そうにも新しい言語なのでまだ情報が少ないんですね。ですからエラーを発見するたびにOSの問題なのか、Xcodeの問題なのか、こちらのバグなのか、常に手探りの連続でした」(杉上氏)

この開発で得たノウハウを杉上氏はリファレンスとして『Qiita』にアップ。取材時点でストック数は2000超に達しており、あの小飼弾氏をも上回って首位を独走している(取材時)。

「挑戦」に抵抗のない企業文化が可能にした100% Swiftでの開発

Swiftのリリースが発表されたのは日本時間で6月3日。それからわずか2日後の6月5日、ウォンテッドリーは第1回の「Swift勉強会」を実施している。以後、7月中旬までの間に合計4回行われている。いち早く新しいプログラミング言語を使ってアプリ開発に取り組むだけでなく、広く社内外で最先端の技術について学び発信するという姿勢からだ。同社の文化についてエンジニアの久保長礼氏はこのように説明する。

「当社のメインのサービスである『Wantedly』はRuby on Railsで開発されているんですが、実は手がけたエンジニアは当初誰もがRuby on Rails経験者じゃなかったんです。ただ、最先端で評価の高い技術があるのであれば、より良いサービスやビジネスの提供にそれを活かしていこうというのは当社の姿勢であり、文化ですね」(久保長氏)

これからのデザイナーはユーザーの「体験」もデザインできる必要がある、と弥真氏は話す

これからのデザイナーはユーザーの「体験」もデザインできる必要がある、と弥真氏は話す

さらに、デザイナーである弥真氏もSwiftでのプログラミングもかなりこなしたと話す。

「やっぱりiOS8から新しく追加された最新の機能をアプリに盛り込んでいくにはデザインだけを手がけていてはダメで、3人でいろいろ分担しながらコードもずいぶん書きました」(弥真氏)

加えて、より良いモノを実現したいという思いから、納得できる完成形に至るまでに計3回、根本から開発し直したのだという。

「いったん使える状態にまでしたんですが、どうしても『もうひと工夫すればもっと良いモノにできる』と思ってしまうんです。そのたびにかなり悩みましたけど、どうせなら自分たちが目指す最高のものをと考えてやり直しました」(弥真氏)

全員が“チャレンジャー”になって会社のビジョン実現を目指す

この経緯を振り返って杉上氏、弥真氏も苦笑するばかりだ。

「やっぱり当社は『シゴトでココロオドル人を増やす』というミッションを掲げていますから、我々自身もチャレンジャーとしてハードルの高い開発に取り組み、ユーザーには新しい体験や新しい便利さを提供していきたいと思っています」(杉上氏)

これを受けて久保長氏もこう強調する。

「実はユーザーにとってはSwiftを使おうがRuby on Railsを使おうが、開発プロセスで用いるプログラミング言語ですから、あまり関係ないですよね。あくまでユーザーにとっての新しい体験だったり、使いやすさが実現できていれば。ただ、メリットが多くて今後主流になりそうな技術があれば積極的に最新・最先端のものを使って新しいものを創造していきたいとは思っています」(久保長氏)

今回リリースされる『Siori』は同社にとって実験的な側面が多い新規事業と位置づけられている。「とにかく1度ユーザーに使っていただいて、そのあとどんなフィードバックがあるかは我々も予想がつきません」と弥真氏は本音をもらす。

『WIRED』、『VICE』という個性的な雑誌の持つテイストはそのままに、雑誌を超えるアプリ体験やより深く記事を読みたいと思わせるUI/UXの実現には力を尽くしてきたと3人は声をそろえる。このためリリース後のKPIを、記事に没入して最後まで読んでもらう「読了率」に置いているという。

言葉で説明しても、なかなか伝わらないと思うので、とにかく1度ダウンロードして使ってみてほしい――。こう語る杉上氏の言葉からは、アプリのクオリティの高さへの自負が感じられる。

今後は知的好奇心を満たす新しいプラットフォームとして、長く進化させていきたいと彼らは語る。いくつもの困難を乗り越えた3人の若手エンジニアの挑戦の成果が今、試される。

取材・文/浦野孝嗣 撮影/竹井俊晴