2012-12-14

SVGの次のお話

来年の1月か2月のオーストラリアのF2Fミーティング以降にたぶんSVG 2.0のワーキングドラフトが更新されるらしいんだけど、今日はそれのお話。語られることないんで書いてみる。

HTML5だCSS3だって話がいろいろ聞かれるけど、SVGもやっと2.0の話がぼちぼち出てきてる。SVG自体は元から日本人とかが絡んでるってのをみんな知らなかったりする。キャノンの藤澤さんが元々仕様策定に絡んでいたりしたんだけど、2.0だとKDDI(もちろん日本のね!)が仕様策定に絡んでたり (次の更新の際にはエディタに入るんじゃないかな?)。

SVG 1.1とかを制定したときと比べて今一番違うところは、HTML5やCSS3を通った後ってところ。現在の状態だと、CSSとSVGで被っている機能が増え始めてる。たとえばアニメーション (SVG Animation vs CSS Animation) とかフィルタ (SVG Filter vs CSS Filter) とか。こういう被っている機能ってのは、ブラウザ作ってる側にとっても実装コストが面倒だし、それよりもWeb開発者にとってはもっと面倒臭いよね。

そもそも同じW3Cで決めてる規格なので、こういう被る機能 (FilterやTransform、Animation) に関してSVG側とCSS側とで共同チームが組まれてて、FX TaskForceってのが該当する。そもそもSVG Working GroupのメンバもAdobeとかMicrosoftとかGoogleとかMozillaとかがいるし、同様にCSS Working Groupもだしね。

一例としては、アニメーションなんかはWeb Animationと呼ばれる規格になってく。これは、規格作ってるBrianのインタビュー(英語)でも参照してみてね。こういう被るような仕様に関しては両方で共通化できる仕組みにすることを考えてる。

なので、たとえばCSS Filterの動作サンプルを見てると、WebKitで実装されたCSS FilterがOperaとかMozillaがいつ実装するのかどうかってみんなは思うかもしれないけど、現在のあの仕様がそのまま全社が実装するとは思えない。FX TaskForceの活動の結果、共通化されたFilterの仕様が新規に決められることになるので、それを各社が実装することになる。そうしたほうが覚えるコスト少なくていいしね!

SVG2らへんの話は矢倉さんあたりが書いてくれるとうれしいなと思うけど、守備範囲だっけ?

2012-12-05

So-net 3GのマイクロSIMを契約した

諸事情で実家に多々買えることがあったのでWiMAXの契約を持っていたんだけど、速度を求めてるわけでもないので、So-net 3Gを契約した。WiMAX自体はクリアワイアレスの件もあったりauのLTEへの移行もあるので、もう先が見えてるし。So-netなのはただ単に自分のプロバイダがSo-netなのでって理由だけだけど。

So-netって言ってもDocomoのLTEのMicroSIM。


  • 速度的にはそこそこ1Mbpsは出てる
  • Galaxy Nexusで使っても、デザリングしたければルート化する必要あり
  • デフォルトのデザリングで振られるIPアドレスが192.168.x.yの場合は、10.x.y.zに変え
    る必要がある。Docomoのネットワークだとそうしないと外に出られない

デザリングしないときはLINE端末になるだけなので、満足な感じ。

2012-11-15

Surfaceを買った

普通の世の中だと、Nexus 7とかiPad Miniとかが話題だけど、まったく地雷度が足りなくて面白くない。地雷度MAXな気がしてSurfaceを買った (1shopmobile経由送料込みで約5万円強)。

以下感想

  • 外箱も含めてMicrosoftらしくないデザイン。マニュアルも必要最小限
  • 電源アダプタもデザインちゃんとしてる。MacBookのように磁石でくっつくタイプ。某東芝のAndroidタブレットなんてノートPCでありきたりのデザイン性ゼロの電源アダプタだったよね
  • 今持ってる東芝のタブレット(AT700)に比べたら重いんだけど、造りが安っぽくないから、別に重くて納得できるデザイン
  • メトロで完結できるんだったらタブレットとしてはなかなかいいと思う。でも細かい設定しようとするとデスクトップ開いて、コントロールパネル開かないといけないんだよね。
  • ちゃんとデスクトップアプリは存在する。Office 2013もそうだけど、OneNoteは2013じゃなくて、メトロ版でよかったんじゃないの?

結論的に言えば、ソフトがねぇぇって感じ。メトロで完結できるようにソフトウェアの作りこみが足りないって感じにしか思えない。。。残念感ありあり。

2012-11-05

やっつけにも程があると思ったこと - Microsoft SDK編

Windows 8 SDKとWindows Phone 8 SDKを調査してるんだけど、Windows Phone 8はカトラー様のNTカーネルを使ってるため、WinCEのころに比べてSDKにある程度は互換性がある。CEの頃と一緒でリンクするライブラリが違うってのはあるんだけどね。調査してて、一番やっつけすぎて倒れそうなことを発見した。

Windows 8 SDK
/*
 *  Windows APIs can be placed in a partition represented by one of the below bits.   The 
 *  WINAPI_FAMILY value determines which partitions are available to the client code.
 */

#define WINAPI_PARTITION_DESKTOP   0x00000001
#define WINAPI_PARTITION_APP       0x00000002    

/*
 * A family may be defined as the union of multiple families. WINAPI_FAMILY should be set
 * to one of these values.
 */
#define WINAPI_FAMILY_APP          WINAPI_PARTITION_APP
#define WINAPI_FAMILY_DESKTOP_APP  (WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_APP)

一方、こっちはWindows Phone 8 SDK


/*
 * WINAPI_FAMILY should be set to be one of these.
 */
#define WINAPI_FAMILY_APP         1
#define WINAPI_FAMILY_DESKTOP_APP 2
#define WINAPI_FAMILY_PHONE_APP   3

やっつけにも程があるでしょ、これ。なんでヘッダの内容別にしちゃうかなぁ。SDKのヘッダくらい同期してくださいってマジ思う。

2012-10-10

Touch Eventを実装したらいろんなサイトがぶっ壊れた

以前からMozTouchってのがFirefoxのWindows版だけサポートしてたんだけど、Firefox 18 (Windows版)で、W3C Touch Eventのサポートをするコードを突っ込んだ。僕がイニシャルコードを書いて、jmartinsに直してもらったんだけど。なのでWindows 7以降でタッチイベントをサポートしたデバイス (ThinkPad T400sとか) だとデスクトップ版でもタッチイベントが使えるようになった。(ChromeのWindows版も最近のバージョンからサポートしてるよ!)

これを実装したら、地図がマウスでスクロールできない(意味がわからない)、スクロールバーが表示される(意味わからない)、ビデオが再生できない(意味わからない)というバグレポートが多発してるんで今見てるんだけど(Mozilla側のコードじゃなくて、レポートされた各サイトのJavaScriptをね)、見てるサイトすべてがTouch Eventが存在するかどうかでいろんな動作を変えてて面白いことになってる。

たとえばfoxnews.comだと、createTouchがDOMに存在するかどうかで再生するビデオ形式を変えるというトンデモコードが存在する。これが存在するかどうかでFlashを使って再生するかMP4をそのまま再生するか変えてて、FirefoxはMP4を再生できないからエラーが表示されるという感じになってる。ChromeでもTouch Eventがサポートされてるけど、タッチデバイスが存在する場合はMP4の動画が再生されて、存在しない場合はFlashが使われるというユーザーサポート泣かせの状態になってるんだよね。

こんな感じでブラウザを判別してたなんて思いもよらなかった。