黒画像で描画をサボるお馬鹿なFirefox

ずっと前から気になっているFirefoxのバグがあるのですが、検索してもそれについてのレポートがどこにも見つからないので、自分でレポートすることにしました。

対象としているのは、Mac版Firefox10.0.1(環境はMacOSX10.5.8)ですが、もう何ヶ月も前の古いバージョンからこの症状は続いています。

前のエントリーに置いてある2つの画像は、どちらも真っ黒なJPEG画像ですが、黒画像2の方は実は隅っこに数ピクセルだけ真っ黒でない部分があり、黒画像1は全面真っ黒です。Firefoxでこれを見ている方は、この黒画像1の方の表示がおかしくなってないでしょうか。(もしかしたらMac版のFirefoxだけかもしれません。)そして、「この症状他でも見た記憶がある」と思う方もいるのではないでしょうか。

違うブラウザで見ている方にはわからないでしょうから、何が起こっているかを説明すると、黒画像1の置いてある場所に対して、どうもFirefoxは、「真っ黒の画像を表示する」のではなく「描画をサボる」という動作をしているようなのです。

これでも何を言っているかわかりませんね(苦笑)。描画をサボるというのは、「背景をそのまま表示する」のとも、「何も表示しない」のとも違います。たとえば、別のサイトからのリンクでこのページを表示したとすると、黒画像が表示されるべきエリアには、「背景をそのまま表示する」場合はブラウザは背景を描画しますし、「何も表示しない」場合はブラウザはその場所をデフォルトの背景色である白に塗りつぶします。しかし、今回の「描画をサボる」場合は、リンクで飛んでくる前にその場所に表示されていたものがそのまま残って表示されてしまいます。次の画像は、前のエントリーから一旦Yahooのサイトに飛んで、戻るボタンで戻ってきた時の画面ですが、黒画像が表示されるべき所にYahooページの一部が残ってしまっています。
Ffbug1

描画をサボるのは、他のサイトから飛んできた時だけではありません。ページをスクロールすると、黒画像の表示されるべき位置(つまり描画をサボる位置)も移動していきますが、そのエリアに直前に表示されていたものが残るため、例えば次のようなことになってしまいます。
Ffbug2

Firefoxが描画をサボるのは、「画像の黒い部分」ではなく、「全面が真っ黒な画像」です。1ピクセルでも真っ黒でない部分があれば症状は出ませんが、全面が真っ黒であれば、JPEGでもGIFでもPNGでも同じ症状が起きます。つまり、その画像が「全面真っ黒である」ということをわざわざ判定した上で積極的にバグを発生させているのです。全く意味不明ですが、開発者が何かの仕様を勘違いしているとしか思えません。この描画をサボる症状は背景画像でも起こるため、ブログなどで背景をあえて真っ黒にするために真っ黒な画像を使用しているページなどでは悲惨なことが起きます。今日現在のインテル長友選手のオフィシャルブログのサイドバーはまさにそういう状態です(涙)。Firefoxで表示してスクロールさせて愕然としてみて下さい。他にも様々なサイトでこの黒画像バグは猛威をふるっています。

これだけあからさまな症状が出ているのに、バグが対策されないのは、まさか真っ黒な画像ピンポイントのバグとはだれも思わないため、症状に出会った人もスクリプトの書き方等で何かブラウザ間で互換性がない部分があるとか、そういう方面の問題だと誤解されて的確なレポートが上がらないのかもしれません…って、いくらなんでも開発者側がまだ気づいてないとは思えませんが…。

可及的速やかにバグ対策してください>Mozilla様。

追記:こちらでこのバグを確認したのはMac版のFirefoxだけなので、Windows版でも起こるものなのか否か、どなたか確認できた方は教えて頂けると幸いです。

| | コメント (4) | トラックバック (0)

