<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>E-riverstyle Vanguard | CSSやXHTML,Javascriptやweb製作に関する事を紹介</title>
    <link rel="alternate" type="text/html" href="http://blog.e-riverstyle.com/" />
    <link rel="self" type="application/atom+xml" href="http://blog.e-riverstyle.com/atom.xml" />
    <id>tag:blog.e-riverstyle.com,2008-05-25://1</id>
    <updated>2012-05-20T11:08:44Z</updated>
    <subtitle>CSSやJavaScriptからWebアクセシビリティなどのWeb製作に関する事を紹介するブログ</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.1</generator>

<entry>
    <title>【書評】オブジェクト指向JavaScript</title>
    <link rel="alternate" type="text/html" href="http://blog.e-riverstyle.com/2012/05/javascript-3.html" />
    <id>tag:blog.e-riverstyle.com,2012://1.737</id>

    <published>2012-05-20T10:50:17Z</published>
    <updated>2012-05-20T11:08:44Z</updated>

    <summary>  オブジェクト指向JavaScript を読みましたので書評を書かせていただき...</summary>
    <author>
        <name>e-river</name>
        <uri>http://www.e-riverstyle.com/</uri>
    </author>
    
        <category term="書籍" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="book" label="book" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="書籍" label="書籍" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="書評" label="書評" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="本" label="本" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.e-riverstyle.com/">
        <![CDATA[ <span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="" src="http://blog.e-riverstyle.com/2012/05/20/image/blog201205201.jpg" width="160" height="201" class="mt-image-none" style="" /></span>
<p class="sp"><a href="http://www.amazon.co.jp/gp/product/4048706705/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;tag=erc-22&amp;linkCode=as2&amp;camp=247&amp;creative=1211&amp;creativeASIN=4048706705">オブジェクト指向JavaScript</a><img src="http://www.assoc-amazon.jp/e/ir?t=erc-22&amp;l=as2&amp;o=9&amp;a=4048706705" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
を読みましたので書評を書かせていただきます。</p>]]>
        <![CDATA[
<h2 class="split">「オブジェクト指向の書き方」だけでない</h2>
<p>読む前はこの書籍のタイトルにあるように、オブジェクト指向な書き方ばっかりが書かれている本だと思っていた。<br />
「オブジェクト指向」「JavaScript」と聞くとprototypeプロパティやnew演算子を思いつくのだが、これらを使ったサンプルソースやこれらの理解中心かと思いきやそれでけではなかったのだ。</p>
<p>もちろんprototypeプロパティやnew演算子はでてくる。5章と6章はそれらが中心と思ってよい。しかし、それだけでなくJavaScriptの基礎、クロスブラウザ、パターンなどJavaScriptを最初から学ぶことができる。</p>

<h2 class="split sp">JavaScriptを学ぶに最も適した一冊</h2>
<p>オライリーから出版されているJavaScriptの本はどれもよい。なので、JavaScriptを学ぶときは、オライリーをいつも読んでいるのだが、オライリー以外でこの本は読み終えてこれほど感動を覚えた一冊はない。
</p>
<p>書かれていることは決して簡単ではない。しかし、JavaScriptをこれから学習しようとしている人、いわゆるJavaScript初心者の人は、ここから初めて見るのもよいだろう。きっと正しい書き方を学ぶことができると思うからである。もちろんこれまでJavaScriptをやってきた人も対象である。特に8章はコーディングパターンとデザインパターンは必読だろう。そして7章も。</p>

<h2 class="split sp">最後に</h2>
<p>初心者、中級者にはこれほど適した本はなかなかない。素晴らしい本に出会えたことに興奮すら覚えるくらいだ。</p>
<p>昨今のJavaScript界隈では、jQuery中心となっている。もちろんjQueryも素晴らしいが、コアとなるJavaScriptを学習することはより貴方のjQueryの知識も増すことに繋がる。もっとJavaScriptを学習しようと思っている人すべてにこの本をすすめたい。</p>

<p class="sp"><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=erc-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=4048706705&amp;ref=qf_sp_asin_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</p>]]>
    </content>
</entry>

<entry>
    <title>iPadで-webkit-text-size-adjust: none;を指定していても、拡大されるという現象に出会う</title>
    <link rel="alternate" type="text/html" href="http://blog.e-riverstyle.com/2012/04/ipadwebkittextsizeadjust-none.html" />
    <id>tag:blog.e-riverstyle.com,2012://1.736</id>

    <published>2012-04-28T02:38:51Z</published>
    <updated>2012-04-28T02:43:16Z</updated>

    <summary> これは、新しいiPadで検証したときに遭遇しました。iPad2以下では検証はし...</summary>
    <author>
        <name>e-river</name>
        <uri>http://www.e-riverstyle.com/</uri>
    </author>
    
        <category term="CSS+XHTML" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="css" label="css" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mobile" label="mobile" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.e-riverstyle.com/">
        <![CDATA[<p>
これは、新しいiPadで検証したときに遭遇しました。iPad2以下では検証はしていません。
</p>
<p>全く別の話ですが、新しいiPadの正式名称って「新しいiPad」でいいのでしょうか。正式名称ってなんだろうとずっと不思議に思っています。</p>

 ]]>
        <![CDATA[
<h2 class="split">-webkit-text-size-adjustプロパティ</h2>
<p>-webkit-text-size-adjustプロパティを知らない人に向けて説明すると、iPhoneやiPod Touch、iPadなどはiOSの仕様として横向きにすると縦の時より自動的に文字サイズが大きくなります。これを止めたい場合に用いられるWebKit独自のプロパティです。</p>

<h3>拡大をやめる場合のCSS</h3>

<pre class="brush: css;">body {
	-webkit-text-size-adjust: none;
}</pre>

<p>上記のように書くと横向きにしても自動で拡大されないようになる。はずなのだが、今回のケースは、iPadでは、指定していても拡大されたのです。</p>
<p>※ちなみに、iPadでしか検証していないです。iPhoneでは検証していません。</p>

<h2 class="split sp">解決方法</h2>
<p>問題はひとまず解決したのですが、下記のようにmeta要素を変更したことにより、自動での拡大を止めることができるようになりました。</p>

<h3>変更前</h3>
<pre class="brush: html;">&lt;meta name="viewport" content="width=device-width"&gt;</pre>

<h3>変更後</h3>
<pre class="brush: html;">&lt;meta name="viewport" content="width=device-width, maximum-scale=1.0, initial-scale=1, user-scalable=no"&gt;</pre>


<p class="sp">もともとピンチイン/アウトできるようにしていたのですが、これをできないようにviewportを変更したことで拡大はされないようになりましたが、要件を変更することになったので、解決とは言えないかもしれません。</p>
<p>そもそもそういう仕様なのかもしれないけど、maximum-scale=1.0, user-scalable=no が最強だということがよく分かったという今回のケースでした。</p>]]>
    </content>
</entry>

