2011年10月01日(土)サブミッション、アフターディナーケース。

携帯スマートフォンのアクセスで「どうやって振り分けるのか」の考慮。フォントサイズを縮める必要がある。「どこまで縮めるべきなのか」の考慮。

日記の文字列をフォントサイズ13pxで表示した時のとある1行の横幅(単位px):875 
日記の文字列をフォントサイズ12pxで表示した時のとある1行の横幅(単位px):815 → 815/875 = 0.931(切り捨て) → 93.1%

現在の文字列の上限は左端から右端まで目一杯書いたとして「913px」と設定しているのがこの日記の策定条件。従って「913px」を基準に定義する。

・13px → 12px 「913*0.931 → 850.003」(以降切り捨て)

「850*0.931 → 791.350」(切り捨て)「791*0.931 → 736.421」(切り捨て)「736*0.931 → 685.216」(切り捨て)「685*0.931 → 637.735」(切り捨て)
「637*0.931 → 593.047」(切り捨て)「593*0.931 → 552.083」(切り捨て)「552*0.931 → 513.912」(切り捨て)「513*0.931 → 477.603」( → 4px)

・Android内蔵ブラウザの解像度:800x480 ・近頃発売されたAndroid OS搭載スマートフォンの液晶最低解像度:800x480 
・F-09Cのスマートブラウザの解像度:640x480 ・iPhone4のSafariの解像度:480x320

・IS12SH → devicePixelRatio「1.5」(従って事実上の標準) ・devicePixelRatio → F-09C、大部分のスマートフォン「1.5」、iPhone4「2」

ua:F-06B(フルブラウザ)「Mozilla/5.0 (F06B;FOMA;like Gecko)」

ua:F-09C(スマートブラウザ)「Mozilla/5.0 (F09C; FOMA; U; ja-jp) AppleWebKit/534.1.4 (KHTML, like Gecko) Safari/534.1.4」
ua:IS12SH「Mozilla/5.0 (Linux; U; Android 2.3.3; ja-jp; IS12SH Build/S7141) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1」

ua:iPhone 4(以下1行全部)
Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7

ua:Firefox for Android(一例)
Mozilla/5.0 (Android; Linux armv7l; rv:2.1.1) Gecko/20110415 Firefox/4.0.2pre Fennec/4.0.1

1:数多くのuseragentを眺めてその共通項を探る。 2:記述が長くならない様に対象を明確に定めておく。

…特に重要なのは「2」の方になる。暫定メモ。

メモ1:「Android」 or 「like Gecko」

「Android(アンドロイド)」の場合は基本スマートフォンなので振り分けの対象となる。…問題なのはiPhoneに対応させる為のギミックを追加する事。
その為には「like Gecko(Geckoが好きです…ではなく、Geckoの様な、と言う意味でのlike)」と言う文字列が重要になってくる。これを更に振り分ける。

何故なら「like Gecko」の文字だけではスマートフォンであるとは確定出来ないから。「パソコン用のブラウザでもlike Geckoの文字はUserAgentに使われる」。

メモ2:「Macintosh」 or 「Chrome」 

「Macintosh」と入っていればパソコンからのアクセスである事が確定する。それとは別にGoogle Chromeからのアクセスであればパソコンからのアクセスである事が
確定する。「like Gecko」の文字列はSafari、Google Chrome共に「WebKit系ブラウザ」の一種であり「WebKit系ブラウザのUserAgentには必ず入っている文字列」。

従って「パソコン、もしくはパソコン用のソフトからのアクセスかどうか?」で振り分けの対象とする。

・パソコンから、であれば何もしない。 ・パソコンではない物から、であればスマートフォンからであると判断しスマートフォン専用の内容を出力する。

これで「iPhoneにも対応出来る」事となる。対応する事に意味は薄いが「対応自体は可能」としておく事こそが利便性もしくは有用性が存在している事への証明。

事例1:ドコモの場合、Androidからのアクセスは「Android」で対応可能。ドコモの携帯電話に搭載のフルブラウザからは「like Gecko」で対応可能。 
事例2:auの場合、Androidからのアクセスはドコモと同様に「Android」で対応可能。auの携帯電話のフルブラウザは性能が低いので対応しない方がいい。 
事例3:ソフトバンクの場合、Androidからのアクセスは「Android」で対応、iPhoneからのアクセスは「like Gecko」で対応、フルブラウザは性能が低いので対応せず。

主な携帯キャリアの対応の違いは以上となる。

2011年10月01日(土)18時34分26秒