9/30/2010

マイク・ポートノイの DREAM THEATER 脱退の件について

Mike Portnoy leaves Dream Theater (Press Release) - Mike Portnoy's MySpace Blog

DREAM THEATER をこよなく愛する身としては、このことに対してなにも触れずにおくことはできない。先日、MySpace 上にて本件を知ったんだけど、あんまり MySpace の他人のブログを読まない身としては、発表日から遅れて知った有様だった。その時点より前に、Versaiiles のドラマー YUKI のブログ(改行が多いのは日本語文として非常に違和感があるから、なんとかしてほしい)で「マイクさんの件」とされている一文を見て、なにか判らなかったけど、なにが起こったかを知るとさすがに「マイクさんの件」の意味を理解できた。

マイクは DREAM THEATER のリーダーであり、そもそも DREAM THEATER というバンド名はそもそもマイクの父親が付けたもので、彼も今回のメッセージでは冒頭に「今まで考えたこともなかったようなことを言わなければならない」としている。

彼を含めたメンバーでヴォーカル以外は全て音楽学校を卒業しており、複雑な音楽構成ではあるけど緻密な計算によって流れるような展開を実現している。この点に私は昔からとても魅力を感じており、尊敬をしていた。ただ、ここ 2 作で言えば、マイクの好みによりラップを少しだけ入れていることからも、他のメンバーとの方向性の差異が表面化しているように感じていた。脱退については非常に驚き、落胆したけど、そう考えると仕方なかったのかもしれない。

それよりも、DREAM THEATER の骨格を成すマイクの後を埋められるドラマーを探せるのかどうかが少し不安だ。Burrn の広瀬和生は、新しいドラマーに「雇われか?」という、かつてのジェイムズ・ラブリエ(Vo.)に向けた幼い質問をするのだろうか。

9/25/2010

Safari/Chrome Extension "noticeAboutMe" を公開してみた

Safari/Chrome Extensions を初めて作ってみた。Twitter で誰かが自分に対するツイート(@ユーザー ID でツイートしてるもの)があったりしても、いちいち見に行かないといけない。リツイートだって、見に行かないとされてるのかどうか判らない。ということで、そいつをチェックしに行く機能拡張を作ってみた。なかなかいい勉強になった。

Safari Extensions でも同じものを作ったけど、こちらは現在 Apple にて評価中。載るかどうか判らない。

良ければ使ってやってください。

Chrome:
noticeAboutMe - Google Chrome 拡張機能ギャラリー
Safari:
noticeAboutMe | Prime Design Works | Webサイト制作・開発 | 京都市内・京都府

Safari Extensions の feedback ページのお問い合わせフォームがいい感じ

お問い合わせフォームのエラー画面というのは、デザイナーではなくエンジニアの UI の活きるページだと思っている。もちろんデザイナーは素晴らしいデザインを創るけど、かつて在籍していた会社では、お問い合わせフォームなどのシステマティックなページの UI はエンジニア製だった。どのようにして判りやすくユーザー「アンタ、間違ってるよ」ってことを伝えるか、エンジニアの想像力をかき立てる場面だと思う。

この前、私がよくブログを読んでいるある人が退職し、別の会社に就職した。そこのウェブサイトにもお問い合わせフォームがあったので、「あの人が選んだ会社だ。どのようなエラー処理をしているのか」という純粋な興味で、何気なく、全ての項目を空のままで送信ボタンを押した。送信できてしまった。結構がっかりしたもんだ。

さて、Apple の Apple - Safari - Feedback というお問い合わせページがあるけど、ここはアクセスしたままの状態だと項目右の「REQUIRED」という部分がグレーのまま。しかし、例えば、名前を入力しようとしたけど「次の Email Address から入力しちゃお」とか思って項目を移動すると、Name 項目右の「REQUIRED」が怒り出して赤くなる。こういうのだと「ああ、ここ入力必須なのね」って、送信ボタンを押す前にユーザーに教えることができる。こういうページはとてもいいと思う。一つ注文をつけるなら、ページにアクセスした時に Name 項目にフォーカスを自動で合わせてほしいくらいかな。

お問い合わせフォームページって、エンジニアの腕の見せ所の一つだと思う。

自分とこのウェブサイトを英語化してみた

今後、アプリケーションを公開していくのにも、自分のウェブサイトを英語化したおいた方が便利かもしれないと思って、数日かけて英語化してみた。去年の立ち上げ時に、色々と説明しておかないとと思って文章をたくさん書いたので、難儀した。

基本的には OS の言語で日本語以外は英語版となるようにしてあるけど、ページ内の English を押すことで英語ページの表示も可能にしてある。構造としては、両言語用の文章を別に持ち、php で OS の言語を判断、またはクリックされて cookie に保存された言語切り替えリンクの内容を php で読み込み、言語を特定。html 内は ssi で php を読み込み、言語に応じた文章を返すようにしてある。