Twitterを使った巧妙な勧誘の手口

 偶然リアルタイムで目撃した、勧誘のため効率的にフォロワーを増やし、さらに宣伝効果を最大にする手法を紹介する。人生やったもん勝ちと思っている人にとってはうまい作戦だろうし、そうでない人にとっては限りなくサギに近い手口だ。自分の認識は後者だが、世の中の実態はやはりやったもん勝ちなんだろうか。

 たとえば、ライブハウスで活動しているぐらいのアマチュアに毛が生えたぐらいのバンドが、そのメンバーの1人の名前でツイッターアカウントを作る。そして、手当たり次第に数百人フォローする。数日経って、フォローバックされた人は残し、それ以外の人のフォローを解除する。そしてまた新たに数百人をフォローする。これを繰り返すことで、フォロー数との乖離をあまり大きくせずに被フォロー数を増やしていく。これはまあ、フォロワーを増やすことに精を出している連中がみんなやっていることだ。
 巧妙なのは、フォローする相手の選び方である。いくつかのキーワードで検索して、ある分野に興味のありそうな候補を探すツールぐらいならいくらでも出回っているのだろうが、重要なのは、相手のフォロー数と被フォロー数が多すぎもせず少なすぎもせずどちらも20人〜80人ぐらいの人を選んでフォローするということだ。
 フォロー数が多すぎる人は、たとえフォローバックされたとしても、フォローしている1人1人にさほど興味を持つとは思えない。フォロー数が1000人を超えているような人は、同じようにフォロワーを増やすゲームをやっている可能性が高く、200人ぐらいでコントロールしている人は、機械的フォローはフォローバックせずに無視する可能性が高い。そして、何よりもフォロー数が多いとメインのタイムラインを流れるツイートの中に埋もれて宣伝効果は低くなる。
 また、被フォロー数は多いのにフォロー数が少ない人は、フォローしたい相手だけをフォローすることに徹していて、なおかつ、フォローしてくる相手を逐一気にしない可能性が高い。
 でも、フォロー数・被フォロー数が多からず少なからずの人は、フォローしてくる相手をそれなりにチェックする可能性が高い。そして、それが明らかなbotや企業アカウントではない、単に「バンドをやっている個人」である場合は、「それも何かの縁」と思って比較的無防備にフォローバックしてしまう可能性も高い。その場合、メインのタイムラインに数十人しかいないため、相互フォローしている相手としてそのバンドの活動のツイートを毎日見ていると、実際に演奏を聴いたこともないのに、そのバンドに対する親近感がわいてしまったりする。もしかしたら、それこそ「何かの縁」でライブに足を運んでくれるかもしれない。自主制作CDを買ってくれるかもしれない。刷り込みによる宣伝効果は抜群だ。あくまでも1個人のアカウントであるというスタンスを保ってさえいれば、「ツイッターで知り合った、相互フォローをしている知り合い」などという勘違いをさせ続けるのは難しくない。
 そして、そういう勘違いをしてくれるありがたい「お客さん」を数千人程度まで増やすのに必要なのはほんの1〜2週間だ。メジャーではないバンドや、その他個人で活動している人にとって、こんなおいしい広告媒体はない。

 多分、フォロー数や被フォロー数も見ながら、フォロー対象を選ぶというのも、出回っている大量フォロー用のツールの持っている機能なのだろう。個人で活動していてなかなかメジャーに認められない人が、そういうツールに手を出すのもわからないでもないが...やっぱり何か違う気がする。拡声器で騒音をまきちらしながら商売をしている移動販売や廃品回収の業者の身勝手さと同じにおいを感じるのだ。しかも、それを楽してやっている感じがより印象が悪い。この話で一番気持ち悪いのは、最初にフォローする側はツールによる機械的なランダムフォローなのに、フォローバックする方がむしろ気持ちの入ったフォローだということだ。

 放っておけばよいものを、なんでこんな話をわざわざしているかというと、さっきちょうどその大量フォローツール使用中の状態を目撃したからだ。数日前にあるアカウントからフォローされ、プロフィールを覗いてみたら、フォローされたばかりのはずなのに自分より後に数百人フォローしてたので、これは大量ランダムフォローだなと思って無視。そして、先ほどたまたまフォロワーが1人減ったのに気づき、それがそのアカウントだったので様子を見に行くと、フォローバックされなかった相手の削除作業が終わり次の大量フォローの真っ最中だったようで、みるみるうちにフォロー数が増えていくのを目の当たりに。その後、また着々とフォローバック数を稼いでいるようである。こういうのを目撃してしまうと、その人がいくら面白い活動をしていても応援しようとは思わなくなるというのは、ナイーブ過ぎる反応なのだろうか?

 (9/6追記:その無作為大量フォローツールは、一度候補に選んだ相手は二度と選ばないというコントロールができないようで、またフォローされた。どうせ2日後には解除されるんだろうが。前にもこのようなことを何度も繰り返した奴がいたが、それも同じことをやってたんだろう。今回はバンドだが、前回繰り返してたのは前回は個人経営の料理屋。バンドそのものや店そのものはへんなものではなさそうだが、やり口は悪質で迷惑な勧誘と何も変わらない。実に不愉快だ。)

| | コメント (0) | トラックバック (0)

