モバイルからインフラまで─ソフトバンクの技術者魂を探る

ソフトバンクグループを支えるIT技術者の素顔

この記事を読むのに必要な時間:およそ 3 分

新たなチャレンジを求めてiOSアプリの開発に乗り出す

2008年7月に発売された「iPhone 3G」を皮切りに,日本におけるスマートフォンブームの立役者として業界をリードし続けているのがソフトバンクモバイルです。現在はLTE(Long Term Evolution)網の整備に積極的に取り組み,モバイル環境でのインターネット活用を支えるインフラを提供し続けています。

そのソフトバンクモバイルにおいて,社内のさまざまな部門からの要望に応じて多種多様なシステムを開発しているのが兵藤朋徳氏と大隅正志氏が在籍しているチームです。彼らの開発チームでは,最近になってiPhone/iPad向けのソフトウェアを開発する機会が増え,iPhone/iPadを使った採用支援システムや来客管理システム,さらにはAppStoreで公開している『お父さんユーティリティアプリ』図1などの開発に携わっています。

図1 ソフトバンクモバイルが提供している『お父さんユーティリティアプリ』

図1 ソフトバンクモバイルが提供している『お父さんユーティリティアプリ』

このようにiOSをターゲットとしたアプリを開発するようになった背景について聞くと,兵藤氏は次のように答えました。

「情報システム部門の中で働いていると,メインは業務系のシステムなのでiPhoneアプリを作る機会はそれほど多くないと思うんですね。ただ,それだと自分が対応できる技術の範囲が広がっていきません。また,そもそもソフトバンクモバイルは自分たちでiPhoneを販売しているわけですから,iOS向けのアプリを作れるようになっておくべきだろうという考えもありました。そこで,マーケティング部門が外注して作っていたiPhoneアプリを自分たちで開発したり,あるいは社内システムを構築するときにiPhone/iPadを取り入れたりしながら,iOSでのアプリ開発のノウハウを蓄えてきたというわけです。なので必然性があったというよりも,自分たちでiOS用アプリを開発してみたいというところがスタートですね」⁠兵藤氏)

最近では社内システムのクライアントとしてiPhoneやiPadが使われるケースも増えており,それに伴ってiOS用アプリの開発ニーズも高まっています。ただ実際に開発する際には,言語が大きな壁になると兵藤氏は話します。

「ものすごく単純ですが,そもそもObjective-Cで開発できる技術者が少ないですよね。特に業務系システムを開発している場合,言語としてはやっぱりJavaが多くて,そもそもC言語を使った経験があるエンジニアは多くありません。そこがまず大きな壁かなと思っています」⁠兵藤氏)

写真1 兵藤朋徳氏

写真1 兵藤朋徳氏

iOSでのネイティブアプリの開発はObjective-Cが基本となるため,まずはこれを習得する必要があるというわけです。ソフトバンクモバイルにおいても,Objective-Cに精通した開発者がいたわけではありませんでした。

「ソフトバンクモバイルでは,やっぱりJavaを使った開発が多いですね。一部にVisual Basicなどの.NET系のものもありますが,割合としてはJavaが圧倒的です。ただ今のチームは,あまり言語に対する抵抗がなくて,とりあえずやってみようかという感じでObjective-Cを使い始めました」⁠大隅氏)

「何かの言語の基本がわかっていれば,あとは応用でどうにでもなるという考え方ですね。なので,私たち自身はObjective-Cにあまり抵抗はなかったです」⁠兵藤氏)

ソフトバンクのエンジニアが語るiOSアプリ開発のコツ

iOSが関わるプロジェクトをいくつも経験してきた兵藤氏と大隅氏は,実際に開発する中でどういった点に難しさを感じているのでしょうか。

「特にWebアプリケーションとして作る場合ですが,リッチなユーザインタフェースを実現しようとすると,現状のiPhoneやiPadはPCほどのパフォーマンスがあるわけではないので,重くなってしまったりパフォーマンスが低下したりします。なので,iPhoneやiPadの処理能力を考えながら作っていくことは重要だと思います」⁠大隅氏)

兵藤氏はユーザからの要望に対応することの大変さを語ります。

「通常のシステム開発の場合,まず要件定義があって設計,開発と進み,それからテストと受入試験といった流れがありますよね。規模によってそれぞれのプロセスの期間が変わることはあっても,基本的な流れ自体は大きく変わらないと思います。ただiPhoneやiPad向けのアプリ開発の場合,要件どおりのものを作ったとしても,テスト工程で変更要望が数多く発生します。実際に作って動かしてみると何か違うので手直ししてほしい,というわけです」⁠兵藤氏)

こうした変更要望にスムースに対応するため,兵藤氏たちはテストフェーズの前にデザインを確認するための工程を設けています。

「最初に動きの部分や機能を詰め,その次にデザインをチェックしてもらい,それが確定した段階でデザインと機能を組み合わせて再度確認,という流れにしています。業務システムの場合,まあこんなもんだろうという諦めのような感覚があると思うんですね。しかし,iPhoneやiPadアプリの場合は発注側もたくさんアプリを見ているので,こんなふうにしたいという要望が出やすいんだと思います」⁠兵藤氏)

ちなみにアップルは「iOSヒューマンインタフェースガイドライン」というドキュメントを公開しており,この中でiOSアプリのユーザインタフェースのデザインについて細かく言及しています。開発するアプリのインタフェースをこれに準拠させれば,アプリごとのユーザインタフェース上の差異が小さくなり,これによって1つのアプリに慣れればほかのアプリでも違和感なく使い始められるというわけです。こうしたユーザインタフェースへの気遣いは,業務用アプリケーションの世界ではあまりないものと言ってよいでしょう。さらに大隅氏は,できるだけ早い段階でプロトタイプを見せることも重要だと言います。

「やっぱり実物を見ないと,チェックする側もイメージが湧かないですよね。こういうアプリがほしいというイメージはあるんですけれど,実物を見ないと具体的な要望が出てこないことが多いんです。なので,とにかく要望を引き出すために,見せられるものを早く作ることが重要だと思っています」⁠大隅氏)

兵藤氏は実例として『かざしてGO!』図2というアプリを開発したときのやりとりを説明してくれました。

「⁠かざしてGO!』を開発したとき,最初のフェーズでユーザインタフェースについて散々話し合って,その結果をもとに作り込んだんです。しかし,いざ確認してもらうと,気に入らないということで全部作り直しになりました。それでデザイナの方が入って,ユーザインタフェースの部分をデザインし直したんですね。それで,そのデザインに沿って作り直したんですが,それでも『ここがちょっとずれてる』といった形で1ヵ月くらい修正していました。もう機能はほぼできあがっているんですが,見た目がちょっと気に入らないとか,ボタンの大きさはこれでいいのかとか,そういう議論なんです。そういうやりとりが続いて,リリースするまでが結構大変でした」⁠兵藤氏)

図2 特定のポスターやチラシ,テレビCMなどをカメラで写すとお得な情報が得られる『かざしてGO!』

図2 特定のポスターやチラシ,テレビCMなどをカメラで写すとお得な情報が得られる『かざしてGO!』

コメント

コメントの記入