<entry>
    <title>【レポート】アクセシビリティキャンプ東京#1に参加してきました。</title>
    <link rel="alternate" type="text/html" href="http://blog.e-riverstyle.com/2012/04/1.html" />
    <id>tag:blog.e-riverstyle.com,2012://1.734</id>

    <published>2012-04-21T01:00:49Z</published>
    <updated>2012-04-21T01:02:03Z</updated>

    <summary>4月19日に開催されたアクセシビリティキャンプ東京#1に参加してきましたので、そ...</summary>
    <author>
        <name>e-river</name>
        <uri>http://www.e-riverstyle.com/</uri>
    </author>
    
        <category term="セミナー関連" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="セミナー" label="セミナー" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.e-riverstyle.com/">
        <![CDATA[<p>4月19日に開催されたアクセシビリティキャンプ東京#1に参加してきましたので、そのレポートでも書きます。</p>
 ]]>
        <![CDATA[
<p>当初は、アンカンファレンス形式と聞いていたのですが、当日は、参加者がグループにわかれて、あるテーマに基づいてディスカッションするという形式でした。そのテーマが下記です。</p>
<ul>
<li>首相官邸を採点する</li>
<li>スキップリンク</li>
<li>フォームのエラー通知</li>
</ul>

<p>僕はスキップリンクのグループに入って、スキップリンクはいるのか、というディスカッションに参加させていただきました。このグループのモデレーターは、WAICの植木さんでした。ちなみに、「首相官邸を採点する」のモデレーターは、bAの大田さん、「フォームのエラー通知」のモデレーターは、Googleの小久保さんでした。</p>

<p>まず、植木さんによる「スキップリンク」についてJISやWCAG2.0の原文と解説書と技術書でお浚いからはじまりました。</p>

<blockquote cite="http://www.w3.org/TR/WCAG/#navigation-mechanisms">
    <p>
2.4.1 Bypass Blocks: A mechanism is available to bypass blocks of content that are repeated on multiple Web pages. (Level A) 
    </p>
</blockquote>

<blockquote cite="http://www.jsa.or.jp/stdz/instac/commitee-acc/W3C-WCAG/WCAG20/index.html#navigation-mechanisms">
    <p>
2.4.1 ブロック・スキップ： 複数のウェブページ上で繰り返されているコンテンツのブロックを通過できるメカニズムが利用可能である。　（レベル A）
    </p>
</blockquote>

<p>原文では、<strong>Bypass Blocks</strong>と、日本語訳では<strong>ブロックスキップ</strong>と書かれています。ゆえに

<div class="trans">ブロックスキップ＝スキップリンクではない</div>
</p>

<p>そして、スキップリンク（正確にはブロックスキップになると思うのですが）を提供することによって下記のユーザーにとってメリットがあると<a href="http://waic.jp/docs/UNDERSTANDING-WCAG20/navigation-mechanisms-skip.html">解説書</a>に書かれています。</p>
<ul>
<li>スクリーンリーダー</li>
<li>キーボードユーザー</li>
<li>画面拡大を利用しているユーザー</li>
</ul>

<p>
また、この達成基準を満たすための実装方法は下記になっています。これも<a href="http://waic.jp/docs/UNDERSTANDING-WCAG20/navigation-mechanisms-skip.html">解説書</a>に書かれています。
</p>


<ul>
<li>スキップリンクを提供</li>
<li>見出しをマークアップ</li>
</ul>

<p>
そもそもスキップリンクって要らないんじゃないの、というのが多くの人が思っていて、ここからディスカッションが本格化されてきました。そのディスカッションででた意見のメモです。
</p>

<h3 class="split2">
スクリーンリーダのユーザ向け
</h3>
<ul>
<li>UAが見出しジャンプ機能を持っている</li>
</ul>


<p>しかし、実装されているのはOperaのみ、<a href="https://addons.mozilla.org/ja/firefox/addon/titleq/">Firefoxはアドオン</a>を入れることによってその機能を持つ</p>


<ul>
<li>リンク先が間違っていたり、スキップリンクとして機能していない</li>
<li>多くのスクリーンリーダーは見出しジャンプの機能を提供されている</li>
</ul>
<p>見出しジャンプの機能があることを知らないユーザーもいるのでスクリーンリーダーユーザーのスキルレベルにもよる</p>


<ul>
<li>ブロックスキップは、アクセシビリティというよりも、ユーザビリティなのでは？</li>
<li>ユーザーが実際に使える（使いこなせる／使い方を知っている）かどうか視点も必要</li>
<li>スキップリンクは実際に使われているのか？</li>
</ul>

<p>スキップリンクはマジ便利と言っているブログを見たことがあるとのこと</p>

<h3 class="split2">
キーボードを使っているユーザ向け
</h3>
<p>時間がなく、キーボードを使っているユーザ向けの議論はそれほどできませんでしたが、下記がそのメモ</p>
<ul>
<li>キーボードを使っているユーザーにとってスキップリンクは必要なのか？</li>
<li>標準ブラウザのままで使っている人がどれだけいるか？</li>
</ul>

<p class="sp">
という感じで、スキップリンクのグループのディスカッションは終えました。結局、必要なのか不要なのかという結論はでませんでしたが、多くの人が不要と感じているのは間違いありません。個人的な意見としては、スキップリンクは必要ないと感じています。サイトに持たすのではなくUAに持たせる機能、スキップリンクはユーザビリティと感じているからです。しかし、キーボードを使っているユーザーには、スキップリンクではなくともTabキーでひとつひとつのリンクをフォーカスせずに済むように、クリックしたいリンクを一発で開けるような機能が必要だなぁと感じています。そういう意味で、accesskey属性はひとつの解決法だと思っていたのですが、ブラウザによって実装が統一されていないという残念な感じで忘れ去られた存在となっていますね。ある程度、キーの値が標準化されていたら、それなりにユーザビリティも向上していたではないかと思う今日この頃です。
</p>

<h2 class="split2 sp">関連</h2>
<ul>
    <li><a href="http://sho.tdiary.net/20120419.html#p01">アクセシビリティキャンプ東京#1を開催した - ただのにっき(2012-04-19)</a></li>
    </ul>]]>
    </content>
</entry>