Googleのリアルタイム検索

 前回書いた、ツイッターの日本語検索の問題を補完するものとして、Googleのリアルタイム検索の機能が公開されたようです。
 http://www.google.com/realtime?esrch=RealtimeLaunch::Experiment http://www.google.co.jp/realtime/(正式版に移行 2010/8/31追記)
 まだβ版のような感じですが、日本語の任意の文字列による検索が普通にできるので、twitter本体での検索とは比べものになりません。とりあえずはこれで、旬な話題に対するレスポンスを探したり、なにより共通の問題について興味を持つ人を探すことがようやく可能になったわけで、一歩前進。
 ただ、ツイートを非公開にしている人のツイートがヒットして表示されている(当時は公開していたのでしょうか?)とか、まだ解決すべき問題はあるようです。非公開ツイートの問題は結構根が深そうな気が...。どういう形でツイートデータをTwitter社からGoogle社に提供しているのかが気になります。

 これに関する日経の記事
>> 倉岡氏によれば、リアルタイム検索は日本で多く使われている機能だという。「米国と比較しても、リアルタイム検索の利用率は日本の方が高い。ケータイを使っていろいろとつぶやいたり、検索したりする日本の文化が反映されているのではないか」

えーと、「日本の文化が反映されている」とかではなく、twitter本体の日本語検索が全く機能していないからというだけの理由だと思いますが...。

| | コメント (0) | トラックバック (0)

