SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2012】セッションレポート(AD)

【デブサミ2012】16-A-4 レポート
グリーが考えるスマートフォンの快適なユーザー体験とは

  • X ポスト
  • このエントリーをはてなブックマークに追加

スマートフォンUX固有の課題と解決策

 ただ実際のスマートフォンへの移植では、いくつかの問題も発生している。まず「onClick delay」。WebKitのonClickイベントは、ダブルタップに備えるため、実際に実行されるまで300ミリ秒程度の遅延がある。そこですぐに反応するonTouchStartとonTouchEndに変えた。

 ただ、すべてを完全に置き換えることには問題がある。例えばボタンクリックでハイライトし、スクロールする場合。指が外れたらハイライトを消したいのだが、スクロールが終了するまで画面が更新されないため、それまでハイライトが残ってしまう。ただ、それ以上にonClickイベントの遅れ感の方がユーザーには快適ではないため、優先使用している状態だ。

 もう一つの問題はTimeline Context。例えばSNSアプリで友達の一覧があり、縦にスクロールして見つけた1人のプロフィールを見て、戻るボタンで一覧に戻ると、スクロール位置が先頭に戻ってしまう(図2)。これはHTMLで、Ajaxベースで作成していることに起因する問題なのだが、ここは普通にHTMLでキャッシュなどを効かせれば、元のスクロール位置に戻れる。

 面白い例としてグリーが買収したOpenFeint社Game Channelというアプリは、ネイティブアプリの機能でスライドアニメーションをしている。ホーム画面のHTMLから次のHTMLを読み込み、前のコンテキストを維持し、別の画面へのアニメーションも出すことで、切り替わりをアピールする仕組みとなっている。ネイティブの機能を使いながらUXを上げようという取り組みの一つだ。

 3つ目の問題はオフラインだ。モバイル機器なので、常にネットワーク環境が整った場所で使われるとは限らない。そのため、オフラインモードで使われたときに、ユーザー体験に非常に大きな影響を与える。そこで例えばグリーのSNSアプリでは画面が全面的に切り替わり「ページを読み込めませんでした。通信を確認して再度アクセスしてください」という表示が出てしまう。確かにSNSでは、他の人の情報取得が必須のために仕方がない面もあるが、別のゲームアプリではコンテキストは維持したまま、アラートを出す仕組みになっている。これは例えば地下鉄の駅の間で通信が途切れたときに休み、通信が回復したら続きをやればいいのでまだベターだと言える。

 Pathというアプリは、フライトモードにしても写真投稿の操作ができる。実際はオンラインになったときにデータが送られるのだが、ごく自然にオフラインの状態を回避し、ユーザーが期待した操作を止めないようになっている。「スマホではネットワークが切れることがあるという前提で、ユーザーはその際に何をしたいのかを考え、アプリを設計する必要がある」(米川氏)。

 グリーがUXを重視する背景には、ソーシャルゲームで主流になっているゲームスタイルがある。それは「あるアクションをしたら、ある程度時間が経過してから次のアクションが可能になる」というものだ。そこで重要になるのは、「継続してプレイしてもらうこと」になる。もちろんゲームのおもしろさが必要だが、インターフェースのデザインに不備があり、ユーザーが不満を感じてしまうと離れてしまう。コミュニケーションのインフラであるSNSも同様、操作上に障壁を作ってしまうとサービスが育たない。

 米川氏が最後に挙げた課題は「クロスプラットフォームとOSの文化の壁」だ。最近ではiPhoneとAndroid端末に同じUXを提供する動きが一般的になっている。典型的な例がFacebookで、両OSの画面はほとんど変わらない。

 逆の例はEvernoteになる。iPhone版はノート管理が主眼でメニュー一覧が縦に並ぶ「機能ベース」という雰囲気の画面になっている。Android版ではサービスのアイコンが並んでいる。Androidはあるアプリから別のアプリにいきなり飛んで連携させることも多い。米川氏は「クロスプラットフォームは神話」という意見に賛意を示す。すべてのアプリをまったく別々に作成するのは大変なため、クロスプラットフォームで開発する価値はもちろんあるが、あくまでユーザーの文脈を壊さないことが前提だ。

 ユーザーはそれぞれのOSに最適なインターフェース、機能を持つアプリを求めている。例えばAndroidユーザーは、Androidの文脈の中でアプリケーションを使う。その中でiPhone風のインターフェースがいきなり紛れ込んでくると、戸惑ってしまう。文脈に沿わないUXを作ってしまうと、次にそのアプリケーションを立ち上げようというモチベーションを削ぐことになる。スマートフォンのUXでは、OSの文化をきちんと理解してデザインすることがポイントになる。

図2:いかにコンテキストを維持するか
図2:いかにコンテキストを維持するか
お問い合わせ

GREE Engineers' Blog

http://labs.gree.jp/blog/

グリー株式会社

東京都港区六本木6-10-1 六本木ヒルズ森タワー

http://www.gree.co.jp/

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
【デブサミ2012】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6454 2012/03/14 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング