2010-04-20(火) [長年日記]
■ tDiary、9歳
25年という目標からすると、やっと1/3ですか。道は長いね。
今年中に(いまの2.3をベースにして)3.0を出したい。一番の難関だったUTF-8化はもう済んでいるので、ruby 1.9.2がリリースされれば障害はないな。3.0までにあと何を入れるか、議論する必要がありそう。いま読んでる『Webを支える技術』に触発されて、AtomPub準拠のAPIを整備したいという気持ちもあるけど、はてさて。
あとはきちんと継続するためにはメンテナンスコストの低減を図らないといけないので、今の安定版・開発版の二本体制は見直す必要があると思ってる。ぼんやり考えてるのは、リリースのベースにはいまのSubversionを使い、開発ベースはGithubに移行するという方向性。いろんな人が好き勝手にいじっている現状を消極的に認めるなら、変更管理のSubversionよりパッチ管理のGitの方が相性がいいだろうし。
■ tDiary: スマートフォン識別
tDiary 2.3にはとりあえず作った「Config#iphone?」というメソッドがあって、UserAgentを見てiPhoneとiPod touchをプラグインで判別できるようにしてある。だが、スマートフォンも増えつつあるし、他の端末も同じように扱えるようにする必要が出てきた(主におれの要件だが)。
区別したいのは表現力はPC並みだがスクリーンサイズの制約が大きい端末なので、そのあたりは恣意的に決めていく。例えばUserAgentに「Mobile」が入っていればいいかというとそんな単純な話ではなくて、例えばiPadのUserAgentにも「Mobile」が入っているけど、あれは十分なスクリーンサイズなのでスマートフォン扱いしてはまずい。
というわけで、先程コミットした2.3.3.20100420では「Config#smartphone?」メソッド(aliasで従来通りの「iphone?」も使える)の判別用正規表現はこんな感じ:
/iPhone|iPod|Opera Mini|Android.*Mobile|NetFront|PSP/
Android端末がこれでいいかどうかわからない。PSPは(スマートフォンじゃないけど)試しにこの日記を見てみたらそこそこな感じだったのでまぁいいか、というところ。NetFrontはついでに加えてみたけど、ここに加えていいのかどうかわからない。
こんなこともあろうかとアカウントを確保しておきました!
http://github.com/tdiary
もちろんそれを知った上でのアイデアだよ~
tdiay9歳おめでとうございます。
今までずっと使わせていただいています。
これからもがんばってください。
Androidは「Mobile Safari」で拾った方がいいかも。現状でもマッチはしますけど、Opera Miniとの対比的には。
AndroidはMobile Safariだけじゃないですよねぇ? あんまり気にしなくていいのかな。
いや、何で拾いたいのかによると思うんですけどね。
Opera Miniで拾うならブラウザで識別したいんだろうと思ったわけですが……。
とりあえず、Mobile SafariじゃなかったらOpera Mini、あるとしてNetFrontってとこじゃないでしょうか。そういやケータイのフルブラウザとかどうなんだろ。
「何で(手段)」は問わないんですよ。峻別したいのは端末の能力なので、それがブラウザに依存した能力ならブラウザ名だろうし(ex.Opera mini)、スクリーンサイズによるなら端末名(ex.iPhone)になると思います。そういう意味で、Androidはいろいろやっかいですね。
ケータイのフルブラウザはNetFrontが多いって聞いたことがあります。あれはスマートフォン相当とみていいのかなぁ。