そこで、ユーザーが求めているものは同じ見た目ではなくコンテンツであるとし、細かいレイアウトの違いを受け入れるという引き算のアプローチのひとつである「Responsive Web Design」を提案した。Responsive Web Designとは、スクリーンサイズが異なるデバイスごとに最適なレイアウトを提供するものである。具体的な手法として、Liquid LayoutやFluid Imageなどを挙げた。Liquid Layoutは、各要素のwidthなどのスタイルをパーセント指定にすることによってスクリーンサイズによってコンテンツが柔軟に拡大・縮小されること。Fluid Imageは、あらかじめ大きなサイズの画像を用意することで拡大・縮小されても綺麗に見えるようにすることである。そして、Media Queriesを利用してスマートフォンやタブレット、デスクトップ向けにそれぞれ異なるレイアウトを提供することで、今あるデバイスに対応するだけでなく、今後増えていく未知のデバイスにも柔軟に対応できるとした。
マルチデバイスに対応するjQuery Mobile
次に、吉川 徹氏よりResponsive Web DesignとjQuery Mobileを組み合わせることでマルチデバイスに対応する手法について解説した。
最初に、これまでのセッションを振り返ってResponsive Web Designを簡単に紹介し、これで本当にモバイル向けに最適化されたサイトを構築できるかと疑問を投げかけた。そしてJason Grigsby氏の「CSS Media Query for Mobile is Fool's Gold」という記事を引用し、Media Queriesは見掛け倒しであると述べた。モバイルではスピードが何よりも重要であるということを前提としてMedia Queriesの技術的な課題をいくつか説明した。例えば、Responsive Web Designを構成する手法のひとつであるFluid Imageでは、モバイルには不必要に大きな画像をダウンロードさせること。Media Queriesでは不要なHTMLやJavaScriptを削除することができないこと。そのため、HTTPリクエスト数や全体のサイズを減らすことができないといったことを挙げた。そして何より、デスクトップ向けのWebサイトを単に再構成しただけでは、モバイルの利用シーンやニーズを考慮したサイト構築はできないと述べた。
しかし、今度は逆にResponsive Web Designはそれでも有用なアプローチであると述べ、Media QueriesをJavaScriptで補う方法をPPK氏の「Combining media queries and JavaScript」という記事から紹介した。例えば、Media Queriesの定義は、JavaScriptで次のように書くことができるため、JavaScriptを使ってMedia Queriesの欠点を補うことができると述べた。
そして、Responsive Web Designの一部としてスクリーンサイズを判断してモバイル向けにjQuery Mobileを組み込むことができるということを実際のサンプルを交えて解説した。そのためには、まずコンテンツをモジュール化することが必要だと述べ、実際にモジュール化を行ったデスクトップ向けのWebサイトに対してjQuery Mobileの属性を追加してページを作成する方法やページを装飾する方法などを説明した。
また、もうひとつのアプローチとして、jQuery Mobileの中でResponsive Web Designを活用する方法をjQuery Mobileの公式サイトを例に紹介した。その中で、Media Queriesを使って2カラムレイアウトやCollapsibleブロックの展開、スクリーンサイズに合わせたトランジションの方法やトランジション速度を変更する方法などを解説した。
そして最後に、ここで紹介したようなResponsive Web DesignやjQuery Mobileなど新しいアプローチや便利なフレームワークはいくつもあるが、それぞれ単体でモバイルにおけるさまざまな課題を解決する「銀の弾丸」のようなものはないと述べた。重要なのは、それらの利点や欠点を知り、ユーザーのニーズに最適なものを選択して、組み合わせていくことだとした。