Twitterの日本語検索をあきらめる。そしてもっとハッシュタグを使おう。

 薄々気づいている人も多いと思うが、ツイッターの日本語検索はほとんど使い物にならない。あるキーワードで検索して、そのキーワードが含まれるツイートがそれで全部だと思ったら大間違いである。キーワードにもよるが、実際はほとんどのツイートが検索から漏れている。(嘘だと思ったら、自分の最近のツイートに含まれるいくつかのキーワードで検索してみるといい。)
 これは、本当はネットコミュニケーションにおいて重大な問題となっているべき話。

 なぜ、英語の検索は機能して、日本語検索は機能しないか、その理由は単純だ。英語をはじめとする多くの表音文字主体の言語では、単語毎に分かち書きにされる。そのため、検索の際には半角スペースや各種区切り記号で分割されたものを「単語」と認識して、マッチングすればいいだけなのだ。もちろん、多少の語尾変化などには対応しているかもしれないが、あくまでも分かち書きが大前提なのだ。
 実際の検索機能の実装としては、おそらく最初にツイートされた時点で、分割された単語のデータベースとの対応付けがなされるのだと思われる。既存のデータベースにない語が出現したら、新たに単語として追加されるだけだ。(その際、あまりにも長すぎる語は無視するとか、出現頻度の著しく低いものは一定時間経つと削除されるとかのオペレーションは入るかもしれない。)ともかく、文を書いた人が最初から単語の切れ目を明示しているので、どれを単語とみなすかということは問題にならない。

 それに対し、日本語の場合はどうなるか。英語と同じような戦略では、句読点やその他記号で分割されたもの全体が1単語と認識されてしまう。読点をあまり使わない人なら、1文=1単語だ。こんなので検索として機能するわけがない。実際、ものによっては、その単語で検索すると、その単語だけの短いツイートや、その単語の前後が半角記号で区切られたものだけがヒットするのはそのせいだ。

 ただ、さすがにそれで「検索できます」と言い張るのには無理があるので、いくつかの手法で「単語らしきもの」を切り出すことはしているようである。
 一つは、最もアナログな方法で、あらかじめ登録されてる一般的な単語とマッチしたものを単語として切り出すというもの。ここで重要なのは、あくまでも「単語毎に分割する」という発想なので、たとえば「日本」も「日本語」も単語としては認識されるようだが、「日本語」でヒットするツイートは「日本」ではヒットしない。また、「森林火災」という語を含むものは「森林」でも「火災」でもヒットするが、「森林火災」ではヒットせず、「展覧会」は「展覧」しか登録されていないようで「展覧会」ではヒットしない。もっと困るのは、動詞などは馬鹿正直に品詞ごとに分解してしまっていること。「食べる」では検索できるが「食べない」では検索できない。「食べ」+「ない」なので、「食べ」でしかヒットしないのだ。
 あと、文を漢字・カタカナ・ひらがなに分解し、漢字だけのかたまりとカタカナだけのかたまりはそれぞれ単語として認識することがあるようだ。たとえば「メプリーズ」で検索すると「写メプリーズ」なんてのがヒットする。(漢字の方は定かではない。「頑張」で「頑張れ」にヒットしたからそういうのもあるのかと思ったが、単に「頑張」が単語として登録されていただけかもしれない。)

 いずれにせよ、いかにこのような「単語分割」の工夫を進化させたとしても、ツイート時に単語に分割してそれをキーに検索するという発想をしている以上、期待されるレベルの日本語検索機能が実現することはありえない。そして、このように検索がまともに機能しないと思われる言語、すなわち、単語単位で分かち書きにしない言語は、私の知る限り(その範囲は狭いが)日本語と中国語だけだ。(韓国語は、表音文字のハングルのみを使用するため、分かち書きにすることが多いようである。) だから、ラテン文字を使用している人々が、ツイッターの有用性として「ある事柄について今人々が何を考えているかをすぐ知ることができる」というようなことを述べても、日本語や中国語で生活している者が真に受けてはならない。今の日本のツイッターでは、既存のハッシュタグによる検索を除き、検索で旬な情報を得ることなんてほとんどできず、逆にどんな気の利いたことを必要なキーワードも含めてツイートしても、それが検索エンジンが単語として切り出しにくいキーワードであったならば、メジャーなハッシュタグをつけない限りフォロワー以外の目に触れることはまずないのだ。

 実際のところ「事前に抽出された単語でしか検索できず、日本語ではその単語の抽出が困難である」という事情は、ツイッターに限った話ではなく、一般のWeb検索エンジンでも同様である。もちろん、google等の持つ日本語などに対応するための蓄積されたノウハウをツイッター側は持っていないとかいう問題もあるが、通常のWebが更新されるぐらいのタイムレンジであれば、検索のされかたを見ながら新しい単語やその組合せのはやりすたりを定期的なデータベースの更新時に反映させれば、検索の確度も上がっていき、それなりの実用性もある。しかし、ツイッターの場合は、さらなる即時性と手軽さが売りなので、旬のつぶやきがすぐに検索できないと意味がない。そのため、(まだ気づいていない人も多いが)「日本語って実はちゃんと検索されなくね?」ということがようやく表面化してきたのである。

 だからといって、「日本もいずれ英語を公用語にすればいい」とか「GHQがやろうとしたようにローマ字化すればいい」とか「韓国みたいにひらがなだけにすればいい」とかいう乱暴な議論には持って行きたくない。私は「漢字かな混じり文」の国に生まれて本当によかったと思っている者であり、その素晴らしい文化を放棄することは潔しとしない。斜め読みでも大体の意味が容易に把握できるその機能性、そしてその豊かな表現力。「漢字かな混じり文」を駆使することは今の日本人のアイデンティティと言ってもいい。ただ、その誇るべき文化こそが、情報化社会の中で日本のガラパゴス化が免れ得ない大きな原因となっていることも事実として強く認識する必要がある。少なくとも、原理的にガラパゴス化していて、「ガラパゴス内」での使用においても適切に機能していないという事実を認識することなく、「ツイッター最高」とか言うような脳天気な人にはなりたくないのだ。日本語を放棄せず、そのためのガラパゴス化はある程度は止むなしとしながら、なおかつ世界に取り残されないようにするには、世界で使われているサービスを日本国内で使用するために必要な技術については常に日本側から内外に情報を発信し働きかけ続けながら、それとは別に「ガラパゴス外」でのコミュニケーション能力も向上させ、両面をメリハリよく使い分けることが必要なのだろう。

 ツイッターに関して言えば、日本語検索が根本的に改善される見込みは当分ないので、ユーザ発信のローカルな使用法として、ハッシュタグをもっと積極的に使えばいいのではと思っている。要は、ツイートの中のキーとなる単語や話題の分野をなんでもハッシュタグ化してしまうのを慣例にするのだ。その場合、ハッシュタグ自体は世界中で使われるので、たとえば必ず頭に「#j_」を付けるようにする。その後に続く単語は、一般に日本人でもわかる英単語があればそれでもいいし、ローマ字でもいい。だれもが思いつくような略称でもいい。読んだ本の話なら#j_book、数学の話なら#j_math、バナナがおいしかった話なら#j_banana・・・と、なんでもとりあえずタグをつけてみる。そして、ある事柄についてのみんなのつぶやきを見たい人は、使われるであろうハッシュタグで検索すれば、少なくともそのタグを使ったツイートは確実に検索できる。
 この試みが機能するためには、ある程度の人数の賛同者がある程度継続して実行する必要がある。なので、柄にもなく一般に呼びかけるような表題にしてみた。が、ガツガツ「拡散希望」というわけでもなく、じわじわとしばらく一人で実践してみようか。いや、拡散してもらってもいいのだが。