<entry>
    <title>【レポート】World IA Day2012に参加しました。</title>
    <link rel="alternate" type="text/html" href="http://blog.e-riverstyle.com/2012/04/world-ia-day2012.html" />
    <id>tag:blog.e-riverstyle.com,2012://1.733</id>

    <published>2012-04-16T15:26:49Z</published>
    <updated>2012-04-16T15:30:30Z</updated>

    <summary>2月11日に開催されたWorld IA Day2012に参加してきました。そして...</summary>
    <author>
        <name>e-river</name>
        <uri>http://www.e-riverstyle.com/</uri>
    </author>
    
        <category term="セミナー関連" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="セミナー" label="セミナー" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.e-riverstyle.com/">
        <![CDATA[<p>2月11日に開催された<a href="http://worldiaday.org/">World IA Day2012</a>に参加してきました。そして、イベントが終了して、2ヶ月近く経とうとしている中で、空気を読まずに参加レポートを書かせていただきます。</p>
 ]]>
        <![CDATA[
<h2 class="split">IA（Information Architecture）とは</h2>
<p>ここ最近、「IA」という言葉（言葉ととっていいのかという疑問はあるが）をよく耳にすることが多くなってきたという印象があります。</p>
<p>IAとは、<q>知識やデータの組織化を意味し、探している情報を見つけやすく、情報をわかりやす伝える</q>というもので、分かり易くするデザインといえると思います。</p>
<p>インターネットのよいところは、情報が多いことだと思うのですが、多さのあまり探している情報が見つけにくかったりします。そのような情報を探しているユーザーを迷うことなく目的まで導くことが重要となってきているからであると思います。</p>


<h2 class="split">World IA Day 2012 東京</h2>
<p>その中、World IA Day 2012 東京（以下WIAD）は、日本初となるIAコミュニティ主催で世界14都市で同時開催されるイベントという身震いするような大規模なIAイベントです。登壇される方もIAのスペシャリストから学者からと様々な方達が登壇されました。当日のプログラムは下記のような感じです。</p>

<ol>
<li>基調講演：ジョージ・アロンゴ（ビデオ）</li>
<li>基調講演：幅広いユーザーの理解のデザイン ～OpenUMプロジェクトを通じて～ ／ 坂本貴史（ネットイヤーグループ株式会社 UXディレクター）</li>
<li>基調講演：ルイス・ローゼンフェルド（ビデオ）</li>
<li>基調講演：ピーター・モービル（ビデオ）</li>
<li>ユーザーエクスペリエンスを正しく理解する ～「UX」と「UXデザイン」～ ／ 安藤昌也（千葉工業大学）</li>
<li>行動経済学からわかるユーザーの行動とデザインのありかた ／ 山田歩（青山学院大学）</li>
<li>「ストーリーテリング（物語）」によるユーザー理解 ／ 前田俊幸（UX Tokyo主宰）</li>
<li>パネルディスカッション：ストーリーとデザイン</li>
<li>ユーザー理解に合わせたユーザーインターフェイスデザイン ／ 上野学（ソシオメディア株式会社</li>
<li>パネルディスカッション：これからのUIデザイン</li>
</ol>

<h2 class="split sp">基調講演：ジョージ・アロンゴ（ビデオ）</h2>
<p>ナビゲーターのコンセントの長谷川さんの開会の挨拶後にすぐに流れたジョージ・アロンゴの基調講演。この基調講演ですぐにこのイベントの空気に引き込まれる感覚を覚えたセッションでした。<br />
彼の講演の中でもっとも印象に残っているのが、(1)<strong>情報を見つけ易いようにデザイン</strong>、（2）<strong>変化は様々であるが普遍なものは常に変わらない</strong>です。これらを自分なりの解釈としては下記です。
</p>
<p>(1)は、ショッピングモールが例として挙っていました。ショッピングモールには、多くのサインがあり、それらは、来客に、注意を促したり、知らせたり、また探している情報を見つけ易くデザインされるている。これらのデザインによってユーザーの満足度に大きく左右されるからです。しかし、バランスが重要である。多い情報を十分な設計をせずにすると混乱を招くだけであると、確かにこれをWebサイトに置き換えると、Webサイトは情報を多く載せがちになってしまうし、似たような情報が多くあります。これがある意味、混乱を招く要因となっているのではないかと思います。これを最適に設計できることが大事になってくると感じました。</p>
<p>(2)は、技術などは変化していきます、それも急速に。しかし、積み上げた知識は変わることがありません。技術が変わっても、その新しい技術にも活かすことができる。変わらない知識と分野がIAである。</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/kY5CC2QfevE" frameborder="0" allowfullscreen=""></iframe></p>

<h2 class="split sp">幅広いユーザーの理解のデザイン ～OpenUMプロジェクトを通じて～ ／ 坂本貴史</h2>

<p><a href="http://www.amazon.co.jp/gp/product/4862671063/ref=as_li_tf_tl?ie=UTF8&amp;tag=erc-22&amp;linkCode=as2&amp;camp=247&amp;creative=1211&amp;creativeASIN=4862671063">IAシンキング Web制作者・担当者のためのIA思考術</a><img src="http://www.assoc-amazon.jp/e/ir?t=erc-22&amp;l=as2&amp;o=9&amp;a=4862671063" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />の著者である坂本さんの講演でした。
</p>
<p>セッションでは、「答えではなく問題を探す」がキーメッセージとなっていました。下記がセッション中にとったメモです。</p>

<ul>
<li>答えがない、マニュアルに載ってないことに問題点にぶつかる。だから「答えではなく問題を探す」</li>
<li>問題に取り組む、どのような問題があり、いかに自分の意見を言えるか</li>
<li>目的にたどり着けるアプローチを探し見極める。</li>
</ul>

<ul>
<li>情報を得られるレイヤー、知恵、知識</li>
<li>伝えやすいようにする</li>
<li>利用者がなにを求めているのか、利用者中心の考え</li>
<li>コンテンツファースト</li>
<li>論理的か直感的か、論理的な思考は最終的には直感に生かされる</li>
</ul>

<p>問題は起こったときに、問題の解決を求めがちであるが、答えがない我々の仕事において、これはこうあるべき！という理想像に近づけるために、解決へのアプローチがなにが問題であるかを探す、というふうに捉えました。</p>

<div style="width:425px" id="__ss_11522279"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/bookslope/world-ia-day-2012-tokyo-keynote-presentation-11522279" title="&quot;World IA Day 2012 Tokyo&quot; Keynote Presentation" target="_blank">"World IA Day 2012 Tokyo" Keynote Presentation</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/11522279?rel=0" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe> <div style="padding:5px 0 12px"> View more presentations from <a href="http://www.slideshare.net/bookslope" target="_blank">Takashi Sakamoto</a> </div> </div>


<h2 class="split sp">基調講演：ルイス・ローゼンフェルド（ビデオ）</h2>
<p>オライリーから出版されている「Web情報アーキテクチャ―」通称シロクマ本の著者の一人ルイス・ローゼンフェルドの基調講演です。主に、図書館情報学という
なかなか聞き慣れない分野について話されていました。また、その中で
情報というチャレンジをどれがはやりで時代遅れか判断しなければならない</p>

<iframe width="560" height="315" src="http://www.youtube.com/embed/K_-ahAlz3j4" frameborder="0" allowfullscreen=""></iframe>

<h2 class="split sp">基調講演：ピーター・モービル（ビデオ）</h2>
<p>同じくシロクマ本の著者のピーター・モービルは、下記の3点について話されていました。私自身の理解とメモです。</p>
<ol>
<li>to keep defining the damn thing</li>
<li>cross-channel</li>
<li>value(s)</li>
</ol>
<p>1. 定義すること。これはピーター・モービルは、シロクマ本にIAを定義したことで、彼のことを名刺に肩書きに書いてなくてもIAの人と認識してされる。</p>
<p>2. 「不得意な分野は得意な人に学ぶ」これがcross-channel</p>
<p>3.イベントを通して、ともにビジネスと私たちの価値を高めていこうというものでした。</p>

<iframe width="560" height="315" src="http://www.youtube.com/embed/C8o-IPBvS2k" frameborder="0" allowfullscreen=""></iframe>

<h2 class="split sp">ユーザーエクスペリエンスを正しく理解する ～「UX」と「UXデザイン」／ 安藤昌也（千葉工業大学）</h2>
<p>UXプリンスこと安藤先生は「UX」と「UXデザイン」の定義を下記のように仰っていました。</p>

<div class="trans">
UX:体験とはそもそもユーザーの個人的なもの<br />
UXD:どんな体験をしてもらうかを計画すること、
</div>

<p>体験そのものはユーザーの個人的なもの　　　→UX<br />
　　↑　　↓<br />
どんな体験をしてもらうか計画すること　　　→UXD<br />
　　↑　　↓<br />
体験が量産、再生産される仕組みを作ること　→UXD</p>

<p>ユーザー経験デザインを「体験が量産・再生産される『仕組みを作る』こと」というのは納得度が非常に高く仕組みのデザインの発想は非常に重要だと感じた。</p>

<div style="width:425px" id="__ss_11522046"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/masaya0730/uxux" title="ユーザエクスペリエンスを正しく理解する-UXとUXデザイン" target="_blank">ユーザエクスペリエンスを正しく理解する-UXとUXデザイン</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/11522046" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe> <div style="padding:5px 0 12px"> View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/masaya0730" target="_blank">Masaya Ando</a> </div> </div>

<h2 class="split sp">行動経済学からわかるユーザーの行動とデザインのありかた ／ 山田歩（青山学院大学）</h2>
<p>このセッションはイベントの中で一番興味が沸いたセッションでした。「行動経済学」という名称からのとおりものすごいアカデミックの観点からの学説とデータばかりでした。しかし、それが根拠となるので非常に貴重な講演だったように思います。</p>
<p>その中でも、「選択肢は多いほどよいか」とうのがあって、例としてジャムが挙ってました。世間一般的にも、選択肢は多いほどよいと恐らく言われていると思います。ここでは、選択肢が多いほど、生活は豊かになるが、多いすぎるとよくない。と言われてました。
そのジャムの例をとっても、選択肢が多いと購買率が下がるという結果がでたからです。恐らく、多ければ多いほど、ユーザーを混乱させるからだと思います。</p>

<p>以下は、セッション中にとったメモです。</p>

<dl class="schedule">
<dt>熟慮は選択に質を高めるか</dt>
<dd>嗜好の理由を分析すれば、人はそれらしき回答をすることができる。</dd>
<dd>いかにも嗜好に左右するように見えるが、実際には重要でない要因に注目して、判断してしまう。</dd>
</dl>

<ul>
<li>普段目にしたり、耳にしたりするのは思い出し易い。</li>
<li>一番目にでてくるほうが検索しやすいので、過ちを犯しやすい。</li>
</ul>

<dl class="schedule">
<dt>制作で言葉を変えるだけで、内容は同じでも数値がことなる。</dt>
<dd>「フレーミング効果。脂身25%と赤身75%、失業率5%と雇用率95%など、表現を逆にするだけで、人々の判断が変わる」</dd>
</dl>

<ul>
<li>不要な選択肢をなくすことによって、判断もことなる、他に影響を与える。</li>
</ul>

<ul>
<li>「人々の選択を適切に導く『選択アーキテクチャ』の設計が大切」</li>
</ul>

<div style="width:425px" id="__ss_11880914"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/atsushi/world-ia-day-2012-tokyo" title="行動経済学からわかるユーザーの行動とデザインのありかた｜山田歩" target="_blank">行動経済学からわかるユーザーの行動とデザインのありかた｜山田歩</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/11880914" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe> <div style="padding:5px 0 12px"> View more <a href="http://www.slideshare.net/thecroaker/death-by-powerpoint" target="_blank">PowerPoint</a> from <a href="http://www.slideshare.net/atsushi" target="_blank">Atsushi HASEGAWA</a> </div> </div>

<h2 class="split sp">「ストーリーテリング（物語）」によるユーザー理解 ／ 前田俊幸（UX Tokyo主宰）</h2>

<p>このセッションは、僕自身の知識不足のせいかあまり耳にしたことがない「ストーリーテリング」についてでした。<br />
セッションの冒頭で、オバマ大統領のMLの下りがあって、なんのことやらと思っていたら、<strong>「ストーリーテリングの目的」は、共感を引き出すこと</strong>、
<strong>ストーリーは共感（情動と結びついてる）を生んで最終的に行動に結びつける</strong>とストーリーテリングのことを知らない僕のような人に説明されました。下記のようなフィードバックがストーリーではないかと説明されていました。</p>

<p>顧客に共感する　→　顧客を知りたくなる　→　顧客を調べる　→　共有したくなる　→　顧客に共感する</p>

<p>そして、ストーリの作り方の構成要素や構成パターンを説明いただきました。</p>
<h3>構成要素</h3>
<ul>
<li>視点</li>
<li>コンテクスト</li>
<li>キャラクター</li>
<li>心的イメージ</li>
<li>言葉遣い</li>
</ul>

<h3 class="sp">構成パターン</h3>
<ul>
<li>規範的</li>
<li>英雄</li>
<li>新しいものに親しむ</li>
<li>フレーム構造</li>
<li>階層的</li>
<li>文脈的幕間</li>
</ul>

<p>しかし、自分の理解力が足りないのか、いまいちつかみどろこがなかったです。そのつかみところというのが「ストーリーテリング」のつかいどころですが、
どのようにして活用していくのか、これを最適にするには、ということで、「ストーリーテリング」の意味も含めて、疑問ばかりが残りました。</p>
<p>ストーリとストーリーテリングの違いみたいなのが、下記に載っているので、参考までに（←自分向けです）<br /><a href="http://www.humanvalue.co.jp/report/storytelling/">ストーリーテリング - HUMAN VALUE</a></p>

<div style="width:425px" id="__ss_11532341"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/tmaead/world-ia-day-2012" title="ストーリーテリングと ユーザ理解(World IA Day 2012)" target="_blank">ストーリーテリングと ユーザ理解(World IA Day 2012)</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/11532341" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe> <div style="padding:5px 0 12px"> View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/tmaead" target="_blank">tmaeda</a> </div> </div>


<h2 class="split sp">ユーザー理解に合わせたユーザーインターフェイスデザイン ／ 上野学（ソシオメディア株式会社</h2>
<p>最後のセッションは、内容の中心としては、「モーダルvsモーダレス」で非常に興味深いものでした。世の中には、いろんなユーザーインターフェースのデザインパターンが存在しますが、大きく2つ、両極のコンセプトであるとれが「モーダル」と「モードレス」です。</p>
<p>どうやら「モードレス」というのは、Appleのインターフェースガイドラインに出てくる言葉ということで、Appleが推奨しているということです。「モーダル」と「モードレス」と言われても分かりにくいので、例を挙げると下記のような例になります。</p>

<h3 class="split2">モーダル</h3>
<blockquote cite="https://www.sociomedia.co.jp/3711">
<p>モードがある状態。コンピューターを使っていて「なんとかモード」に入って作業をするようなもの。<br />
動詞 → 名詞：命令を選んでから対象物を選ぶこと。<br />
言語的：シーケンシャルであること、手続き的であること、始めと終わりが決まっていること。<br />
ユーザーが行うタスクに会わせてデザインされる</p>
</blockquote>
<ul>
<li>電車</li>
<li>直進ボタン｜左折ボタン｜右折ボタン</li>
<li>コース料理</li>
<li>Windowsの「画面のプロパティ」コントロールパネル</li>
<li>タスクベースの画面遷移</li>
</ul>


<h3 class="split2 sp">モードレス</h3>
<blockquote cite="https://www.sociomedia.co.jp/3711">
<p>モードがない状態。自由な順序と方法で作業するようなもの。<br />
名詞 → 動詞：対象物を選んでから命令を選ぶこと。<br />
空間的：例えば GUI。2次元の空間上にオブジェクトが置いてあって自分の好きな順序で操作していい。<br />
ユーザーが扱うオブジェクトに合わせてデザインされる</p>
</blockquote>
<ul>
<li>自動車</li>
<li>ハンドル</li>
<li>お弁当</li>
<li>Mac の「デスクトップとスクリーンセーバ」環境設定</li>
<li>オブジェクトベースの画面遷移</li>
</ul>

<p>セッションの中で、「ユーザー理解=自分なりの使い方ができる」ことを挙げられていて、どうも「モードレスデザインこそ最高」という風に捉えれられる内容でした。それがダメなのかというとそうではないですが、すべてのアプリケーションがモードレスデザインであるほうが優れているとは思えなかったからです。</p>
<p>また、「シンプルにする」というのも挙っていました。これは非常に納得します。納得するのですが、
シンプルなデザインがモードレスであるとするならば、それは違うと感じています。モーダルであってもシンプルにデザインできるのではないかと思うからです。また、人の様々な属性にも依存すると思うからです。モードレスデザインのデメリットに「使いこなすには創造性が必要」挙げられていましたが、操作に創造性が必要があるならば、ユーザーを迷わすことになるので、シンプルと反するデザインになってしまうのではないかと感じました。</p>
<p>それを考えると、モードレスやモーダルが重要ではなくて（もともと重要とは述べてませんでしたが）、シンプルで分かり易いというひとつのコンセプトでよいのはないかと感じました。しかし、非常にセッション内容は面白く基調講演を除けば、一番関心が沸いたセッションでした。</p>

<p><a href="https://www.sociomedia.co.jp/assets/documents/wiad2012-ueno.pdf">スライド</a></p>

<dl>
<dt>参考：</dt>
<dd><a href="https://www.sociomedia.co.jp/3711">World IA Day 2012 Tokyo で講演しました</a></dd>
</dl>

<h2 class="split sp">まとめ（ほぼ感想[じゃー感想と書けばいいんじゃね？]）</h2>
<p>このイベントを通してまずは自分がもともと感じていた「情報は多くしない」「シンプルに」が確信に変わりました。
しかし、それと同時にアカデミックな要素が詰まりまくったIAという分野の奥深さと自分自身の理解力の浅さが分かりました。さらに、その浅さが分かったのですが、どの部分を埋めれば深くなるのかが明確になりませんでした。<br />
奥が深く広いといえばそこまでですが、どこかで今より知識が深くなれるように努力するだけです。
</p>

<ul>
<li><a href="http://webnoborder.jp/world-ia-day-2012/">IAの世界的なイベント！World IA Day 2012に参加してきました</a></li>
<li><a href="http://www.bookslope.jp/blog/2012/02/worldj12keynote.html">World IA Day 2012 Tokyo Keynote</a></li>
<li><a href="http://togetter.com/li/255981">2012年2月11日 World IA Day Japan #wiadj</a></li>
</ul>

<dd></dd>]]>
    </content>