言語ごとにページを分けたりしても良かったけど、ディレクトリ構造を変えるのはめんどくさかった。あと、ページそのものを php 化してしまえば ssi は要らなかったけど、xhtml が好きな人だし、そもそも php 化するのもめんどくさかったから、これもしなかった。

今となってはこの仕組みで良かったかなとも思う。この英語化されたページが実際に役に立つ日が来るのだろうか。

Prime Design Works

9/24/2010

Blogger の新しい投稿画面がイマイチ

なんだか「Blogger の投稿画面が新しくなったぜ」みたいな告知があったので使ってみたけど、う〜ん。

「プレビュー」ボタンを押すと新しいタブが開いてしまうため、そのタブ内にある編集ボタン(鉛筆ボタン)を押して編集を進めると、「プレビュー」ボタンを押す前のタブが残ってしまう。そして、投稿したあとにこの要らなくなった前のタブを閉じようとすると、「ホンマに消していいんでっか?」と訊かれる。正直、鬱陶しい。

あと、「Tweetmeme Retweet Badge」っちゅーのを貼ってるんだけど、プレビューページでは何故か 1 とカウントされる。なんでやろね?

とりあえず Google Product Ideas ってとこに投稿しといた。

Javascript ファイルから設定画面の情報を読み込む [Safari Extensions を作ってみる:第七回]

Safari Extensions ではメニューの「Safari -> 環境設定...」画面の「機能拡張」タブをクリックすることで現れる画面に、「機能拡張ビルダー」内の「機能拡張の設定」で指定した各種設定を表示させることができる。これの設定をどうやったら読み込めるのかを、これまたひとしきり悩んだ。公式のドキュメントである Safari Extensions Development Guide: Settings and Local Storage を見てもやり方が判らない。色々と検索した挙げ句、Safari Extension Questions - Stack Overflow でなんとか解決した。以下にやり方を書いてみたいと思う。

まず、設定を読み込むには、safari.extension.settings.getItem("xxx") で取り込めばいいんだけど、これは「機能拡張ビルダー」内の「取り込んだ機能拡張の内容」の「スクリプトを開始 or 終了」のところに入れた Javascript ファイルに記述しても機能しない。その少し上の「機能拡張グローバルページ」で指定した html ファイル内で記述しないと能力を発揮しない。先程の「スクリプトを開始 or 終了」とグローバルページとの応答でようやく取得することができる。

ついでに設定画面で変更された時にも値を Javascript に渡すようにする。ユーザーが変更した際は change event が発行される。

★「グローバルページ」で指定した html 内の Javascript
<!doctype html>
<html lang="en">
<head>
  <script type="text/javascript">
// 問い合わせ or 設定変更時に呼び出される
    function respondSetting(evt) {
// 設定の「キー」項目である「xxx」という値を変数 zzz に代入
      var zzz = safari.extension.settings.getItem("xxx");
// Javascript への返答
      safari.application.activeBrowserWindow.activeTab.page.dispatchMessage("answer", zzz);
    }

// Javascript からの問い合わせを受信
    safari.application.addEventListener("message", respondSetting, false);
// 設定が変えられた時に発行
    safari.extension.settings.addEventListener("change", respondSetting, false);
  </script>
</head>
<body></body>
</html>

★「スクリプトを終了」で指定した Javascript
// グローバルページからの返答時に呼び出される
function getMessage(evt) {
// 返答された設定画面の値を変数 sValue に代入
  var sValue = evt.message;
}
// グローバルページに設定画面の値を問い合わせを送信
safari.self.tab.dispatchMessage("settingValue", "xxx");
// グローバルページからの返答を受信
safari.self.addEventListener("message", getMessage, false);

9/23/2010

Chrome / Firefox でキャッシュを飛び越して再読み込みする

さっき Firefox で確認することがあって、どうもキャッシュを読んでいるらしく、変更したのに変更後の表示にならない。いちいちメニューの「ツール -> 最近の履歴を消去...」を選んで消してからもう一度読み込むというかなりめんどくさい動作をしていたので、キャッシュを飛び越して再読み込みできたらいいのにと思った。昔 Windows を使っていた時代に、IE では Ctrl + F5 でできた気がしたので、似てることもできるだろうと考えて、普段再読み込みするのに Command + R を使っているけど、それに Shift キーを混ぜたらどうなるかと思ってやってみると、早々と答えが出た。これでキャッシュを飛び越して再読み込みできた。

★Chrome / Firefox でキャッシュを飛び越して再読み込みする方法
Command + Shift + R


Opera ではダメだった。Safari でもダメだった。でもあんまりこの 2 つではキャッシュで困ったことはないからいいかなと思う。