2011年09月30日(金)フレッドフィールド

1:IE「以外」のブラウザで殆ど同じ様な動作と見た目になる様にとした「クロスブラウザ」への対応の為にサイトのCSSを書き直す。 
2:おかしい内容の見た目を排除する為にサイトのCSSを書き直す。一部表現方式の変更の為にCSSを書き直す行為も含む。 
3:高速動作、高速更新の為にPHPスクリプトの中を見直して低速になっている理由の記述箇所を高速動作になる様にと書き換える。

1、2、3。これらの行為。最近やってきた事は主にこの3つに区分される。もしくはこの3つが統合的な物となって動向となった展開も含めれば「のべ4つ」となる。

最近は特に「3」か。日記更新スクリプト。ログの整理と書き換え。その為に統一性のあるログの形式を引っ張り出しながら綺麗な整理を掛けていく。
そうした行為が必要になってくる。以前はpreg_matchでやっていた。遅くは無いが早くも無い。もっと早く動作する可能性のある方法は以前から知っている。
strposを使う事。preg_matchでA点とB点の間の記述を引っ張り出してきましょうね、とやっていた事を置き換える。

…但し、どうやってその2点間を求めるのか。今まではその方法が思いつかなかった。木曜日の深夜に急に思いついたので短時間で実装を掛けた。
簡単に書けば「A点のstrpos → strlen → B点のstrpos → strlen → 2回のstrlenで決められた形式が書かれている位置を探ってログ取得する」。

訳が分からない?いや別に。むしろこのあと説明する事の方が重要。上記の書き換えによってスクリプトのファイルサイズは肥大化してしまったが
動作その物はこれまでの速度の3分の2、作業効率としては今までの1.5倍の体感速度のアップと言う事で日記の更新が効率化されました。

「作業効率1.5倍」。こっちの方が重要なんで。

そんな近況。1、2、3、並びに1から3までの内容の統合的な展開を含めてのべ4つ。最近の俺のそうした近況。

…あぁ、この所スマートフォンばっかり触っていじって見ていたよ家電量販店で、的な事をやってきた事にも勿論意味はありましたと。
…あぁなるほど、「スマートフォンは小さいパソコンの様な物です」と情報弱者に説明商法を行ってきた間違った比喩を顧客に伝えたショップ店員らの
ケツを拭く為と言うのがサブの目的でパソコンで見える様な状態と同じ様な状態でスマートフォンでも表現するにはどうしたらいいんだろう?
とあれをやって違う、これをやって違う、それをやって近いんだけれども違う、うーんなんでだろう…。と色々やってきた際にそれとは別の目的として

「こう言う風に書けばスマートフォンでも見やすくなるな」、「こう言う色合いに変えた方がいいなど言う様なCSSの工夫に際する閃きの発端は
そうしたスマートフォン触りまくり状況の中でいろいろと沸点として思いついたと言うのが現状なんで。おかげでその辺りの閃きは大分CSSに盛り込みました。

スマートフォンで見る事を念頭に置いたらパソコン向けのCSSも書き方を工夫する事が出来ました。それも「本質的に」見やすい方向で。

さて以下俺のメモ。

1−1:パソコンとスマートフォンで同じページを表示しても「テーブルの枠の線の太さが違って見える」などの現象が発生するのは「devicePixelRatio」が犯人。
1−2:「devicePixelRatio」とは、「1pxを何pxとしてレンダリングするか?とする設定の事」を表す。パソコンでは当然「1」と同義になる。
1−3:「devicePixelRatio」の数字は、Androidの内蔵ブラウザの大半は「1.5」、iPhone3GSでは「1」、iPhone4では「2」と言う数字となっている。これが犯人。

1の展開によっての結論は「CSS3のメディアクエリ(media query)を使ってdevicePixelRatioの数字によってCSSの記述内容の振り分けを行う事が重要」とする。

2−1:Android内蔵ブラウザの「ページの自動調整」は「800x480」(縦長なら480x800)の画面を「引き延ばす」行為である。
2−2:サイト作りの基準はAndroid内蔵ブラウザの本質的な解像度である所の「800x480」を念頭において作るべきである。
2−3:上記2つの事項が適用されるのはAndroid内蔵ブラウザのWebKitだけであって、WebKitを採用していない他のスマートフォン用ブラウザは適用しない。

2の展開によっての結論は「これから高解像度をプッシュして来るAndroid内蔵のモバイル機械が増えて来るだろうが基本的には800x480を意識せよ」とする。

3−1:スマートフォンは発展途上と断言する理由は「GoogleがAndroidのブラウザに本腰を入れていない。Google Chrome for Androidを出していない」から。
3−2:Firefox(Gecko)とOpera Mini(Presto)はAndroid向けにブラウザを出しているがGoogleは出していない。それが西暦2011年9月末での状態。
3−3:Google Chromeのダウンロードページにスマートフォンからアクセスすると「Linux、Ubuntu用」のGoogle Chromeをダウンロードするページに飛ばされる。
3−4:基本的にはAndroidの内蔵ブラウザはバグだらけであり正直まともには付き合えない。「悪友と付き合うが如くのトーン」になるのが現実。

3の展開によっての結論は「会社はプッシュして来るだろうが実質的にはまだまだ途上の様相に付き『熱病にうなされている奴をまともに見るな』の警告」を行う。

とまむさんのサイトもスマートフォンには暫定的に対応してるんで。「devicePixelRatio1.5、モリサワ新ゴRを搭載している、画面は当然横長モード、
文字は小さめになるのでタッチパネルの精度が人間工学にフィットしている物で無いとまともには使えない」。と各種条件が満載なので「暫定」と定義する。

何故暫定なのか。「スマートフォンは発展途上。どうせこの後もバグの変化や仕様の変更があるに決まってる。いちいち付いて行かない。安定するまで放置」。

それが賢者の選択だから。…mixiはどうしてperlを使ってサイトを構築してるのか。「枯れた技術だから」。これ以上の革新や仕様の変更が無い変わりに
1度プログラミングを行っておけばしばらくはそれで使い回しが出来る状態になって仕様変更に振り回される事もないから。それが理由。

「足あと改悪?mixi内部の情勢はperlを採用している事からも分かる様に割とプロジェクト開発に関してはリソースを割けない状態にあるのが現実。
どちらかと言えば広告による収益や企業インタビューに応じる事への好感度アップと言った対収益、対法人の方に企業としての力を使う方向性を向けている。
すなわち顧客軽視。それがmixiの現実。足あとの改悪も『足あとは金にならないから』と言う理由と『足あとがサーバーに負荷を掛ける状態になる訳で
それが改善される様なプログラムを組む事が出来ませんでした』と言う2つの理由がある事さえ分かれば改悪が発生する事なんて容易に想像する事が出来る」。

と言って大衆の「too late」な概念をdisっておく事とする。

2011年09月30日(金)23時27分39秒