</entry>

<entry>
    <title>【書評】よくわかるJavaScriptの教科書</title>
    <link rel="alternate" type="text/html" href="http://blog.e-riverstyle.com/2012/04/javascript-2.html" />
    <id>tag:blog.e-riverstyle.com,2012://1.732</id>

    <published>2012-04-15T11:07:02Z</published>
    <updated>2012-04-15T11:10:14Z</updated>

    <summary>  ちまたで話題の書籍ということで、 よくわかるJavaScriptの教科書 を...</summary>
    <author>
        <name>e-river</name>
        <uri>http://www.e-riverstyle.com/</uri>
    </author>
    
        <category term="書籍" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="book" label="book" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="書籍" label="書籍" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="書評" label="書評" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="本" label="本" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.e-riverstyle.com/">
        <![CDATA[ <span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="" src="http://blog.e-riverstyle.com/2012/04/15/image/blog201204151.jpg" width="160" height="200" class="mt-image-none" style="" /></span>

<p class="sp">
ちまたで話題の書籍ということで、
<a href="http://www.amazon.co.jp/gp/product/4839941874/ref=as_li_tf_tl?ie=UTF8&tag=erc-22&linkCode=as2&camp=247&creative=1211&creativeASIN=4839941874">よくわかるJavaScriptの教科書</a><img src="http://www.assoc-amazon.jp/e/ir?t=erc-22&l=as2&o=9&a=4839941874" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
を読んだので、書評を書かせていただきます。
</p>]]>
        <![CDATA[

<h2 class="split">構成</h2>
<p>本書の構成は下記のようになっています。</p>
<ol>
<li>準備編</li>
<li>JavaScript入門</li>
<li>jQuery入門</li>
<li>実践</li>
</ol>

<h2 class="split2 sp">1.準備編</h2>
<p>この準備編は、プログラミングのことやエディタなど、どのJavaScript系の本で目にすることなので、JavaScriptを本当に初めて触れる人以外は読み飛ばしてもよいかもしれません。</p>

<h2 class="split2 sp">2.JavaScript入門</h2>
<p>この章では、JavaScriptの基本的なことが書かれています。配列を使ったドロップダウンメニューの作成や日付の取得などJavaScriptに触れるにはよいサンプルばかりです。</p>


<h2 class="split2 sp">3.jQuery入門</h2>
<p>ロールオーバーやアコーディオンなどいわゆる賑やかし系のサンプルやAjaxやcookieの扱いかたが書かれています。実践にも使えると思いますので、jQueryをやり始めの人には良いと思います。</p>

<h2 class="split2 sp">4.実践</h2>
<p>この章からぐーーんとグレードがアップします。実践とあるように実践の本気モードが違います。<br />
ハッシュチェンジ、jQuery Mobile、HTML5 API（Local Storage、Geolocation、Canvas）などが書かれています。jQuery Mobileについてはさらっとしか書いてませんので、ほぼ役に立ちません。きっと別の書籍を読めってことでしょう。HTML5 APIのLocal Storageはとハッシュチェンジの箇所は非常に参考になりました。実際にこれらを使って制作をしたことがあるので、他にどのような使い方ができるのかという点で参考になりました。</p>


<h2 class="split sp">感想</h2>
<p>読み終えての感想ですが、そもそも想定がこれから始める人ややりはじめの人向けだと思うので、JavaScriptやjQueryをある程度実務で活用している人には向いてないです。逆にいうとれから始める人ややりはじめの人に優しく丁寧に解説されているので良書です。<br />
また、jQueryのところでえらい<em>bind</em>にこだわっているのか不思議に感じたり、document.writeって使うのかとか、ちょっと不思議な感じを覚える感想です。</p>
<p class="sp"><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=erc-22&o=9&p=8&l=as1&asins=4839941874&ref=tf_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</p>
]]>
    </content>
</entry>

<entry>
    <title>ボックスの角の一箇所のみ色を変える【CSS】</title>
    <link rel="alternate" type="text/html" href="http://blog.e-riverstyle.com/2012/04/css-18.html" />
    <id>tag:blog.e-riverstyle.com,2012://1.731</id>

    <published>2012-04-04T15:43:11Z</published>
    <updated>2012-04-04T15:45:17Z</updated>

    <summary>CSSのネタは相当久しぶりなのですが、ボックスの角の一箇所だけを色を変えるという...</summary>
    <author>
        <name>e-river</name>
        <uri>http://www.e-riverstyle.com/</uri>
    </author>
    
        <category term="CSS+XHTML" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="css" label="css" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.e-riverstyle.com/">
        <![CDATA[<p>CSSのネタは相当久しぶりなのですが、ボックスの角の一箇所だけを色を変えるというものです。特に、CSS3も使ってないので、どなたがこのやり方を公開しているかもしれませんが・・・。</p>
 ]]>
        <![CDATA[
<p>デザインによったら、下記図のようにボックスの角の一箇所だけ色が違うというのがあるかもしれません。背景画像でやってしまうのも手なのですが、CSSでやれるならやってしまおうということで、実装してみました。</p>

<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="" src="http://blog.e-riverstyle.com/2012/04/05/image/blog20120404.png" width="116" height="117" class="mt-image-none" style="" /></span>

<p class="sp">HTMLは下記のようなどこにもあるようなdiv要素です。</p>
<pre class="brush: html;">
&lt;div id="shape"&gt;
aaaa
&lt;/div&gt;
</pre>

<h2 class="split">CSS</h2>
<p>その肝心のCSSが下記です。:after擬似要素を使って、borderの幅を使って三角形を作って、アレコレしています。三角形のサイズを変更したいときは、20pxのところを良しなに変更してください。</p>
<pre class="brush: css;">
#shape {
	position: relative;
	width: 100px;
	height: 100px;
	background: #5dc;
}

#shape:after {
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	border-left: 20px solid transparent;
	border-bottom: 20px solid #4ac; 
	content: "";
}
</pre>

<h2 class="split sp">画像を使わずに実装するか</h2>
<p>事の発端を言うと、新型iPad対策です。新型iPadでWebサイトを見られた人は多いと思いますが、あの解像度はヤバイですよね。そして、解像度の低い画像の見栄えの悪さといったら・・・
画像を使ったほうが工数は短くなるところでも、CSSでやれるところはやっていこうという方針でなぜか進んでいます。</p>]]>
    </content>