(追記:賛同するならこちらをリツイート)
(追追記:やっぱり一人実践はむなしいので挫折・苦笑)

 ちなみに、ハッシュタグの#の前は、必ず半角スペースで区切らなければタグとして機能しないので要注意。(ハッシュタグの後にも文や文字が続く場合には、ハッシュタグの直後も半角スペースで区切る必要あり。)

| | コメント (0) | トラックバック (0)

Twitterを始めてみる。

 とりあえず、一度は試してみるのもいいかと、数日前から始めました。
 今のところ、ただの手軽に書けるミニブログですが。ここのサイドバーにも貼り付けてます。mixiとかにも似たようなサービスがありますが、閉じた世界でやるよりはどうせ試すなら本家で堂々とこっそりやろうということで。どう使うか思いつくのが先か、飽きるのが先か...。

| | コメント (0) | トラックバック (0)

ハードディスクがクラッシュ

これだけ酷使してりゃ、いつかはこの日が来るとは思っていたけれど...。

昨日、もとい日付変わって一昨日からiBookのハードディスクがいきなり瀕死の重体。TeXShopで原稿書いてる最中に何の脈絡もなく突然フリーズし、再起動しようとしても途中でダウン。何度も電源を入れ直したら時々立ち上げプロセスを最後までクリアして使えるようになるが、それも長持ちしない。ここしばらくデータのバックアップをサボっていたため、とにかく仕事の成果物や必要なデータだけは救出しないとまずいので、時々息を吹き返したときを狙ってなんとか外部HDに吸い出し、また、まさに現在進行中の仕事を継続するためデスクトップ型iMacの方にTeX関係の作業環境をインストールしたぐらいの時点では、既にうまく立ち上がる確率が1/30ぐらいまで低下。最後に、AppleMailのデータをバックアップしておかないとマズいことに気付き、1時間ぐらい再起動を繰り返してようやくバックアップに成功。

本当に殺人的なスケジュールで締切が続いていた時期や、本の執筆中でなかっただけまだましだが、実は今でもいろんな意味で十分気まずいタイミングなのだ。(遅れに遅れた仕事の最後のツメの段階なので...。)

それに、この不景気の中、これから発生する出費を考えると気が遠くなる。ノート型のMacは1台はないと仕事にならないし、さっき気付いたのだが、仕事ではまだ1回ぐらいしか使っていないMathematicaのシングルライセンスはハードの故障に対するライセンスの入れ替えの救済なんて何もないらしく、それもゴミ箱行き...。本当は、ネットでのMac差別が進行する中、1台はWinマシンも持ってないとと思っていたのだが、そんな予算はどこからも出ない。本当はMacもノートではなくデスクトップの方を先にアップグレードしてDTM環境をもう一度整備し直す予定だったのに...。
あと、やはりこのマシンとともに何が失われるのかという全貌が見えてこないのが不安。Mathematica以外にも重大なものはないか...。新マシンを導入するとすれば、OSは当然10.5になるだろうが、現状の10.3用のMailからのバックアップデータが戻せるのかも心配。

あ、重大な問題を2つ思い出した。
・Classic環境の消滅
・最近のOffice for Macがダメダメという噂
OfficeはクラッシュしたiBookで使っていたライセンス用のCDからインストールすればいいかとも思うが、CPUがIntelだとダメなんだっけ?

仕事の方も転換期を迎え、一回頭をリセットしてこれからどうするかを考えないといけないタイミングなのに、こういう形で装備をリセットされてしまうと、非常にかじ取りが難しくなる。本当に勘弁してくれ...。ただでさえ、うっかり引き受けてしまったコストパフォーマンス最低の仕事で1ヶ月近く棒に振ってしまい、頭を抱えているのに。

| | コメント (0) | トラックバック (0)

