カテゴリー: 技術

#c189b6

  • なるべく沢山のスマホ・タブレットで、快適に見られるレイアウトの実現(第2回/全3回)

    なるべく沢山のスマホ・タブレットで、快適に見られるレイアウトの実現(第2回/全3回)

    こんにちは!やっと風邪に勝利した岩間です。
    さて、今回と次回にかけて、設定したJavaScriptを紐解きながら解説していきます!

    前回の記事をまだ読んでいない方は併せてどうぞ!
    >>なるべく沢山のスマホ・タブレットで、快適に見られるレイアウトの実現(第1回/全3回)

    表示領域をスマホごとに合わせる

    ○その1 ページ全体を画面に合わせる

    ページ全体が縮小されてしまうため、スマホ用にViewportを設定します。
    スマホごとに違う画面幅に合わせるため、meta要素を追加しました。

    <meta name="viewport" content="width=device-width, initial-scale=1">

    width=device-widthで画面幅に合わせ、initial-scale=1でページの倍率を指定しています。
    これで、スマホページでも綺麗に表示することができました!

    ○その2 タブレットだけ表示領域を固定する

    image05

    タブレットでPCページを表示すると、一部のコンテンツが画面からはみ出てしまいました。PCページをタブレットの画面幅で表示するのは少し難しいようです・・・。
    でも、崩れているのはタブレットだけなのでmeta要素自体は変えたくない!

    何かいい方法はないかと調べてみると、要素の中身だけを切り替えられるコードを見つけました!
    そのコードを参考に設定したJavaScriptを早速解説していきます。
    今回の目的は、タブレットだけViewportを切り替えることです。
    タブレットでは、PC表示でのコンテンツサイズに合わせて表示させたいと思います。

    変数を作って必要なものをいれていく

    まずは分岐させるのに必要な変数を設定していきます。
    ここでの式は左辺と右辺は等しいという意味ではなくて、左辺に右辺を代入するという式なので注意が必要です!

    var spWidth = '小さいスマホのサイズ';
    var tbWidth = '大きいスマホのサイズ';
    var maxWidth = 'タブレットのサイズ';
    var spView = 'スマホで表示するための設定';
    var tbView = 'タブレットで表示するための設定';
    

    表示を切り替えるコードを書いていく

    今回は、画面を横に倒したときにもjQueryが実行されるようにイベントを設定しました。
    この中に、「もし○○の時△△を実行し、□□の時は××を実行する」という分岐を以下の内容で設定します。

    1. 画面幅がtbWidthより小さい時、ViewportをspViewにする
    2. 画面幅がmaxWidthより小さい時、ViewportをtbViewにする
    $(window).on('orientationchange resize',function(){
    	if /* 1 */( tbWidth > screen.width ){
    	 /* 処理 */$('meta[name=viewport]').attr('content',spView);
    	}
    	else if /* 2 */(maxWidth > screen.width){
    	 /* 処理 */$('meta[name=viewport]').attr('content',tbView);
    	}
    }).trigger('resize');

    実際に切り替えてみると、meta要素が書き換わって綺麗に表示できるようになりました!

    ○まだ不具合が・・・

    image04

    スマホとタブレットで表示領域を切り替えたことによりどの端末でも綺麗に見られるようになったと思いきや、タブレットを横にしたときに余白ができてしまいました。

    この余白はなんだ???

    よく見てみると、タブレットを横にしたときは画面幅がコンテンツサイズより大きくなっていることに気がつきました!
    確かにサイズを固定してたら拡大されないですよね・・・。盲点でした・・・。
    一応綺麗に見えてはいるけれど、ちょっと気になります;

    そこで、タブレットが横になったときはPCで見るのと同じ表示になるようにコードを追加してみました!

    /*最後の分岐に追加*/
    else if(maxWidth < screen.width ){
     $('meta[name=viewport]').attr('content',spView);
    }

    これでどんなスマホでもタブレットでも綺麗に表示できるようになりました!
    恐らくもっと簡単かつ良い方法もあるかと思いますが、端末ごとに設定することで私にはわかりやすい書き方ができたと思います(^o^)
    次回はAutoHeightの設定を、cssの設定も併せて解説していきます!

    第1回:なるべく沢山のスマホ・タブレットで、快適に見られるレイアウトの実現(第1回/全3回)
    第3回:なるべく沢山のスマホ・タブレットで、快適に見られるレイアウトの実現(第3回/全3回)

  • なるべく沢山のスマホ・タブレットで、快適に見られるレイアウトの実現(第1回/全3回)

    なるべく沢山のスマホ・タブレットで、快適に見られるレイアウトの実現(第1回/全3回)

    はじめまして、今年入社したての岩間です。
    雨にも負けず風にも負けず、風邪には全敗しつつ仕事に励んでいます!
    入社して半年・・・私は1からJavaScriptの勉強を始めました。
    今回から全3回に分けて、実際に仕事としてプログラムを書く上で困ったことと、私が行った解決方法を紹介していきます!

    スマホ対応で困ったこと

    その1 ページ全体が縮小されてしまう

    文字サイズやスマホ用に作った画像が縮小され、構成する際、大幅に拡大しなければなりませんでした。
    画面サイズとコンテンツサイズをそれぞれ確認してみると、幅320pxの画面に、幅980pxのコンテンツが表示されています・・・。

    その980pxってどこからきたの!?

    調べてみると、スマホ表示にはViewport(ビューポート)の設定が重要だったようです!
    Viewportとは表示領域のことで、何も指定しないとデフォルト値の980pxになり、小さくなってしまったというわけです。
    これで内容が縮小されてしまう原因がわかりました!

    その2 タブレットの表示領域がPC表示に合わない

    イメージ

    スマホ用にViewportを設定したはいいものの、iPadなどのタブレットでPC表示をするとき、一部のコンテンツが画面からはみ出して無駄な余白ができていました。

    はみ出た分だけ横にスクロールできるようになってしまって、不恰好です・・・。

    原因はコンテンツごとに幅の指定方法が違ったからのようです!
    画面に合わせたいコンテンツ(ヘッダー等)は幅100%の指定をしているので、Viewportの範囲内で幅いっぱいになります。しかし、大きさを固定しているコンテンツは画面サイズで横幅が変わらないため、画面内に納まらずにViewportからはみ出て、余白ができてしまいました。

    その3 環境によって画像一覧の見え方を変えたい

    image03

    リストの高さがバラバラで、回り込んだリストがズレてしまっていたのを、AutoHeightを使って整えていました。AutoHeightは揃えたい要素の全体を一番高いものに合わせる方法と、指定した数ずつ揃える方法(2つなら2つのうち高いほうに揃う)があります。
    今回は、PC表示では3つずつスマホ表示では2つずつ高さが揃うようにしました。

    でも、大きい画面のスマホを横にしたとき、2つずつでは画像が大きくて見辛くなります。
    逆に、画面の小さいスマホは縦でも横でも2つずつでないと画像や文字が小くて見辛くなってしまいます。

    私は、2つはスマホ表示、3つはPC表示という固定概念に囚われてかなり悩みました。

    nexus7はPC表示にしたいけど、nexus7の幅で切り替えると変えなくてもいい機器までPC表示になってしまう・・・。一体どうすれば・・・。

    ここで上司から救いの一言
    「難しく考えすぎ。大きいスマホは、スマホ表示でリストを3列にすればいい。

    なるほど・・・!!

    これで全部の解決策が出てきました。
    そして、悩んで悩んで沢山調べて沢山試したおかげでjQueryをどういう風に書けばいいかわかるようになっていました(感涙)。

    さて、具体的な解決方法については、次回からjQueryの記述と併せて解説していきます!

    第2回:なるべく沢山のスマホ・タブレットで、快適に見られるレイアウトの実現(第2回/全3回)
    第3回:なるべく沢山のスマホ・タブレットで、快適に見られるレイアウトの実現(第3回/全3回)

  • iBeaconで変わっていく、これからの情報発信

    iBeaconで変わっていく、これからの情報発信

    ただいま「iBeacon」対応アプリを開発中!!

    現在弊社では、米Apple社「iBeacon」に対応したアプリの開発と、関連サービスの企画を行っています。まだまだブラッシュアップ中ですが、これからiBeaconについて少しずつご紹介していきたいと思います!

    今回は皆様に開発中のiBeaconアプリをご紹介するに当たり、手始めに、モナ・リザを手配(右写真)しました。

    今回作ってみたのは、ビーコン(緑色の基盤)にiPhoneを近づけると関連情報を表示するアプリです。

    iPhoneがモナ・リザの台座から発信されている信号を識別し、自動的にレオナルド・ダ・ヴィンチの情報を表示します。関連情報はCMSで管理し、テキストや静止画のほか、音声や動画を再生することも可能です。

    で、そもそも「iBeacon」ってなにもの?

    「iBeacon」とは、AppleのBluetoothLEを使った技術のことを言います。信号を発信する「ビーコン」と、ビーコンからの信号を受信する「iPhone」の組み合わせによるサービスを実現します。

    例えばこんな使い方

    例えば飲食店での活用の場合、こんな使い方があります。

    1. 飲食店の店頭にビーコンを設置することでお客様の来店を促します。
    2. レジ付近に設置したビーコンでは、次回の来店を促すクーポンを配布することができます。
    3. ビーコンの受信情報から来店回数や時間などを記録することで、マーケティングにも活用することが可能です。

    「いろいろ使える」から「みんなが使える」時代へ

    これまで上記のようなサービスは、QRコードや専用アプリなどで実現していましたが、もっと簡単に、もっとみんなが使えるサービスとして、提供することができるようになります。

    • これまでのサービスは?
      スマートフォンを取り出し、数あるアプリの中からクーポンアプリや、QRコード読み取りカメラを「自分で起動」します。来店したお客様は、アプリを起動することを思い出し、行動してもらう必要があります。
    • iBeaconを活用したサービスだとこうなる
      あらかじめアプリを起動しておく必要はありません。ビーコンを探知すると、自動的にアプリが起動します。お客様はスマートフォンを取り出すだけで、意識せずサービスを受けることができます。


    上の画像はビーコン送致を販売しているEstimote社が作成したプロモーション映像の一部です。このプロモーション映像を見ていただくと、iBeaconでどんなことが実現できるのかがわかりやすくまとめられています。
    http://youtu.be/sUIqfjpInxY

    多様化する社会、これからの情報発信に求められるもの

    スマートフォンのユーザーは年々増加し、利用者の年齢層もさまざまです。普段からスマートフォンに慣れ親しみ、活用しているユーザーもいれば、なかなか使いこなせていないユーザーも存在しています。

    iBeaconの登場により、これからの情報発信のかたちを見直す機会が訪れたのかもしれません。
    次回はiBeaconについてもう少し詳しく、具体的なサービスや事例なども交えてご紹介していく予定です。

    [contact]

  • ハイブリッドアプリを活用したデジタルサイネージサービスを開発しました

    ハイブリッドアプリを活用したデジタルサイネージサービスを開発しました

    ハイブリッドアプリ開発の技術を活用した、デジタルサイネージサービスを開発しました。インターネット上のバックエンドシステムにて管理する広告を、タブレット端末で表示することが可能です。表示する広告は端末ごとに指定できるため、設置場所や目的に応じてご利用いただくことが可能になりました。またタブレット端末を大型モニタに接続することで、大画面サイネージとしてご活用いただくことも可能です。

    デジタルサイネージサービスのイメージ

    エクサソリューションズのデジタルサイネージ 特長

    • 従来のデジタルサイネージと比べ、安いコストで導入できる
    • ハイブリッドアプリでの開発のため、様々なOSや機種に対応できる
    • 日時を指定した公開・非公開のコントロールが可能
    • 広告はインターネット上のシステムで管理。いつでもどこでも素早い更新を実現

    こんなシーンでのご活用をご提案します

    • イベント会場の行事案内に
    • 展示会での製品紹介・アピールに
    • 企業・団体様窓口の案内表示に
    • 飲食店様タイムセール等の告知に

    お客様の業態にあわせてご提案させていただきます。是非お気軽にお問い合わせください。
    [contact]

  • バーチャルスタンプラリーシステム stamp+ 【スタンプラス】

    バーチャルスタンプラリーシステム stamp+ 【スタンプラス】

    スマートフォンで参加するバーチャルスタンプラリーシステムを開発しました。

    ■stamp+ 【スタンプラス】
    http://www.loco-navi.com/stamplus/

    スマホの位置情報を利用しているので、実際にスポットまで行かないとスタンプが押せない仕組みです。

    サービス運営に必要な、iPhone、Androidに対応したアプリと、情報を管理するバックエンドシステムをご提供いたします。まだアプリは公開していませんが、体験してみたい方は是非弊社までご連絡ください。


  • 株式会社ニコフィーバルーンパーク様 iBooks

    株式会社ニコフィーバルーンパーク様 iBooks

    株式会社ニコフィーバルーンパーク様のiBooks制作を担当させていただきました

    株式会社ニコフィーバルーンパーク様が手がけるバルーンドレス、Feuce(フーチェ)のiBooks制作を担当させていただきました。iBooksはiPad専用の電子書籍で、複数のページを切り替える写真ギャラリーや、動画、3Dオブジェクトなどを活用したインタラクティブな表現が可能です。

    [contact]

  • 「トップへ」戻るボタンがスクロールした時だけ現れる理由

    「トップへ」戻るボタンがスクロールした時だけ現れる理由

    ユーザーの利便性を向上させる「トップへ」戻るボタン

    最近のホームページには必ずといっていいほど設置されている「トップへ」戻るボタン。
    特に、縦に長いサイト、メインメニューが最上部に設置されているサイトでは必ずと言っていいほど使われており、ユーザーの利便性を向上させる重要な機能のひとつです。

    いつの間にか現れる「トップへ」ボタン

    本来ページ最下部に設置されていることが多い「トップへ」戻るボタンですが、当ホームページにはありません。ページを下へスクロールすると、突然右下にボタンが現れ、その場に常駐するようになっています。まるでボタンがそこに隠れていたみたいですね。

    スクロールした時だけなのはなぜ?

    ボタンがスクロールした時にだけ現れるようにしたのには理由があります。
    そもそも皆さんが「トップへ」戻るボタンを使うのはどんなときでしょう?ページの内容を読んで、下へスクロールしたときですよね?次に、ボタンを押すのは一番下までスクロールしてからでしょうか?文章の途中でも最上部のメニューが必要になるときはありますよね?
    そうです。この「トップへ」戻るボタンは、皆さんユーザーの利用状況を考えて設置されているのです。

    ユーザーの利用状況を中心に考えたウェブデザイン

    ウェブサイトやアプリのデザインはただキレイ、カッコイイというだけではいけません。ユーザーの利用状況を推測しユーザーにとって何が望ましいかを検証すること、これを「ユーザー中心設計」とも言い、デザインとってとても重要なプロセスです。なぜならユーザーがそのウェブサイトを「使いやすい」と感じることで、閲覧時間が長くなり、再訪問率の向上にも繋がるからです。

    あなたのウェブサイトはユーザーのことを考えられているでしょうか?一度、ユーザーと同じ気持ちになってサイトを使ってみてください。「あれ?なんだか使いにくいな…」と感じたかたは当社にご相談を!

    [contact]

  • 微妙な変化に意味がある。ボンヤリ背景の色が変わるリンクボタン

    微妙な変化に意味がある。ボンヤリ背景の色が変わるリンクボタン

    当ホームページのリンクボタンはカーソルを乗せると、ボンヤリと背景色が変わります。え?微妙すぎてわからないですか?そうです、その微妙な変化に意味があるんです。
    ※対応ブラウザ:Chrome、Safari、Firefox

    微妙な変化=自然な感覚

    注意していないとわからないような微妙な変化、これがユーザーの「感覚」に大きな影響を与えます。次のサンプルにマウスカーソルを合わせて比べてみてください。

    リンク1リンク2リンク3

    これは今までの一般的なリンクボタンで、カクカクとして無機質な印象をうけます。

    リンク4リンク5リンク6

    反対にこちらのリンクボタンは、どことなく自然な感じを覚えませんか?これは背景色が?ボンヤリ変わるアニメーションを使用しているためです。

    「自然さ」「リッチ感」の演出

    イメージこういった微妙な変化は、感覚的に「自然さ」や「リッチ感」といった印象を与えます。

    デジタルの世界では、ほぼ0秒でボタンの色を変えることが可能ですが、現実の世界ではありえません。時間をかけて変化することが私たちの感覚では「自然」なのです。この手法はiPhoneのインターフェイスで有名です。例えばiPhoneのスクロールの操作は、画面に表示されたページを実際に触れているような感覚を再現しています。

    また、すぐ点灯する蛍光灯よりも、少し時間のかかる白熱灯のほうが高級感を演出できるように、時間にゆとりをもたせることでリッチなイメージや安心感を与えることもできます。

    CSS3の機能「CSS Transitions」でより簡単に

    今まではアニメーション用のプログラムを組むことで再現していた機能ですが、ウェブサイトのカラーやレイアウトを定義する言語のひとつ「CSS3」の登場で格段に簡易性と自由度が上がりました。今後のデザインの演出として使用してみてはいかがでしょうか。

    [contact]

  • さりげなく、それでいて目をひく背景動画

    さりげなく、それでいて目をひく背景動画

    イメージ
    ここ最近、背景やメインイメージに動画を使用したウェブサイトが増えてきています。当ホームページのトップページでも、メインイメージの背景に動画を使用しています。

    HTML5の登場で動画挿入が簡単に

    イメージこの傾向の最大の要因は「HTML5」の存在にあります。HTML5とは、ウェブサイトを構築する基本的な言語である「HTML」の最新バージョンで、表現力を向上させる新しい機能を想定して作られていることが特長です。
    これまでウェブサイトに動画を挿入するには、複雑なスクリプト(プログラムの一種)を記述する必要がありましたが、HTML5の機能を活用することで、大幅に簡略化できるようになりました。

    動画をデザイン要素のひとつとして

    動画を背景に使用することも簡単になったため、例えば製品写真の背景に動画を使用したり、当ホームページのように上に重ねたコンテンツをスライドショーにする、といったこともできるようになりました。
    また、あらかじめ動画にキャッチコピーなどのエレメントを組み込んでおくと、動画の画質が低い場合ボケて視認性が落ちてしまいますが、動画とエレメントを別々にしておくことで、画質に左右されることなく表示することができます。

    イメージ

    注意点としては、ユーザーがHTML5の動画機能に対応していない古いタイプのブラウザを使用している場合と、表示が変わってしまう一部スマートフォンへの対策です。この場合動画ではなく、代替えの静止画を用意しておく必要があります。

  • 新ホームページに“さりげなく”使っている最新のウェブデザインテク

    新ホームページに“さりげなく”使っている最新のウェブデザインテク

    エクサホームページで使った、最新のウェブデザインテクをご紹介

    今月始めにエクサホームページをリニューアルしました。今回はこの新ホームページで使用している、最新のウェブデザインテクニックについてご紹介します。言われなければ気づかないような“さりげない”テクニックもあるので、ホームページ担当者のためにも、この記事を読んだらゼヒともじっくり見てあげてください…!

    1、ガツンと目を引くムービースライドショー

    ムービーファイル配置のイメージ

    トップのサービス紹介をスライドショーにしました。背景には“さりげなく”動画を使用しています。実はこれ、今までのウェブデザインではとっても手間のかかる技術なんです。

    さりげなく、それでいて目をひく背景動画

    2、ボンヤリ背景色の変わるリンクボタン

    リンクボタンのイメージ

    ボタンになっているリンクにマウスカーソルを持っていくとボンヤリとボタンの背景色がかわります。微妙すぎてボンヤリなのかわからないという人のために、後日くわしく解説いたします!

    3、いつからそこに?!突然あらわれる「TOPへ」戻るボタン

    トップへ戻るのイメージ

    いまどきのホームページなら必ずある、ページの「TOPへ」戻るボタン。でもこのホームページには見あたりません。…でも気がつくといつのまにか画面右下に!

    使っている技術はまだまだありますが、今回はトップページで注目してほしいポイントをご紹介しました。

    後日あらためて当ブログにて「実際どんな技術」で「どんな目的があるのか」といった詳しい話をさせていただきます。お楽しみに!