</entry>

<entry>
    <title>aria-activedescendantの値を変更するスクリプト[WAI-ARIA]</title>
    <link rel="alternate" type="text/html" href="http://blog.e-riverstyle.com/2012/03/ariaactivedescendantwaiaria.html" />
    <id>tag:blog.e-riverstyle.com,2012://1.730</id>

    <published>2012-03-25T06:34:07Z</published>
    <updated>2012-03-25T09:07:41Z</updated>

    <summary>久しぶりのWAI-ARIAネタですが、WAI-ARIAのプロパティにaria-a...</summary>
    <author>
        <name>e-river</name>
        <uri>http://www.e-riverstyle.com/</uri>
    </author>
    
        <category term="Accessibility" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="accessibility" label="accessibility" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="waiaria" label="WAI-ARIA" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.e-riverstyle.com/">
        <![CDATA[<p>久しぶりのWAI-ARIAネタですが、WAI-ARIAのプロパティに<em>aria-activedescendant</em>というのがあるのですが、この値をJavaScriptで変更できるようにするというものです。</p>
 ]]>
        <![CDATA[
<h2 class="split">aria-activedescendant</h2>
<p>aria-activedescendantは、仕様書から引用すると、</p>

<blockquote cite="http://www.hitachi.co.jp/universaldesign/ria/ajax/wai-aria/wd_20090224/index.html#aria-activedescendant">
<p>compositeウィジェットの現時点でアクティブな子孫を特定する。</p>
</blockquote>

<p>というもので、下記図のような複数ならんだボタンなどでどれが現在アクティブであるかを示すためのプロパティです。</p>
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="図：UIのイメージ" src="http://blog.e-riverstyle.com/2012/03/25/image/blog201203251.png" width="236" height="42" class="mt-image-none" style="border: 1px solid #000;" /></span>

<p class="sp">さらに仕様書を読むと、</p>

<blockquote cite="http://www.hitachi.co.jp/universaldesign/ria/ajax/wai-aria/wd_20090224/index.html#aria-activedescendant">
<p>ユーザーエージェントがaria-activedescendantを使用して、アクティブな子孫にフォーカスが置かれていることを支援技術に伝えることがある。</p>
</blockquote>


<blockquote cite="http://www.hitachi.co.jp/universaldesign/ria/ajax/wai-aria/wd_20090224/index.html#aria-activedescendant">
<p>開発者は、支援技術またはユーザーエージェントが直接フォーカスを設定する場合に起き得るactivedescendant属性の変更を、把握すべきである。</p>
</blockquote>

<p>というふうに書かれています。つまりこれって、アクティブになった要素を把握するためにactivedescendant属性の値を変更しなければならないってことですよね。まー値の変更ぐらいなので、jQuery使えば簡単にできてしまうのが恐ろしい（謎）ですね。</p>
<p>上の図のようなUIとしてHTMLは下記のような感じにしています。</p>
<pre class="brush: html;">&lt;div role="toolbar" tabindex="0" aria-activedescendant="button1" id="toolbar"&gt;
  &lt;span role="button" id="button1" tabindex="1"&gt;ボタン1&lt;/span&gt;
  &lt;span role="button" id="button2" tabindex="1"&gt;ボタン2&lt;/span&gt;
  &lt;span role="button" id="button3" tabindex="1"&gt;ボタン3&lt;/span&gt;
&lt;/div&gt;</pre>

<p>jQueryの処理ですが、"ボタンが押されたときにspan要素のid属性の値をとってきて、それをaria-activedescendantの値にする"という感じになります。</p>
<p>ボタンを押すなので
イベントタイプは、"click"のみ指定しがちですが、キーボードでも操作できるように、"keypress"も指定します。そして、イベントタイプごとの同じ処理を書くのもメンドーなので、複数のイベントタイプをセットできる"bind"を使用します。（jQuery1.7を使うのであれば"on"のほうがよいのかしら？）
※アクティブなボタンのスタイルを変えたり、ボタンが画像のときに、画像を差し替えたりするのに便利なので、activeというクラスを付くようにしています。
</p>

<pre class="brush: js;">$(function(){
	$("#toolbar span").bind("click keypress", function(){
		$("#toolbar span").removeClass("active");
		$(this).addClass("active");
		var flagment = $(this).attr("id");
		$("#toolbar").attr("aria-activedescendant",flagment)
	});
});</pre>

<p>これで、aria-activedescendantの値が変更できます。スクリプト自体は至ってシンプルですが、ARIAは知れば知るほど複雑な感がありますね。複雑なので、本当に広まるのかしらと思う今日この頃です。【謎】</p>
]]>
    </content>
</entry>

<entry>
    <title>【書評】HTML5+JavaScriptで作る 魅せるFacebookページ</title>
    <link rel="alternate" type="text/html" href="http://blog.e-riverstyle.com/2012/03/html5javascript-facebook.html" />
    <id>tag:blog.e-riverstyle.com,2012://1.729</id>

    <published>2012-03-18T07:27:31Z</published>
    <updated>2012-03-18T07:34:17Z</updated>

    <summary>  Facebookページ作成を勉強しようとHTML5+JavaScriptで作...</summary>
    <author>
        <name>e-river</name>
        <uri>http://www.e-riverstyle.com/</uri>
    </author>
    
        <category term="書籍" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="book" label="book" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="書籍" label="書籍" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="書評" label="書評" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="本" label="本" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.e-riverstyle.com/">
        <![CDATA[ <span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="" src="http://blog.e-riverstyle.com/2012/03/18/image/blog201203181.jpg" width="160" height="198" class="mt-image-none" style="" /></span>

<p class="sp">Facebookページ作成を勉強しようと<a href="http://www.amazon.co.jp/gp/product/4899772904/ref=as_li_tf_tl?ie=UTF8&amp;tag=erc-22&amp;linkCode=as2&amp;camp=247&amp;creative=1211&amp;creativeASIN=4899772904">HTML5+JavaScriptで作る 魅せるFacebookページ</a><img src="http://www.assoc-amazon.jp/e/ir?t=erc-22&amp;l=as2&amp;o=9&amp;a=4899772904" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
を読みましたので、書評を書かせていただきます。</p>
]]>
        <![CDATA[
<p>本書の構成は下記のようになっています。</p>

<dl class="schedule">
<dt>Chapter 1</dt>
<dd>今、なぜFacebookなのか？</dd>
<dt>Chapter 2</dt>
<dd>Facebookページ制作の準備</dd>
<dt>Chapter 3</dt>
<dd>オリジナルのコンテンツを加える</dd>
<dt>Chapter 4</dt>
<dd>HTML5とCSSで少し本格的なコンテンツに挑戦</dd>
<dt>Chapter 5</dt>
<dd>jQueryを使って躍動感のあるコンテンツを作る</dd>
<dt>Chapter 6</dt>
<dd>様々なテクニックを組み合わせて魅力的なコンテンツに仕上げる</dd>
<dt>Chapter 7</dt>
<dd>外部のWebサイトとFacebookを連携しよう！</dd>
</dl>

<p>様々なケースが掲載されているので、実際にFacebookページを作成にあたって非常に参考になるではないかと思います。</p>
<p>Facebookページは、タイトルにあるようにHTML5でなければならないかというとそうでもないので、HTML4/XHTML1でも作成することができるので、HTML5である必要はとくにありません。HTML5の基本的なところも書かれていますが、読み飛ばしてもよいでしょう。</p>

<p>Chapter3の終わりらへん以降からコード多めで、実装者向けかと思われますが、Chapter 1は実際にクライアントに提案などに参考になることが書かれているので実装者以外の人にも十分参考になる書籍だと思います。</p>
<p>ただし、ご存知の方も多いと思われますが、Facebookページがタイムライン化にともないFacebookページのデザインも変わります。そのため、本書に書かれていることがすでに古くなっている箇所もありますので、ご注意ください。</p>

<p class="sp"><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=erc-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=4899772904&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</p>]]>
    </content>
</entry>