Pantherの死

 ついに、MacOSX 10.3(通称Panther)の切り捨てが本格化してきたようである。今リリースされている最新のMacのOSは10.5(通称Leopard)。一方、うちのMacは、iBookは未だにPantherで、iMac(雪見大福)の方は10.4(通称Tiger)である。Tigerの方はまだサポートされているようだが、PantherのSafariでは閲覧できないHPがここにきて急に増えてきた。今朝はついにYahooのトピックスをカテゴリー一覧から読むことが一切できなくなってしまった。Firefoxはまだなんとか無事のようだが、Panther+Firefoxが積極的にサポートされているわけではなく、これもいつダメになるかわからない。
 そんなことを言っている間に、さっさと新しいOSに切り替えればいいだけだろ、と言われそうだが、なかなかそうできない事情がある。仕事で使っている環境で互換性がない部分については、締切を抱えている状態が途切れなく連続している状況では、移行作業は行えない。特に、OSを切り替えてどこが損なわれるかが明確になっていないまま、大量のワークファイルを常に抱えている状態でOSを切り替えるというのは、自殺行為に等しいのである。

 Panther→Tigerについては、概ね雪見大福で確認しているのだが、TeXの作業環境で一部互換性がないツールがあることがわかっており、iBookのTeXの環境のインストールは自力でやったものではないので、本や連載中の雑誌の原稿を抱えている状態では(特に、本の方は、組版自体自分でやったので)完全な互換性が確認できない限り移行はできず、その作業をやる時間が取れない。TeXのようにユーザによりカスタマイズの度合いが大きいもののインストールを自力でやらなかったのは今となっては致命的なミスだが、インストールした時点ではまだお試しのつもりで、そのままこんなヘビーユーザーになってしまうとは予想してなかったのである。
 だが、ネットでの情報検索が仕事でも重要な意味を持っており、仕事以外でも情報の8割はネットからのものである状態で、ネット上でPantherが死を迎えようとしている以上、待ったなしで移行しないとまずい。が、3月はかなり無茶な仕事の入れ方をしており全ての締切をこなせたら奇跡という状況なので、とても無理。こんな時に次から次に梯子を外されていき、デジタルストレスは頂点。

 Tiger→Leopardの移行は、当分不可能。ネックになるのは、LeopardでClassic環境(OS9以前のソフトを使える環境)が廃止されたことである。先日出した本の表紙デザインも中の図版も全てClassic環境上の古いIllustratorで作成したもの。最新のAdobeの環境一式を入れるには、また大変な出費を強いられるし、互換性がどこまで保証されているかも不安である。とにかくLeopardに移行した時点で、Classic環境が必要なデータが全部死滅してしまうので、できれば雪見iMacはTigerのまま残して、新マシンとLeopardを同時に導入したいところだが、この不景気の折、個人的な財政状況もかなり苦しくなってきている状態で、そんな贅沢な投資もできない。
 他にClassic環境のソフトでどうしても捨てられないのは、昔のPixelCatというフリーウェア。最近のPixelCatはビューアーの機能に特化してしまったようだが、画像データの簡易編集ツールとしての昔のPixelCatの機能を実現する軽いツールが、なかなか見つからないのである。これが使えなくなるのは、かなり痛い。

 いつも思うことだが、一般ユーザーによってはソフトは単なる消費物でも、クリエーターにとっては、昔の職人の使う道具と同じで、その機能を細部まで理解して道具を使いこなすには、本来それなりの年月と経験が必要である。しかし、今の世の中は1年サイクルで道具を全取っ換えしないとすぐ梯子を外される。その状況で次々と道具を乗り換えて、美味しい機能だけ使って仕事をこなす「クリエーター」は、実は 単なるユーザーにすぎず、実際に「クリエイト」してるのはソフトウェアの開発者の方なのではないかと思う。創作者としての主導権をソフトベンダーに渡したくない者にとっては、気違いじみたサイクルでのOSの世代交代は、創作行為の破壊でしかない。

| | コメント (0) | トラックバック (0)

試作品こっそり公開中

 Flashを始めたのは、作曲活動をするにあたり、単に曲を書くというだけではなく、複合的な形で自分から発信するための道具として使えないかということがあったので、まずはそのいろんな可能性を試すいろんな実験と遊び心を盛り込みながら、暇つぶしとして見てもらえるようなFlash作品(?)を作ってみました。

 ココログのサイドバーに縮小版を、プロフィール画面に通常サイズ版を、暫定的に置いてあります。(本当はその性質上mixiの方に置きたかったのですが、Flashコンテンツを貼り付ける術を思いつかなかったので...)

 コンテンツの上にマウスを持っていくと動き始めます。コンテンツ上をクリックしても、別のページに飛んだりすることはないので、自由に触ってみて下さい。入口が隠れているメインコンテンツの中で、あることをすれば曲が流れるので、会社等で見る場合はご注意下さい。(そこに至るまでに、何をすれば曲が流れるかは予想がつくと思うので、不意打ちではないと思います。)
 試作品ではありますが、暇な時にでも(いろんな環境での動作確認の意味も含め)触ってみた結果をお知らせ頂けると幸いです。

 宝探し的な面白さという狙いもあるので、内容については触れませんが、技術的なアイディアとして試行錯誤の中でやってみたことを、以下アトランダムに挙げておきます。別にそんなに工夫があるようには見えないかもしれませんが...

