SVGエンジンが難航

引用

創造的なエンジニアのための働く環境とは(2)

とくに初期は、一般人には不細工でしょぼく見えてしまうかも知れない、ちっちゃいアプリケーションにフォーカスしろ。最初から色々使えそうな汎用なものを作るな。入れるかどうか迷う機能は外せ。新しいモノ好きの仲間内でウケるものを作れ。バカは無視しろ。限界ギリギリまで一人または同じレベルの少人数でつくれ。それがうまくいけば、すぐに規模はデカくなる。あとから小さくすることはできない。

何かを選ぶということは、何かを捨てるということだ。両方できるけど、片方の可能性に賭けて100%コミットする。フルコミットしなければ絶対に勝負にならない分野を選ぶ。やってみてダメだったら、やること自体を変える。常に一つのことに集中する。同時に二つのことをやらない。それが選択と集中ということの意味であり、両方やれば一方は成功できたかも知れない可能性を捨てることをリスクテイクという。


ぼくはまちちゃん!(Hatena) - はてなのとっつきにくさ

これ以上くっつけるものがなくなった時が完成じゃないよ。
取り払うところがなくなった時が完成なんだ。

経過

前日はついカッとなってはてな関係でクネクネしたけれど、
javascriptライブラリの制作もサボっていたわけではなくて、
SVG関係が上手くいかないので少し気分転換に遊んでみたのだ。


IE+アドビのプラグインか、Firefox1.5で作動。
25個の円が動くだけのデモ。やたら重くて描画しきれないし、
IEとFfで微妙に挙動が違う。いわゆる失敗例。
http://2ch.jpn.org/ama/moe/js/svg/1/svg.html


たぶん頭が悪いやり方だから重いのだろうけれども、
いまの文脈では、どうしてもゲームに組み込みたい。
ゲームに組み込むためにはjs側で操作したいのだが、
私にも分かる簡明なソースがなかなか見つからない。
SVGの資料を集めているが、英語が多くて読めない。


プログラミングでは一字違っても動かないことが多いが、
それを調べるためだけに一時間掛かることはザラにある。
イラつくうちついカッとなってコーディングも雑になる。
じゃあどうすればいいかと迷った所、冒頭の記事を見た。

反省

そもそもなぜ、SVGをライブラリに導入しようかと思いたったのだろうか。
ベクターで描画したり、画像を回転など幾何操作できたりして便利だからだ。
IEのフィルタやDirectXでも同じことはできるが、それは特定の環境だけだ。
そこで、FirefoxSVGに対応したし、SVGを使ってみようかと思ったわけだ。


「一般人には不細工でしょぼく見えてしまう」からGUIにこだわり、
最初から「色々使えそうな汎用なものを作る」ことを目的にして、
「入れるかどうか迷う機能」をつけようとして、
「すぐに規模はデカくなる。あとから小さくすることはできない」
ことを忘れると、私のような凡人にはすぐ手に負えなくなる。
やはり、「ちっちゃいアプリケーションにフォーカス」して、
「仲間内でウケるもの」を作る方向が良さそうだ。


img要素を生成するより、SVGを操作した方がスマートそうだと思ったけれど、
中途半端にやるとかえってひどくなりそうだ。なのでベタにやることにする。
難しいことをやるとキリがなくて、例えばP=NP(P≠NP)を証明する
だけで一生を費やしてしまうだろう。凡人的に、費用対効果を見ておきたい。
(ここでの「SVG」も、「SVGXMLAjax」程度の認識で、細部に深入りしない)