<entry>
    <title>ズームレベルの範囲を指定したのにも関わらず動作しない場合の対処法【Google Maps V3】</title>
    <link rel="alternate" type="text/html" href="http://blog.e-riverstyle.com/2012/03/google-maps-v3.html" />
    <id>tag:blog.e-riverstyle.com,2012://1.728</id>

    <published>2012-03-08T14:53:38Z</published>
    <updated>2012-03-08T14:55:21Z</updated>

    <summary>ちょっとGoogle Maps絡みでズームレベルの範囲を指定したのにも関わらず動...</summary>
    <author>
        <name>e-river</name>
        <uri>http://www.e-riverstyle.com/</uri>
    </author>
    
        <category term="JavaScript" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="google" label="Google" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="javascript" label="javascript" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="jquery" label="jQuery" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.e-riverstyle.com/">
        <![CDATA[<p>ちょっとGoogle Maps絡みでズームレベルの範囲を指定したのにも関わらず動作しない場合があったのでこの時の対処法です。</p>
 ]]>
        <![CDATA[

<p>ズームレベルの範囲の指定に関しては、<a href="http://googlemaps.googlermania.com/google_maps_api_v3/map_example_zoom_limited.html">Google Maps 活用講座</a>を参考に下記のようなコードを書きます。</p>

<pre class="brush: js;">google.maps.event.addListenerOnce(map, "projection_changed", function(){
	map.setMapTypeId(google.maps.MapTypeId.HYBRID);
	setZoomLimit(map, google.maps.MapTypeId.ROADMAP);
	setZoomLimit(map, google.maps.MapTypeId.HYBRID);
	setZoomLimit(map, google.maps.MapTypeId.SATELLITE);
	setZoomLimit(map, google.maps.MapTypeId.TERRAIN);
	map.setMapTypeId(google.maps.MapTypeId.ROADMAP);
});
function setZoomLimit(map, mapTypeId){
	var mapTypeRegistry = map.mapTypes;
	var mapType = mapTypeRegistry.get(mapTypeId);
	mapType.maxZoom = 19;
	mapType.minZoom = 2;
}</pre>

<p>これでだいたいは問題ないのですが、今回のケースだけうまく動作しませんでした。そのケースというのが、<strong>1ページに複数のマップを表示</strong>です。</p>
<p>複数表示といっても、今回のケースは下記です。</p>

<ul>
<li>マップ1：ページに常に表示</li>
<li>マップ2：あるボタンを押すと表示される（ボタンが押されなければ表示されない）</li>
</ul>

<p>というものです。マップ1のほうは、特に説明は要らないと思いますが、マップ2がちょっと特殊な感じです。loadされたときに表示ではなくて、clickされたときに表示です。</p>
<p>マップ1の表示のコードは<a href="http://blog.e-riverstyle.com/2012/01/jsongoogle-maps-v3jquery.html">このページ</a>に書いているコードそのものになります。</p>

<p>一方、マップ2の表示は、下記のようになります。（それなりにだいぶ端折ってます。）</p>

<pre class="brush: js;">var $html = '&lt;div id="gmap"&gt;&lt;/div&gt;';
$(".mapBtn").click(function(){
	$("#gmap").remove();
	$(this).after($html);

	var latlng2 = new google.maps.LatLng(34.679526, 135.178021);
	var opt = {
		zoom: 10,
		center: latlng2,
		mapTypeId: google.maps.MapTypeId.ROADMAP,
		scaleControl: true
	};
	var map2 = new google.maps.Map($("#gmap").get(0), opt);
	var marker2 = new google.maps.Marker({
		position: new google.maps.LatLng(34.679526, 135.178021),
		map: map2
	});
	google.maps.event.addListener(marker2, 'click', function(){
		if(infowindow2) { infowindow2.close(); }
		infowindow2 = new google.maps.InfoWindow({
			content: ほげ
		});
		infowindow2.open(map2, marker2);
	});
	google.maps.event.addListenerOnce(map2, "projection_changed", function(){
		map2.setMapTypeId(google.maps.MapTypeId.HYBRID);
		setZoomLimit(map2, google.maps.MapTypeId.ROADMAP);
		setZoomLimit(map2, google.maps.MapTypeId.HYBRID);
		setZoomLimit(map2, google.maps.MapTypeId.SATELLITE);
		setZoomLimit(map2, google.maps.MapTypeId.TERRAIN);
		map2.setMapTypeId(google.maps.MapTypeId.ROADMAP);
	});
	function setZoomLimit(map2, mapTypeId){
		var mapTypeRegistry = map2.mapTypes;
		var mapType = mapTypeRegistry.get(mapTypeId);
		mapType.maxZoom = 19;
		mapType.minZoom = 2;
	}
	return false;
});</pre>

<p>しかし、この場合だとズームレベルの範囲が2から19の範囲が適用されませんでした。原因がなにかなーと探っていくと、結果的には<em>projection_changed</em>を<em>tilesloaded</em>や<em>zoom_changed</em>に変更すれば動作しました。<a href="http://code.google.com/intl/ja/apis/maps/documentation/javascript/reference.html#Map">ドキュメント</a>を読んでもいまいちピンとこなかったというのもあるので、なかなかハマりました。</p>
<p>ズームレベルの範囲を指定したのにも関わらず動作しない場合は、下記のようにお試しください。（zoom_changedのところをtilesloadedでもOKです。）</p>
<pre class="brush: js;">google.maps.event.addListenerOnce(map, "zoom_changed", function(){
	map.setMapTypeId(google.maps.MapTypeId.HYBRID);
	setZoomLimit(map, google.maps.MapTypeId.ROADMAP);
	setZoomLimit(map, google.maps.MapTypeId.HYBRID);
	setZoomLimit(map, google.maps.MapTypeId.SATELLITE);
	setZoomLimit(map, google.maps.MapTypeId.TERRAIN);
	map.setMapTypeId(google.maps.MapTypeId.ROADMAP);
});
function setZoomLimit(map, mapTypeId){
	var mapTypeRegistry = map.mapTypes;
	var mapType = mapTypeRegistry.get(mapTypeId);
	mapType.maxZoom = 19;
	mapType.minZoom = 2;
}</pre>
]]>
    </content>
</entry>

<entry>
    <title>グロナビなどのナビゲーションにステイ表示をさせるメモ【jQuery】</title>
    <link rel="alternate" type="text/html" href="http://blog.e-riverstyle.com/2012/03/jquery-9.html" />
    <id>tag:blog.e-riverstyle.com,2012://1.727</id>

    <published>2012-03-04T13:48:37Z</published>
    <updated>2012-03-04T13:50:43Z</updated>

    <summary> グロナビなどのナビゲーションにステイ表示をさせる場合があると思いますが、そのス...</summary>
    <author>
        <name>e-river</name>
        <uri>http://www.e-riverstyle.com/</uri>
    </author>
    
        <category term="JavaScript" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="javascript" label="javascript" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="jquery" label="jQuery" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.e-riverstyle.com/">
        <![CDATA[ <p>グロナビなどのナビゲーションにステイ表示をさせる場合があると思いますが、そのスクリプトのメモです。</p>]]>
        <![CDATA[
<p>
ページ毎に異なるグロナビのHTMLを用意すればわざわざスクリプトを書く必要はないのですが、1ソースで行う場合にJavaScriptを書く必要性があります。
</p>

<h2 class="split sp">li要素にクラスを付加</h2>
<p>
URLのパスとli要素のa要素のリンクが同じであればアクティブ表示させるクラス（active）を付加するやり方です。jQueryのソースは下記になります。下記を参考にしました。
</p>

<p><a href="http://www.cssnewbie.com/using-javascript-to-style-active-navigation-elements/">Using JavaScript to Style Active Navigation Elements</a>
</p>

<pre class="brush: js;">if(location.pathname != "/") {
	$('#globalnavi a[href^="/' + location.pathname.split("/")[1] + '"]').addClass('active');
} else {
	$('#globalnavi a').eq(0).addClass('active');
}</pre>

<h2 class="split sp">ロールオーバーとactiveがついているli要素の画像を差し替える</h2>
<p>
グロナビのデザインをすべて画像で行う場合は、ロールオーバーで画像を差し替えなければならないので、下記のようなスクリプトを用意します。（マウスオンのときの画像をxxx_on.jpgとします。）
</p>

<pre class="brush: js;">$('#globalnavi a').each(function(){
	if($(this).hasClass('active')) {
		$(this).children().attr("src", $(this).children().attr("src").replace(".jpg", "_on.jpg"));
	}
})
$('#globalnavi a').hover(function(){
		$(this).find('img').attr("src", $(this).find('img').attr("src").replace(".jpg", "_on.jpg"));
	},
	function(){
		$(this).find('img').attr("src", $(this).find('img').attr("src").replace("_on.jpg", ".jpg"));
})</pre>

<p>このままだとactiveがついたli要素にもロールオーバーされてしまうので、activeがついたli要素にはロールオーバーをさせないようにします。</p>
<pre class="brush: js;">$(this).unbind("mouseenter").unbind("mouseleave");</pre>

<p>上記を合体【謎】させたすべてのソースが下記です。</p>

<pre class="brush: js;">//activeを付ける
if(location.pathname != "/") {
	$('#globalnavi a[href^="/' + location.pathname.split("/")[1] + '"]').addClass('active');
} else {
	$('#globalnavi a').eq(0).addClass('active');
};

//activeがついたli要素の画像を差し替え
$('#globalnavi a').each(function(){
	if($(this).hasClass('active')) {
		$(this).children().attr("src", $(this).children().attr("src").replace(".jpg", "_on.jpg"));
		//ロールオーバーを排除
		$(this).unbind("mouseenter").unbind("mouseleave");
	}
});

//ロールオーバー
$('#globalnavi a').hover(function(){
		$(this).find('img').attr("src", $(this).find('img').attr("src").replace(".jpg", "_on.jpg"));
	},
	function(){
		$(this).find('img').attr("src", $(this).find('img').attr("src").replace("_on.jpg", ".jpg"));
})</pre>]]>
    </content>
</entry>