・本体のデータサイズはなるべく軽くして、音楽や画像等は必要な時にだけ取り込むようにすること
・使う音楽や画像データのセットも、外部ファイル(csv)で制御できるようにすること
・音楽のストリーム再生
・写真のサイズに応じた見せ方
・bitmap画像をベクターデータに変換した特殊効果(トップ画面)
・マスクを用いて同じjpeg画像を多層的に配置することでアニメーションの中で立体的に使用すること
・透明度を用いた、陰影の演出
・様々な自走式インタラクティブビジュアルイフェクト
・オブジェクト毎の動作が矛盾なく繋がるための、様々なフラグ立ての手法
・マウス操作がしばらくない時には自然に消える時限式操作パネル
・直感的なマウス操作の工夫
・管理用CGI等で頻繁に更新できる外部テキストデータを表示すること
・ブラウザのキャッシュにより、更新されるべき外部データが更新されないことを回避する裏技
・テキストのスクロールの実現
・モジュール化されたコンテンツを最上位で統合する仕掛けを構築しておくことで、拡張性を持たせること
等々。

 ビジュアルイフェクトに合わせた効果音等は、今回は試していません。(データを軽くするためと、ブログペット的に使用することを考えて音の出る場面を限定化するためです。)

 今回のものはあくまでも試作品で、いずれ近いうちに本格的に作りたいのは、インタラクティブ性はそんなに強くなくてよいので、「絵本を音楽で演出する」ないし「楽曲を絵本で演出する」というものです。そのためには、もしかしたらここまでディープなことはいらないかも知れませんが、「どこまでできるか」という幅をあらかじめ広くとっておくことが、逆に技術的なことに振り回されずに作品に専念するために必要かなと思ってます。
 ただ、なかなか自分の作品を発表できる機会がないが著作物の保護の観点からもあまり垂れ流しはできないというせめぎ合いの中、今回のもののようにゲーム的なコンテンツの中で小出しにゲリラ的に聴いてもらうというのも一つアリかなとは思っています。

 当初はここまでいろんなことを最初から試すつもりはなかったのですが、やり始めると芋づる式にアイディアが出てきて「まとまった形で見せるためにはこのあたりまではやりたい」というのも漠然と見えてきたので、そういう時はそこまで一気にやりきった方がいいと思い、ようやくその節目までたどり着いた所です。
 やり始めたことはやり切った方がいいというのは、実は今年の春頃から夏にかけて膨らんだあるアイディアを、そのまま立ち消えになるのがいやだったので公表するメドもないまま一気に論文形式でまとめたことがあって、そのまとめたものの存在が最近新たな展開のきっかけになったというようなことがあったので、やっぱり最後まで作り切ってナンボだな、と。(そっちの方も、今後面白い展開になればよいのですが。)

| | コメント (0) | トラックバック (0)

FLASH+Safariの不具合?

 Flashがらみでもう1つ。FlashコンテンツをSafariで再生する場合の、情報の保護に関する不都合な点が2つほど見つかった。

 1つはFlashコンテンツで情報を発信する側から見た、見られたくない情報が見えてしまう類の不都合な点なので、今後のことを考えるとここでは詳しく書けない。が、非常に困った問題であり、頭を抱えている。(こちらは、それが仕様だと言われればそれまでなのだが、Safariに限った問題であるのは確かである。)

 もう1つは、Flashを閲覧する側の情報が不適切に流出する問題である。Flashは、HTMLに埋め込んだものを閲覧するということを基本として考えられているが、Web上にあるFlashデータ(.swfファイル)のURLを直接指定しても、NetscapeやSafariでは閲覧できる。問題は、そのFlashがCGIを参照している場合の、CGIに渡される環境変数HTTP_REFERERである。この環境変数は、そのCGIが1つのページを表示するものであれば、そのページのリンク元のURLであり、そのCGIがページに埋め込まれたアイテムであれば、埋め込まれているページのURLであるが、ブラウザで直接CGIのURLを指定して表示させた場合は、HTTP_REFERERは存在しないという扱いになるべきものである。HTMLに埋め込まれたFlashの中でさらにCGIを読み込んだ場合、各ブラウザはHTTP_REFERERの値として、HTMLのURLを渡すようである。HTMLを介さずに直接Flashデータをアクセスした場合は、HTTP_REFERERは存在しないか、あるいはFlashデータ自身のURLを返すべきであろう(Flashデータに直接リンクが張られていた場合は、リンク元でも可)。実際、Netscapeでは、HTTP_REFERERは存在しない扱いとなっている。ところが、SafariでFlashデータのURLを直接指定した場合、なぜか、そのブラウザで直前まで表示されていた(そのFlashとは全く無関係な)ページURLがHTTP_REFERERとしてCGIに渡されてしまう。つまり、閲覧者が他にどんなページを見ているかという個人情報が、不適切に流出してしまうのである。
 通常のページの閲覧で、同じような不具合、つまり、リンクから飛んだのではなく、URLを直接指定したりブックマークから飛んだ場合、直前に見ていたページの情報が流出してしまうという問題は、以前にたしかIEか何かで起こり、対策されたはずであるが、Flashとの組合せでSafariがそれと同じ過ちを繰り返しているのである。

 これは...ダメでしょう。それとも、Flashファイルを直接アクセスするという推奨されない行為を行う際のリスクということで、対策が後回しにされているのだろうか?(それでも、Flashコンテンツを提供する側が、悪意をもってFlashファイルに直接ブックマークさせるように誘導することは可能なので、「自己責任」という言葉を振り回すべきケースではないように思われる。)実際、FlashからCGIのアクセスカウンタを呼ぶなんてことは、広く行われているはずで、不具合にだれも気づいていないとは思えないのだが...。

 ちなみに、このブログにもこの前から、最初の頃に作ったお試しのFlashコンテンツがこっそり置かれているが、この状態で見ている分にはこの問題は発生しない。このページのソースからFlashデータの所在を探し出して、それを直接アクセスした場合にのみ発生しうる問題である。

