23:26会社活動ActionScriptを最初に触った頃の思い出ツイートただの思い出話を書く。新卒で入社した会社は製造業の会社で制御設計の担当として新製品開発をやっていたのだが、その時にWeb技術が全然わからないことに焦りを感じて、当時できたばかりの渋谷のデジハリに通っていたのが2000年。その時の縁でWeb制作を請け負っていたフロムビッツという会社に転職したのが、僕のWeb業界の入り口だった。先日、その時の代表であって川口さんの独立20周年記念飲み会が開催され、懐かしいメンバーに会ってきた。別件で自己紹介と称して昔のキャリアを掘り起こしていたのだが、その前日にこの会があったのは偶然ではないような気がする。当時のこの会社ではリッチメディアを取り扱う案件が多くて、動画やFlash、PocketPCなど時代的に早すぎる案件を受託としてサービス化する仕事が多かった。川口さんがアイディアマンなので、顧客に提案したどこからしら無茶な案件を僕らがカタチにするというスタイルの仕事で、いつもファンタスティックな新規案件が多くて楽しかった。GeneratorというサーバサイドでFlashを動的生成するサーバを使って、文字フォントを自由に使った文字を書いて、その結果のTシャツを購入できるというECサイトであった。Generatorには特定のswfをJPEGに変換する機能があったので、Tシャツの印刷イメージやサムネイルを生成していた。今時、BASEも含めて、Tシャツを好きにデザインするサービスというのはいくつもあるが、これは2001年の話である。SEOという概念がなかったり、CGMで共有させるという概念がなかったので、ただ購入者がデザインするだけのサービスで、今考えるとひろがりがないのが普及においては問題だった。完成後にどうやって使ってもらうかという改善において、SEO対策を提案したことを覚えている。当時は、まだSEOという言葉がなかったので伝えるのに苦労して、先方の担当者が理解してくれなくて歯がゆかったことを覚えている。あと、後から気がついたことだったが、文字フォントのサーバサイドライセンスというものがまだ存在しない時代で、権利的にアレだったかもしれない。サーバサイドの文字フォントを使ってswfを生成して、Web上にバラまいてしまうというGeneratorの機能はそもそもライセンス的にマズイ機能だったんじゃないかという話だ。Generatorというサーバは、みなさんが知らないこともあって、残念ながら長続きせず、Macromediaが買収したColdFusionというWebアプリケーションサーバの一機能になってしまった。系譜としては、その後、ColdFusionがJavaで書き直されて、JRunの上位のフレームワークになって、その後に、応用製品としてFlexに生まれ変わってると認識しています。ここまで来ると知ってる人いるでしょ?Generatorはサーバライセンス自体が死ぬほど高くて、1CPUで60万円ぐらいするサーバ製品だった記憶がある。Watchを作っているように技術と先見性は明らかにすごかった。ECではみんな使っているWowzaというストリーミングサーバを作っているので、この辺の流れは、すべての今の技術に繋がっていて、延長線に今があります。Serverがnode.jsのようなノンブロッキングなサーバになったり、wowzaのようなストリーミングサーバを生み出したり、確実にMacromediaが作っていた技術には意味があった。ビジネスがよろしくなかったようで、だからAdobeに買収されたり、Appleから目の敵にされたりということなのだろう。Macromediaの技術に傾倒していた僕らも数年早すぎる取り組みをしていくことになる...。ちなみに、Tシャツ印刷の技術も捺染印刷という技術を活用する会社で当時は1億円するプリンタの活用例としてのデモ的なサービスだったらしい。そこにネットバブル的なアイディアが乗ってECサイトに仕立てあげたという流れだったと思う。その後、このプリンタ製品はコストダウンされ、今のTシャツ生成サービスに繋がっているような話を聞いたことがあるが、詳しいことは知らない。フォントライセンスも、後にサーバサイドライセンスというものが生まれてグレーな状態は解決されることになるが、まだ当時には存在しなかった。当時のFlashのバージョンは4。Scriptで「あれもできない、これもできない」という制約の中で、画像や文字列などの不定数のオブジェクトデータをハンドリングするスクリプトを書いていた。Scriptは非常に新鮮だった。それと同時に、機械制御はミッションクリティカルなシステムを扱っていて、バグを出すと人が死んだりしかねない製品だったのに対して、Flashで少々バグを出しても誰も死なないわけだが、それでも、やってることは対して変わんないなぁと思っていたことを思い出す。ミッションクリティカルや否やというのは技術の話ではなくて、開発者がバグを出さんとする人の心の持ちようと、それを守る業務プロセスの有無の問題であって、業界またいで転職しても制御性については、頭の中で考えていることそんなに変わらないというのが、その時の結論である。(ただ、強いていうとフィードバックの概念を持ってないエンジニアを見ると頭が痛くなる。オープンループで制御するなよ、と。オープンループの典型例は、なんとなく理由がよくわからないから100msec待つとか、そういう奴ね。scriptならまだしも。Loadingの技術などが流行ったりしたが、まあ、そういうのもちゃんとFlashの特性を理解してコードを書いていれば問題ないのだが、世の中には、リロードしてブラウザキャッシュされていないと、まともに動かないFlashなんてのが山のようにあって、Nowloadingのコピペ問題も含めて粗悪な作りのものが乱立していたのを思い出す。それがミッションクリティカルな言語であれば、粗悪な作りを許容しないようにするために、しっかり言語やフレームワークの方で同期性を取ってあげて「誰がうっかりコードを書いても、ちゃんと動くようにしてあげる」というのが解決法なのだと思うが、それは過保護にミスを防ぐ仕組みであって、ミッションクリティカル性とは無関係だ。Flashの本質は「すぐに再生されるアニメーション」であって、「リッチメディアのプログラミング言語」ではなかった。少なくともその時代では、まだアニメーション制御スクリプトにサーバアクセス機能がついただけのものだった。その技術を応用して、勝手にリッチに使っていた人がいただけだ。いえば当時、こんな特許を出願したのを思い出した。コンテンツ処理システム動画の視聴ログをサーバで取得する仕組みの特許である。当時は、DHTMLでJavaScriptで制御するというのは、ブラウザ互換性を取らなくてはいけないから面倒くさい作業であった。そもそもまだNetscape4に引導が渡されていない時代だった。当時は、RealPlayerという動画再生プレーヤーがあって、この上で、SMILというXMLの言語で記述すると、時間軸に沿ったオブジェクトの制御ができた。これの視聴ログを取得するために、15秒毎にFlashを読み込んで、読み込んだFlashはいい感じにサーバにビーコンを投げて、通過ポイントの秒数をサーバで取得できるという特許だ。あれば、20ポイント以上ユニークなビーコンを取得できれば80%以上は見ていることがわかるので、例えば、社員教育用の動画を見たことを証明することになるので、リモート教育などに使えるという応用例につながる。大学の遠隔教育で単位をあげる基準にも使うとか、そういう応用例があった記憶があります。後に、JavaScriptで同じ機能を実装した時には、カラのImgタグを動的生成するという、今時よくある技術で代用した。これもFlashを読み込めば、自動的にScriptが実行(再生)されるという特徴を活かした技術だった。いうことで、かなりFlashは技術として好きだったんですよね。2000年にデジハリに通ってて、卒業制作発表みたいなところで、授業では1mmも触れていないFlashで作品を作って、そのプレゼンで「Flashマジ凄い」とか言ってても。誰も審査員が理解できなかったよなー、という空気感を覚えている。ここでは別に理解されなくてもいいや、と思う程度にはFlashが凄いことに関する自信はあったので、その後フロムビッツでは結構活躍させてもらいました。当時の僕が致命的に甘かったのは、技術的には何か面白いことがやれることだけは認識していたが、ビジネス的にそれが何に役に立つとかは考えずにやっていた。それだと自信が持てないんですよね。市場が見えていないということは、世の中のユーザーニーズやレベル感と、自分達が考えている技術的な常識に乖離があったと思うし。明らかに「こんなこと誰でもできるから、もっと価値のあることをやらないと意味がない」と思い込んでいたし。Webは技術とビジネスが直結しているのが面白いですね。以下の2記事が公開されて、それを読みながらふと思い出していました。エンジニアを悩ます「35歳定年説」の正体とは?多分、こういうことを思い出す出来事がいくつか重なってるということは、きっと僕の今において何か意味があるんだろうなぁ。Garageは、Webを中心としたビジネス&テクノロジーに関する思いつきを綴ったブログです。初代モバツイ開発者インターネットと日常の生活が融合された「何か楽しいもの」/「便利なもの」を作ることを目標に活動中。Fujikawa(@fshin2000)。