<entry>
    <title>AndroidでCookieが送信されないという現象</title>
    <link rel="alternate" type="text/html" href="http://blog.e-riverstyle.com/2012/02/androidcookie.html" />
    <id>tag:blog.e-riverstyle.com,2012://1.726</id>

    <published>2012-02-15T15:14:59Z</published>
    <updated>2012-02-15T15:16:36Z</updated>

    <summary> 不都合というかiOSと比べて意図した動きになってくれないことが多いAndroi...</summary>
    <author>
        <name>e-river</name>
        <uri>http://www.e-riverstyle.com/</uri>
    </author>
    
        <category term="モバイル" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="mobile" label="mobile" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.e-riverstyle.com/">
        <![CDATA[ <p>不都合というかiOSと比べて意図した動きになってくれないことが多いAndroidですが（それを世間では不都合と呼んでいるかもしれない。）、Cookieが送信されない機種があり、これで大きくつまずきました。</p>
]]>
        <![CDATA[
<p>今回のケースでは、スマホでPCサイトを閲覧する場合に、Cookieの有無で判別することにしていました。</p>

<ul>
<li>Cookieがない場合は、スマホサイト表示</li>
<li>Cookieがある場合は、PCサイト表示</li>
</ul>

<p>当然ながらという表現は微妙ですが、iOS4.2（iPhone4）とiOS5（iPhone4S）では問題無く、上記の条件において意図した表示になってくれました。<br />しかし、Android端末で検証すると、意図した表示になる機種もあれば、意図した表示にならない機種がありました。その機種が下記です。</p>

<ul>
<li>IS03 (Android 2.2）</li>
<li>GALAXY S SC-02B (Android 2.2）</li>
<li>OPTIMUS CHAT (Android 2.2）</li>
<li>IS04 REGZA (Android 2.2）</li>
</ul>

<p>意図した表示になったのが下記です。</p>

<ul>
<li>GALAXY S SC-02B (Android 2.3）</li>
<li>GALAXY S SC-02B (Android 2.2）</li>
<li>OPTIMUS CHAT (Android 2.2）</li>
<li>Xperia　SO-01B (Android 2.1）</li>
</ul>

<p>※GALAXY S SC-02B (Android 2.2）とOPTIMUS CHAT (Android 2.2）は意図した表示になったり、ならなかったりしました。</p>

<h2 class="split sp">Cookieは表示される</h2>
<p>なぜこうなるのかの仮説として、「Cookieが消える？」とはじめに考えました。どこかで、勝手にCookieが消えたという現象はスマホとか関係なく聞いたことがあるので、このケースにも当てはまるのではないかと思い、Cookieがあるかどうかを確認するために、Androidの標準ブラウザのURLバーに下記のJavaScriptを実行。（めっちゃメンドーです。）</p>

<pre class="brush: js;">
javascript:alert(document.cookie);
</pre>

<p>
とすると、「あるやん！！」。</p>
<p>機種依存によるバグと期待したのですが、該当するCookieが表示されました。ならばなぜにCookieを判別してくれないのか、悩みまくっていたのですが、「Cookieが送信されてるのか確認した？」というアドバイスをいただきました。
</p>

<p>これを確認するために、PHPでテストファイルを作成、ちなみにコードは下記です。下記のコードを適当なファイル名にして（拡張子は『.php』）、このファイルに実機でアクセスして検証という手順です。</p>
<pre class="brush: php;">
&lt;?php
var_dump($_COOKIE);
?&gt;
</pre>

<p>Cookieが送信されていたら、下記のような表示が返ってきます。（Cookie名とかその辺りは捏造しています。）</p>
<p class="trans">
array(2) { ["hoge"]=&gt; string(4) "hoge" ["Cookieの内容"]=&gt; string(3) "INT" }
</p>

<p>しかし、IS03等で確認すると</p>
<p class="trans">
array(2) { ["hoge"]=&gt; string(4) "hoge" [""]=&gt; string(3) "INT" }
</p>

<p>
Cookieの内容がありませんでした。ということでCookieが送信されていないということが判明しました。
</p>

<p>結果的には、機種依存による不都合と捉えたのですが、検証になかなか時間を費やした結果となりました。いや本当にAndroidは鬼門すぎて泣きそうです（泣いてますけど・・・）。同じような現象で悩まれている型がおられば、一度お試しください。</p>
<p>他のサイトでは、Cookieをどのように扱っているんですかね？Cookieを使わずにlocalStorageでやっていたりするのでしょうか。そのあたり知りたいですね。</p>]]>
    </content>
</entry>

<entry>
    <title>【書評】標準HTML5タグリファレンス</title>
    <link rel="alternate" type="text/html" href="http://blog.e-riverstyle.com/2012/02/html5-5.html" />
    <id>tag:blog.e-riverstyle.com,2012://1.725</id>

    <published>2012-02-05T07:31:07Z</published>
    <updated>2012-02-05T07:33:54Z</updated>

    <summary>  非常に評判が良いという噂の標準HTML5タグリファレンス (WEB PROF...</summary>
    <author>
        <name>e-river</name>
        <uri>http://www.e-riverstyle.com/</uri>
    </author>
    
        <category term="書籍" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="book" label="book" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="書籍" label="書籍" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="書評" label="書評" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="本" label="本" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.e-riverstyle.com/">
        <![CDATA[<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="" src="http://blog.e-riverstyle.com/2012/02/05/image/blog20120205.jpg" width="160" height="233" class="mt-image-none" style="" /></span> 

<p class="sp">非常に評判が良いという噂の<a href="http://www.amazon.co.jp/gp/product/4048860631/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;tag=erc-22&amp;linkCode=as2&amp;camp=247&amp;creative=1211&amp;creativeASIN=4048860631">標準HTML5タグリファレンス (WEB PROFESSIONAL)</a><img src="http://www.assoc-amazon.jp/e/ir?t=erc-22&amp;l=as2&amp;o=9&amp;a=4048860631" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
を読みました。評判とおりによかったです。</p>]]>
        <![CDATA[
<p>評判では、「読み易い」という声をよく聞くのですが、その評判とおりに読み易いです。</p>
<p>個人的に読み易いと感じたのは下記です。</p>
<ul>
<li>カテゴリーで分かれているので、タグを探しやすい</li>
<li>タグ名の読み方が書いているので、読み方が不明だったものが明確となった</li>
<li>色分けされているので全体的に読み易い</li>
<li>その要素のグローバル属性が載っているので分かり易い</li>
<li>対応ブラウザのバージョンが書いているので非常に参考となる</li>
</ul>

<p>サンプルのソースコードもシンプルで分かり易いです。また、本のサイズもちょうど良く、軽いので持ち運びもしやすいです。よく考えられているなーと感じました。</p>

<h2 class="split sp">スマホ用のWebアプリが付いている</h2>
<p>あとは、付録として付いているスマホ用のWebアプリですね。この書籍がアプリとなった用な感じなので、「本がないけどあの要素を調べたい」とかに活用できそうです。</p>

<h2 class="split sp">疑問点</h2>
<p>あまり本書と関係ないところですが、Editor's Draftから削除となったtime要素、追加となったdata要素についてですが、
本書には、time要素の記載があり、data要素の記載はありません。そのため、{なせ？}と思ったのですが、2月4日に更新されたであろうEditor's Draftに<a href="http://dev.w3.org/html5/spec/Overview.html#the-time-element">time要素</a>の記述があり、
data要素の記述がありませんでした。</p>
<p>以前から、time要素は復活すると聞いてましたが、すでに復活したのですかね？どうなんでしょう？</p>


<p class="sp"><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=erc-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=4048860631&amp;ref=qf_sp_asin_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</p>]]>
    </content>
</entry>

<entry>
    <title>IE9の開発者ツールででスマートフォンサイト開発（主に、Windows Phoneのために）</title>
    <link rel="alternate" type="text/html" href="http://blog.e-riverstyle.com/2012/02/ie9windows-phone.html" />
    <id>tag:blog.e-riverstyle.com,2012://1.724</id>

    <published>2012-02-02T14:43:37Z</published>
    <updated>2012-02-02T14:49:44Z</updated>

    <summary>エミュレーターや実機で検証の前にWindows Phoneの検証にIE9が非常に...</summary>
    <author>
        <name>e-river</name>
        <uri>http://www.e-riverstyle.com/</uri>
    </author>
    
        <category term="その他" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="mobile" label="mobile" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="windowsphone" label="Windows Phone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.e-riverstyle.com/">
        <![CDATA[<p>エミュレーターや実機で検証の前にWindows Phoneの検証にIE9が非常に役立ちます。IE9の開発者ツールでユーザーエージェントをWindows Phoneに指定すればIE9でスマートフォン向けのサイトの検証等ができます。</p>
 ]]>
        <![CDATA[
<p>スマートフォンサイト作成でPCのブラウザでユーザーエージェントを変えて検証するというテはよく使うかと思います。スマートフォンサイトだとiOSとAndroidが中心なので、私はよくSafariを使用します。Safariの開発者メニューは非常に便利ですよね。IE9の開発者ツールはそれに近いです。</p>

<p>
ちなみに、Safariの開発者メニューに関しては下記のエントリーが参考になります。<br />
<a href="http://blog.webcreativepark.net/2011/05/12-213145.html">Safariの開発者メニューでスマートフォン開発[to-R]</a>
</p>

<p class="sp">iOSやAndroidの場合は、Webkitなのでよいのですが、Windows Phoneの場合はそうもいきません。CSS3の対応度がiOSやAndroid比べても低いですし、JavaScriptの挙動も多少は異なったするからです。</p>
<p>しかし、幸いにもWindows Phoneは、IE9ベースとなるためIE9で表示・動作されれば問題ないとみてよいかと思いますので、Windows Phoneの検証時には、[IE9]→[Windows Phoneエミュレーター]→[実機]の順で行なっています。</p>

<p>開発者メニューの表示は、「F12」を押すか、下記図のようにメニューから「開発者メニュー」を選択して表示します。</p>
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="" src="http://blog.e-riverstyle.com/2012/02/02/image/blog20120202_01.jpg" width="305" height="294" class="mt-image-none" style="" /></span>

<p class="sp">
ユーザーエージェントを変更するには、下記の手順を行います。
</p>
<p class="trans">
[ツール]→[ユーザーエージェントの文字列を変更]→[カスタム]
</p>
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="" src="http://blog.e-riverstyle.com/2012/02/02/image/blog20120202_02.jpg" width="392" height="316" class="mt-image-none" style="" /></span>

<p class="sp">
そうすると下記図のようなボックスが表示されます。
</p>

<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="" src="http://blog.e-riverstyle.com/2012/02/02/image/blog20120202_03.jpg" width="653" height="257" class="mt-image-none" style="" /></span>

<p class="sp">その入力欄にWindows Phoneのユーザエージェント（auからでているIS12T参照）は下記になるので、下記の文字列を「ユーザーエージェントの文字列」に入力します。</p>
<p class="trans"><code>
Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; FujitsuToshibaMobileCommun; IS12T; KDDI)</code></p>

<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="" src="http://blog.e-riverstyle.com/2012/02/02/image/blog20120202_04.jpg" width="631" height="227" class="mt-image-none" style="" /></span>

<p class="sp">先ほど、入力したものが表示されます</p>
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="" src="http://blog.e-riverstyle.com/2012/02/02/image/blog20120202_05.jpg" width="589" height="320" class="mt-image-none" style="" /></span>
<p class="sp">こいつをクリックするとWindows Phoneのユーザエージェントに切り替わります。
開発者メニューすべてが使えますので、CSSやJavaScriptのデバッグを行いやすくなり、効率も上がります。</p>]]>
    </content>
</entry>

<entry>
    <title>Windows Phoneでwindow.scrollToが動作しなかったので、setTimeoutを使ったら動いた。</title>
    <link rel="alternate" type="text/html" href="http://blog.e-riverstyle.com/2012/01/windows-phonewindowscrolltoset.html" />
    <id>tag:blog.e-riverstyle.com,2012://1.723</id>

    <published>2012-01-28T09:09:09Z</published>
    <updated>2012-01-28T09:12:51Z</updated>

    <summary>scrollToの件でWindows Phoneでドハマリしたので、とても参考に...</summary>
    <author>
        <name>e-river</name>
        <uri>http://www.e-riverstyle.com/</uri>
    </author>
    
        <category term="JavaScript" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="javascript" label="javascript" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="windowsphone" label="Windows Phone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.e-riverstyle.com/">
        <![CDATA[<p>scrollToの件でWindows Phoneでドハマリしたので、とても参考になるとは思いませんが、一応メモとして残しときます。</p> ]]>
        <![CDATA[<p>諸事情でページがロードされたときに、ページ上部に移動するという実装を試みました。普通に<strong>window.scrollTo(0,0)</strong>を指定したわけですが、Windows Phoneで動作しませんでした。（Windows Phoneエミュレーターでの確認ですが）</p>
<p>IE9では当然ながら動作しました。なので「IE9で動くねんから動かんとおかしいやろ！」と思いながら、いろいろ試したのですが、ともかく動きませんでした。なぜなんでしょうね？</p>
<p class="sp">そこで、setTimeoutという選択肢がどことなく浮かんできたので、setTimeoutとともに使うとなんとか動作しました。そんときのコードが下記。（Windows Phoneのみ動作させたかったので、UA判別でWindows Phoneの場合のみという条件分岐をしています。）</p>

<pre class="brush: js;">
if (navigator.userAgent.indexOf('Windows Phone') != -1 ){
	window.setTimeout(function(){
		window.scrollTo(0,0)
	}, 10)
};</pre>

<p>「んなことはない！setTimeout使わんでも動くで！」と言う方がおられば（おると思います）ご教示ください。</p>]]>
    </content>
</entry>

<entry>
    <title>【書評】実践テクニック HTML5スマートフォンWebアプリ制作</title>
    <link rel="alternate" type="text/html" href="http://blog.e-riverstyle.com/2012/01/-html5web.html" />
    <id>tag:blog.e-riverstyle.com,2012://1.722</id>

    <published>2012-01-21T07:05:36Z</published>
    <updated>2012-01-21T07:08:53Z</updated>

    <summary>  今後の参考にあるのではないかと感じ、 実践テクニック HTML5スマートフォ...</summary>
    <author>
        <name>e-river</name>
        <uri>http://www.e-riverstyle.com/</uri>
    </author>
    
        <category term="書籍" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="book" label="book" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="書籍" label="書籍" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="書評" label="書評" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="本" label="本" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.e-riverstyle.com/">
        <![CDATA[ <span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="" src="http://blog.e-riverstyle.com/2012/01/21/image/blog2012012101.jpg" width="160" height="203" class="mt-image-none" style="" /></span>
<p class="sp">
今後の参考にあるのではないかと感じ、
<a href="http://www.amazon.co.jp/gp/product/4798031895/ref=as_li_qf_sp_asin_tl?ie=UTF8&tag=erc-22&linkCode=as2&camp=247&creative=1211&creativeASIN=4798031895">実践テクニック HTML5スマートフォンWebアプリ制作</a><img src="http://www.assoc-amazon.jp/e/ir?t=erc-22&l=as2&o=9&a=4798031895" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
を読みましたので書評を書かせていただきます。
</p>]]>
        <![CDATA[
<h2 class="split">本書の構成</h2>
<p>この書籍の構成は、主に下記のようになっています。</p>

<ul>
<li>HTML5・CSS3の概要</li>
<li>スマートフォンサイト作成の基本</li>
<li>グラフィック系のアプリ</li>
<li>マルチメディアプレイヤーアプリ</li>
<li>メモ帳系のアプリ</li>
<li>マップアプリ</li>
<li>WebSocketを使ったアプリ</li>
</ul>

<h2 class="split sp">HTML5・CSS3の概要</h2>
<p>ここでは、HTML5の誕生や特徴、HTML4との違い、HTML5 API、そしてCSS3について簡単に書かれています。しかし、ざっくりと書いているだけなので、
もし、これらのことをより詳しく知りたいと思う人は別の文献を参考にしたほうがよいです。</p>

<h2 class="split sp">スマートフォンサイト作成の基本</h2>
<p>スマートフォンサイト作成の基本についても書いていますが、やはりざっくりと書いているので、より詳しく知りたいという方は「<a href="http://www.amazon.co.jp/gp/product/4844362232/ref=as_li_qf_sp_asin_tl?ie=UTF8&tag=erc-22&linkCode=as2&camp=247&creative=1211&creativeASIN=4844362232">iPhone & Android スマートフォンサイト制作の教科書</a><img src="http://www.assoc-amazon.jp/e/ir?t=erc-22&l=as2&o=9&a=4844362232" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
」や「<a href="http://www.amazon.co.jp/gp/product/4048702181/ref=as_li_qf_sp_asin_tl?ie=UTF8&tag=erc-22&linkCode=as2&camp=247&creative=1211&creativeASIN=4048702181">iPhone+Android スマートフォンサイト制作入門 (WEB PROFESSIONAL)</a><img src="http://www.assoc-amazon.jp/e/ir?t=erc-22&l=as2&o=9&a=4048702181" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
」を参考にしたほうがよいです。</p>

<h2 class="split sp">グラフィック系のアプリ</h2>
<p>この辺りから本書のメイン（？）となってきます。</p>
<p>グラフィック系のアプリとして、お絵描きアプリと写真アルバムアプリの開発について、具体的なソースコードがサンプルとして書かれています。</p>
<p>これらのアプリでは、canvas APIを使っています。サンプルのJavaScriptのソースコードが書かれていますので、canvas APIに加えてスマートフォンのUIであるスワイプのソースコードも書かれているので参考になるかと思います。</p>

<h2 class="split sp">マルチメディアプレイヤーアプリ</h2>
<p>ここでは、オーディオプレイヤーとビデオプレイヤーの開発について書かれています。ソースコードも参考になるのですが、大まかなvideo要素とサポートしているビデオフォーマットについて書かれているのでこれらの概要についても知ることができます。</p>

<h2 class="split sp">メモ帳系のアプリ</h2>
<p>ここでは、メモ帳、会計簿のアプリについて書かれています。Web StrageとHTML5の仕様から外れましたが、 Web SQL Database（ちゃんと本書で仕様から外れたということも注意書きとして書かれています。）を使っているので、これらの使い方や書き方をサンプルのソースコードから学べます。</p>

<h2 class="split sp">マップアプリ</h2>
<p>マップアプリと聞くとGoogle MapsとGeolocationとすぐに思いつくかもしれませんが、まさにそれです。本書では、それだけでなくサーバーサイドの技術と組み合わせることでリアルタイムなものになっています。</p>

<h2 class="split sp">WebSocketを使ったアプリ</h2>
<p>ここでは、WebSocketを使ったアプリとして、インスタントメッセンジャーとオセロのアプリをサンプルとして書かれています。</p>

<h2 class="split sp">感想</h2>
<p>
個人的には、jQueryを使っていないというところがポイントなのかと思いました。昨今では、jQueryを使うことのほうが多いと思うのですが、
jQueryでないところがJavaScriptの学習としても良いように思いました。他には
Androidのことをそれなりに使えないと書籍に書いているところが気に入りました。Androidでの問題点等を把握して開発に望めるものと思います。</p>
<p>また、サンプルのソースコードが豊富なので、コードを勉強したい人にとって、非常に良い書籍だと思います。また、HTML5のAPIを使っているので、HTML5とJavaScriptで何かアプリを作りたいときに、おおいに助けになるのではないかと感じました。
</p>

<p class="sp">
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=erc-22&o=9&p=8&l=as1&asins=4798031895&ref=qf_sp_asin_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</p>]]>
    </content>
</entry>

</feed>