| | コメント (0) | トラックバック (0)

日々是勉強?

 先日、ふと思い立ってFlashコンテンツを作れるようになりたいと思い、FLASH Basic 8を購入した。FlashはMacromedia社からAdobe社に移管されており、今はAdobeからIllustrator等との統合性の高いソフトが出ているが、買ったのはMacromedia社から出た最後のバージョン。その辺の事情をあまり把握しないまま店員に騙されるようにして買ったのだが、世の中の書籍等は現状ほとんどこのFLASH 8に準拠しているので、まあ今のところ結果オーライか。
 そのFlashなのだが、雛形として用意されているものを使うだけならともかく、ちょっと自分のやりたいようにインタラクティブなコンテンツを作ろうとすると、アクションスクリプトというやつを使いこなさないとならない。これが、昔ながらのプログラミング言語ならまだよいのだが、Flashの場合は、階層的に定義される各オブジェクトがそれぞれにアニメーションの時間軸を持っており、その時間軸の1フレームに記述されるスクリプトや、時間軸の中にフレームをまたいで配置されるオブジェクトの参照に付随して記述されるスクリプト等、スクリプトを書く場所が分散しており、インタラクティブな動作を設計する際は、オブジェクト間の動作のネゴシエーションを設計しないといけないという、かなりハードルの高いものとなっている。ある程度まではスクリプトを知らなくても使えるようにソフトの方がサポートしている分、自分でスクリプトを書かないといけない部分との関係が見えにくくなっているのも分かりにくさの一因であろう。
 参考書はいろいろ漁ったのだが、どれも帯に短したすきに長しである。というより、どれも肝心な部分が書いてない気がする。「こう書けばできる」ではなく、「これはこういう考え方なのでこう書かなければならない」という部分が見えてこないのである。なので、試行錯誤しながら結構使い込んでいるのに、未だに非常に基本的な部分がもやもやしてよく分かっていない。とはいえ、今まで出来なかったことが、Flashを使えばできるということも多いので、だましだまし使っていくしかないか。
 それにしても、BASICに始まり、FORTRANにPL/Iにcにc++にcshellにperlにHTMLにJAVAスクリプトにと、こんだけいろんな「記述言語」を使ってくれば、そろそろ頭も追いつかなくなってくる。仕事の関係で、今度は数式の記述言語であるLaTexについに手を出すことになり、今度勉強会があるらしいが、数式入力については数年前にMathtypeとNisusWriterの組合せというのを徹底的に叩き込んだものが、過去の遺物と化してしまったので、その時に使い古してしまった脳内のスペースを返してくれって感じである。新しいソフトや、新しい記述言語をマスターすることの繰り返して、人生どれだけ無駄にしていることだろう。
 新しいソフトといえば、ついにLOGIC 8が出たらしい。最近音楽活動も低迷していたので、この辺でもう一度新たにDTMを始めたつもりで環境を一新するのもいいかも知れない。が、こちらも諸々ハードルの高いことが多くて困る。とにかく、この歳になっても、日々勉強しないといけないことは腐るほどある。

| | コメント (0) | トラックバック (0)