ATOK 2009

ATOK 2009 Premiumを購入しました。去年ATOK 2008 Premiumをを購入してたのでバージョンアップでした。
2008で満足していたのに今回のバージョンアップを購入したのは、英語入力モードでも予測変換が出来る用になったという機能を知ったからです。また、それに伴い、ロングマン英英辞典、英和辞典も追加されたシステムもあるみたいで。今回購入したPremium版にはその辞書も付いているので、これも試してみました。

英語入力モード

さて、英語入力モードへ切り替える方法だが、今までは「半角/全角」キーでIMのon/offを切り替えていた。しかし、ATOKで英語推測入力をサポートしてもらうためにはIMを切ってしまうとだめなので、CapsLockキー(英数)で切り替える必要がある(これはATOK2009の新機能)。つまりこれは常にIMをonにしたまま英語入力ができるための仕組みなのだが、この新技術の恩恵を受けるためにここは慣れてみるしかない。
ということで、練習がてら、ATOK 2009の添付冊子を写経してみた。

P.4
英語入力支援 New!
英語を入力するときに便利な機能を追加しました。
●簡単に英語入力モードに切り替え
CapsLockキーで英語入力モードに切り替えられるようになりました。英語入力モードになると、自動的に推測候補モードになり、推測候補やスペルチェック機能が表示されます。

P.40
英語の意味を調べる
1.CapsLockキーを押すか、ATOKパレットの[あ]をクリックして表示されるメニューから[半角英字]または[全角英字]を選択して、アルファベットを入力するモードに切り替えます。
ローマ字入力の場合は、[Shift]キーを押したまま文字キーを押すと、アルファベットを入力するモードに切り替わります。
2.調べたい単語を入力します。
未確定の状態でアルファベットが入力されます。
3.[End]キーを押します。
電子辞典の内容が表示されます。

こんな感じで、何度か英語と日本語入力の行き来をしてみた。すると、人間、やればできるもので、2,3分で問題なく切り替えられるようになった。しかも[半角/全角]キーよりも[CapsLock]キーはホームポジションに近いので、どちらかといえばこの方が便利。
[A]とタイプすると、予測候補に"ATOK"と出てくるようになった。こんな感じで入力すればするほど自分の使い方にフィットしてきて便利になる予定。

しかし!

なんとも残念なことがわかった。
プログラマである自分の場合、各種IDEを使う必要があるのですが、今回のATOKの英語入力支援機能は、上記の通り、結局IMがonになっているときにしか使えなく、Enterキーを押すまで確定しない。つまりこのATOK 2009方式の英語入力では、IDEの入力補完機能などのインテリジェンス機能はある文字列を確定するまで使用できない。
たとえば、"String"という文字列を入れたい場合、だいたい"Str"あたりまで一気に入力したら、それまで一度も入力していなくても、文脈を判断し大抵第一入力候補として"String"が出てくるのだが、。この流れにATOKの機能はうまく融合してくれないのだ。
今回のATOK 2009の新機能の話を聞いたときに、こういうIDEのインテリジェンス機能との融合がうまくできたらかなり便利になるのではないのか?と思っていたのだが、非常に残念な結果となってしまった。
まぁ、普通のこういうblogを書くときには便利だから、それで良しとするべきか。

結論

とはいえ、ATOKの推測候補とかはかなり便利なので、もうこういう機能を持たないPCでは入力作業をしたくない。毎日の定型メールとかは書く時間が半分以下になった気がするし、文字入力のストレスが8割くらいはなくなっているので、PCを生業としておりATOKを持っていない人がいたら購入を検討すべきだと思います。

ATOK 2009 for Windows [プレミアム] 通常版

ATOK 2009 for Windows [プレミアム] 通常版

もし可能なら2010年版では、IDEのインテリジェンス機能との融合をはかれる仕組みを実現して欲しい。

Adobe Digital Editions


PDFを管理するの良いツールはないかと探してみました。そこで見つけたのが、Adobe Digital Editions。
Adobe Labsで公開されていたあと、1年半ほど前に1.0がリリースされていたようだが、現在のバージョンは1.7。

無料のアプリなのだが、結構良くできているので、結論から言うと当面はこれを使い込んでみようと思っています。

充実のビューア機能

アプリケーションはiTunespicasa的なインターフェイスであり、これらのアプリを使ったことがあるのなら特に説明されなくても使いこなせると思います。
ライブラリ画面では、左側にリスト(ブックシェルフと呼ぶ)、右側に一覧情報が表示され、それをクリックすると、ビューア状態になります。
一覧表示時にはリスト表示だけでなく、1ページ目の表紙をずらっと並べて見ることも出来るので、タイトルが分からなくなっても開くべきファイルを見つけやすいです。

しおり機能も使えるので、PDFをあとから開いたときのために自由にしおりを作成しておくことができます。いくつかのPDFを行ったり来たりしていると気づくのだが、PDFを開いたときに、前回開いていたページが開く。Adobe Reader単体では出来ないので、これはうれしい機能。

その他の機能

またDigital EditionsはeBooksの購入にも対応できているようです。Adobe.comの中にもかなりの量のサンプルファイルがアップされているので、購入体験も出来ます。、

iTunes Storeほどアプリと一体化はしていないのだが、ウェブのリンクをダブルクリックすると無料ファイルならダウンロードして読むことが出来ました。

改善要望点(2009-02-23 更新)

使っていて微妙だな、と思うところをリストアップしておきます。

  • ファイル名の問題

PDFの内部でタイトルが設定されていると、無条件でそれが表示されますが、設定されていないファイルはOS上でのPDFファイル名が使用されます。後者の場合はOS上でファイル名を変更することで、Digital Editions上の名前を変えることが出来るのですが、問題は前者のファイルで、PDFファイル内部で指定されていると変更できないのです。
今後のバージョンでは、これをDigital Editions上だけの名前として、自分で管理できるようにして欲しいです。

  • 文字列のコピーができない

PDFのテキストを選択して、それをクリップボードにコピーすることができない。
使い方によっては致命的。

  • 別のPDFリーダーで開けない

別のPDFリーダーで開くためのインターフェイスが用意されていません。
せめて、「ファイルの場所をエクスプローラで開く」くらいのことは出来て欲しい。

これを使って出来ること

で、このアプリを使って何をしているのかというと、何年も前から言われ続けていたペーパーレス化作業の一環。各種紙データのデジタル化を個人的にはじめようと考えているのです。
仕事のときに気づいたことなどを個人用知識ベースとしてPDFドキュメント化していたりするのですが、そのPDFがいくつかのファイルに分かれているので、それを横断して見てみたい、というときにこのようなアプリが必要になるのです。
また、最近ではソフトウェアやPC周辺機器だけでなく家電でも取扱説明書類がネットでPDFの状態で公開されている。これをダウンロードしてデータでまとめて持っておけば、それだけで、紙媒体の説明書は破棄できるわけです。
その流れで、ちょっとした紙のデータも出来るだけデジタル化しようと考えていて、近いうちにScanSnapを買いそうなんですが。。

富士通 ScanSnap S300 FI-S300

富士通 ScanSnap S300 FI-S300

そんな感じでPDFが増えてきても、OSのフォルダ管理では一カ所にまとめる必要があったりするのです。しかし、OSのフォルダ管理は仕事単位で分けていたりするので、PDFの一覧性のためにそのルールを崩したくない、という問題があります。このような問題を解決する意味でも、今回のAdobe Digital Editionsはかなり適役だと思うのです。

最後に

ところで、Adobe CS4ってヘルプがオンラインになるんですよね。
それをPDFでローカルに置いておいたり出来なさそうなのがちょっと懸念点。
まぁ、何らかのツールでPDFに書き出せば良いのですが。そういうときに使えるのが「いきなりPDF」。Professional2のときに買っているのですがホント便利な割に安かったので、PDF書き出しソフトを持っていない人にはお薦め!

いきなりPDF Professional 3 (Uメモ)

いきなりPDF Professional 3 (Uメモ)

さぁ、身の回りをすっきりさせて、快適仕事生活へ!

interface, Oberver

RSSでチェックしているblogに、ActionScriptの機能とデザインパターンの一つであるObserverパターンを勉強するのに良さそうなエントリがあったので、週末にちょっと時間を割いて勉強してみました。

言語に依らず、interfaceというものを自分で使ったことが無かった。とくにinterfaceじゃなくても継承でいいじゃない、という考え方でした。
でも、interfaceの必要性も理解しておきたい、というところもあり、今回勉強してみることにしたのです。
で、上記のblogエントリを読みつつ、自分で考えながらコードを書き、AS3で実装してみました。以下のコードを読むのも良いですが、上記ブログを参考にしつつ、自分で書かれるのも良いかと思います。

監視される基底クラス作成

Observerパターンということで、何かを監視されるる側のクラスが必要ですが、AS3でいじりやすくするためにSpriteを派生させたSubjectSpriteと名付けたクラスを用意します。
オブザーバを登録するメソッドと、登録されたオブザーバのupdateメソッドを呼び出すメソッドの二つだけを実装しています。

public class SubjectSprite extends Sprite {
  public var mObservers:Array  = [];  // オブザーバの配列.
  
  /**
   * オブザーバを追加.
   */
  public function addObserver( observer:IObserver ) :void{
    mObservers.push( observer );
  }
  
  /**
   * 全てのオブザーバに自分自身の情報を通知.
   */
  protected function notifyObservers() :void{
    for each ( var observer:IObserver in mObservers ) {
      observer.update( this );
    }
  }
}

ソースを見て分かるように、このクラスに登録するオブザーバはIObserverを実装する必要(implements)があります。

監視する側のもとを作成

続いて、SubjectSpriteを監視するクラスの基本定義として、interface定義を行います。

public interface IObserver {
  function update( target:SubjectSprite ) :void;
}

次にIObserverを実装するクラスを定義します。
今回は簡単に理解するためにマウス座標を取得してtraceする監視クラスを作成します。

public class MouseXObserver implements IObserver {
  public function update( target:SubjectSprite ) :void
  {
    if ( target.mouseX < 100 ){
      trace( "MouseX[" + target.mouseX + "]" );
    }
  }
}

また、ほとんど同じ内容でMouseYObserverを実装します。
場合によっては、クリック時や、アルファ値の変化などに上記のようなメソッドをフックさせると良いかもしれません。
この「どういうタイミングで、どういう処理にオブザーバの処理をフックさせるか」というのがobserverパターンの肝のような気がしますが、こればかりは何度もプロジェクトで使わないと勘所がつかめないですね。

テストクラスを作成

さて、最後にテストを行います。以上のモノを使う側のクラスは次のようになります。

public class TestObserver extends SubjectSprite{
  public function TestObserver(){
    addObserver( new MouseXObserver() );
    addObserver( new MouseYObserver() );
    
    addEventListener( Event.ENTER_FRAME, process );
  }
  
  private function process( e:Event ) :void{
    // オブザーバに通知.
    notifyObservers();
  }
}

これをTestObserver.asとして保存し、パブリッシュします。マウスイベント処理を把握してその様子がtraceで出力されました。

まとめ

以上のコードを書いてエントリを書いてたら、Observerパターンがつかめ、interfaceの使用例が一つ理解できた。
今回のようなObserverパターンの場合、別にinterfaceを使わなくても、クラスの継承でも良いような気もしますが、やはり何となくinterfaceの方があっているような気がします。もしかしたら、Stateパターンもinterfaceが向いているかもしれません。
この「何となく〜と思う」を確信に変えるには、何度か試行錯誤をくり返すのが必要だろうと思う。もしかしたらその過程で別の実装方法が適切だと分かるかもしれないが、それを自分で体験できたことが重要だ。
こういうinterfaceを使う場面を表すのに、何か良い表現はないだろうか。「○○が△△のときはinterfaceを使うべき」といういうような。
しかし、interface機能やObserverパターンといったプログラミング技術を、見た目や意味的にもチェックしやすいコードを書きやすいActionScript3.0は素晴らしいですね。

NHKためしてガッテン〈12〉―雑学読本

NHKためしてガッテン〈12〉―雑学読本

ガッテンしていただけましたでしょうか。

Adobe MAX Japan 2009 - Day2

Adobe MAX Japan 2009 2日目のレポートです。
(Day1のレポートはこちら

基調講演

2日目の基調講演は、"DESIGN, DEVELOPMENT, DEPLOYMENT"をテーマに話が進んだ。と言っても、CS4の製品の一部新機能を紹介する内容。
まず、Flash。XFLというXMLファイルフォーマットをサポートするようになった。これによって、PsとかAiから書き出したファイルをそのまま読み込めるようになる。モーションパスをいじれるようになったり、IKをサポートしたり、モーションプリセットの保存が可能になったり、AIRとして書き出せるようになったり、というところは目新しい話は一切無し。
Photoshopの話も内容に応じて拡大縮小が出来るようになったり、3Dのサポートが強化されたり、というところで特筆すべきことはない。
次はAlchemyの話。C/C++からAS3が書き出せるようになった、と説明していた。自分はC/C++からswfを作れるようになったと思っていたのだが、ちょっと勘違いしてたようだ。ということは、C/C++ユーザにとって使いやすくなっただけで、パフォーマンス周りはAS3で書いたときと同じということか。残念。
BOLTという名で情報が公開されていたColdFusionのIDEEclipseベース)が公開されたという話。ColdFusionはよく知らなかったので、良く聞いてなかった。
また、Flex関係の話ですごいと思ったのが、VisualStudioのプラグインが作られたらしい!FlexプロジェクトをVSで作業できるということなのだ!Eclipseプラグインとしていろいろ追加していくと何が何だか分からなくなってきているので、他の用意もしてくれることはうれしい。
DreamweaverjQueryと連携ができるようになり、アコーディオンエフェクトやカレンダーを実装する流れを見せてもらった。カスタマイズするときにjavascriptをfreezeしてCSSを修正するところは良くできている。
Flashコンテンツの検索機能への対応、というのは去年から出来ていたのだが、仕組みを知らなかった。swfファイルの中から文字列を抜き出せる仕組みで、当たり前だが埋め込まれている文字列しか処理できない。
Flash Media Server 3.5の話。ダイナミックに帯域幅に合わせてビットレートを変えることが出来る仕組みが実装されているようです。「Flash HD Gallery」というサイトではすでに使用されているようで、ロード開始直後は低めのビットレートにしてあるので、読み出しやすく、バッファが十分たまってきたらビットレートを上げていく、ということでユーザ体験をよりよいモノにしているようです。

失敗事例に学ぶFlexプロジェクトの第一歩

今日のランチセッションはNECシステムテクノロジーの方の講演で、FlexによるRIA構築のプロジェクトをいくつかこなしてきた中で失敗したことなどを赤裸々に話す、というもの。全てが実体験に基づいているモノで大変為になりました。失敗とは、「高コスト(赤字)」「遅延」「品質問題」が発生しているモノで、つまりQCDを満たせていないものを言う、という定義からきっちりと話は始まりました。
例えば、次のような問題が発生したようです。「Flex…何でも出来るという思い込み」→「相次ぐ仕様変更」→「期間延長」。これは画面仕様が未確定なプロジェクトにありがちなパターン。
他にも「FlexBuilderを使えば何となくできてしまう」→「トラブルの原因を追及できない場合がある」。これは初心者にありがちなパターン。
また、上記の二つの合わせ技で遅延が発生する、というパターンもある。と、ざっと3つのパターンを示した上で、個別事例の解析と説明に入りました。
で、紹介された全てのケースで、Flexコンサルタントを導入しているのが、やはり大手ならではの解決策。そこで費用はかかるが、着実に効率よく学習していくことで次からの問題を減らそうと努力しているのがすごい。こういうコンサルタントとかって中小企業では出来なくて、ますます泥沼化していくことが多いと思うのです。
結局、経験を積み、当初から問題を把握できるようにし、プロファイラなど各種ツールを一通り使いこなせるようにしておく、ということが重要であるとの結論。

映像とプログラミング

中村勇吾氏の講演。忙しいらしく会場に着いてから駐車場の車内で、WORDを開き、話す内容をざっとまとめてきただけ、ということだったのだが、講演慣れしているのか、プレゼンツール(過去の作品ファイル)はしっかりしてあり、滞りなく一通り実行できたりして、さすがだと思った。

「映像アニメーションにはない別の「アニマ」はないか?」というテーマで過去の仕事を区切って話が進んだ。
駆動エンジン別では、アルゴリズム、DBベース、人力ベースの3つを紹介。3つ目の「人力」とは例として、FINGERTRACKS, FONTPARKなどを挙げていた分野なのだが、「インターフェイス内でフォーマット化された人力であり、「完全に自由」では面白くない」という言葉が重要だと思った。
続いて文体的な話。物語を放棄し、様相・トーンだけを発する構成物をつくりたい。環境的・音楽的なアニメーションをつくりたい、と言っていた。その流れでカテゴリ別に次々と作品を見せてもらった。ざっとまとめておくと、時計(ex.INDUSTIROUS CLOCK, CAMCAMTIME, 伝える伝わる)、グラフィックデザインの拡張(UNIQLO TEASER, KASHIWASATO, DROP CLOCK, CRASH Beta, etc)、フィルター(UNIQLO MIRROR)、環境上で物語る(EVERYTHINGS IN IT'S RIGHT PLACE)となる。
面白かったのは佐藤可士和のサイト。これはウェブサイトとかいらないのでは?、ということから発想は進み、佐藤可士和のプレゼン用ツールとして作った、ということなのだ。確かにそう考えるととても良くできている。しかも過去の作品へアクセスできるわけだし、素晴らしい。
最後のEVERYTHING IN IT'S RIGHT PLACEでは物理演算シミュレーションの逆をやっていた。逆というのは、逆の法則を実装して、最後に気持ちよく、一見奇跡的に見える感じでBOXが収まるように見えるものだ。すごかった。
元ネタはこちらの映像("tyre accident")らしいのだが、この映像はまさに奇跡!

濃密であっという間に時間が過ぎたセッションでした。

イデアの実装:コントロールと最適化

ROXIKの城戸さんの講演。最適化の話はメモリが潤沢にあるPCならではの解決策で、すげー力業だと、元コンシューマゲームプログラマの自分は驚く限りでした。
その他のカメラ(という概念)を実装する話は、若干説明不足というか、あぁいう強引な解説でいいのかな、という印象。専門用語は正しく理解できるように説明して欲しい。つまり、きちんと「相対位置」という概念を説明すべきだったと思うのです。

ActionScript 3.0におけるパフォーマンス向上のヒント

野中文雄氏の講演。パフォーマンス改善と言うことではAS3的には基本的な内容。それをこういうセミナーでやるのはどういう感じなんだろうか?と思って参加したわけだが、あまり得るものがなかったので、個人的には見なくても良かった、とちょっと後悔している。
最初の話は「型指定すべし」と言う話。で、Objectでは型指定できないので、処理速度的にはカスタムクラスの方が有利、ということなのだが、要は使いどころを間違えなければいいのでは?と思った。場合によってはコンストラクタでのオーバーヘッドのほうが大きくなることもあるような気がするし。
閏年計算を例に挙げて、if-elseの順番を考えるべし」というのは分かってるつもりだったのだが、最近書いていたコードで閏年計算が遅い方の計算とされていたので、ついカッとなって、その場で修正してしまった。今では反省している。閏年計算のifの順番で処理速度改善とか、全体からしたら一体どの程度の処理速度改善だよ!と。
次の「再生ヘッドを止める」というのはちょっと詳細を聞き逃してしまったのだが、「1フレームしかないモノでもstopすべきか?」。あとで検証しておこう。
また、my_array[0]=100; my_array[1000]=100; というような間があいた配列は遅い、と言う話。これは、内容を詰めれば早くなるのだろうか?これもあとで要調査だ。
Mathライブラリに関する最適化は箇条書きにしておく。

  • Math.pos(n,2) より n*n
  • Math.abs(n) より (n>0)?-n:n
  • Math.floor() より int(), AS3なら同じ結果が返ってくる

残った時間でCS4に関する話をされた。これはロビーにあったCS4の体験PCを触っていたときに自分も気づいたのだが、CS4からヘルプがオンラインになった。野中さんもこの講演で説明していて正式にそうなったのだと理解できたのだが、コメントを書けたりするのはノウハウが共有できて良い一方、オフラインで見られないのか。これは問題にならないのだろうか。ちょっと心配。
(追記:2009-02-17)
このセッションの資料が整理されてアップされているのでリンクを張っておきます。

AIRFeliCaによる新しいサービスアプリケーション開発

最後はFeliCaに関するセッションを選んだ。
FeliCaSDKは既に公開されているのだが、なんとこの夏にAIR/Flash用のライブラリが公開される予定らしい。サーバとなるexeを動かす必要はあるのだが、それと連携するswcを公開し、個人でも買えるような形で販売するらしい。なかなか面白そうな試みだ。また、FeliCa Liteというシール上のチップも販売するので、アイディアがあれば何かしら実現出来るようになる。いわゆるRFタグとして使えるようになる、ということだと思う。
で、FeliCaをかざすことで何が出来るのか?ということから話は始まった。具体的には、webサイト誘導、アプリメーラ起動、データ通信などが出来る。
これはSonyの人も言っていたのだが、一番の問題となるのは「FeliCaとは“かざすとお金を取られるモノ”という認識がある」ということ。良くも悪くもおさいふケータイの功罪だ。これは自分で何かを作るときにも問題になるかもしれないので気にしておこう。
FLO:Qの人たちによるサンプルなども見せてもらった。
アイディアの実現化のためのヒントが詰まっており、満足できるセッションでした。

@ロビー

Adobe MAXではセッション以外にもロビーにいろいろな会社やグループがブースを出しており、そこでちょっと寄って聞いた話を以下にメモしておきます。

@ロビー:Adobeの人(そこら辺に立っていた人)

XFLについて情報無いのか?と質問したのだが、詳しい人はいなかったのでよく分からなかった。ただ、その方による精一杯の回答をもらったので、メモしておく。

  • セキュリティ上問題がなければファイルフォーマットはオープンにする方向性なので、おそらく公開されるだろう。
  • ただ、今回のCS4には間に合わなかった、ということらしい。

@ロビー:ColdFusion UserGroup

ColdFusionそのものがどういう知らなかったので、時間もあったし聞いてみた。

  • ColdFusionとは、アプリケーションサーバ
  • 現在はJavaベースになっているので高速
  • 初心者はタグで記述でき、細かいところはJavaで記述できる
  • PHPなどより学習期間が短くて済む、らしい。

ということで、ちょっと興味を持った

@ロビー:モリサワ

フォントのライセンスについてちょっと気になっていたことがあったので、聞いてみました。

  • 使用しているモノについては、そのまま使用しておいて問題ない。
  • フォントセットを埋め込むのはNG
    • 新聞社とかは自前で持っていたりするので、そういうラインセスがクリアになっているところから、フォント埋め込みのサービスを始めていくと思う。
    • サーバ側にフォントを置いといて、アウトラインを取得するのは、サーバライセンスでOK。

頑張れ!フォントメーカー!

スペシャルイベント:EDGE Now! Of the Year

今日も夕食ビュッフェを食べたあと、最後のスペシャルイベントとなるEDGE Now! Of the Yearを見てたのだが、これが内輪のためのイベントでとても見ていられない雰囲気だったので途中で返った。

お土産

最後の最後に抽選エリアというものが用意されている。最高でMacBook Airが当たるのだ!受けたセッションの数などでマイレージがたまる仕組みになっていて、そのポイントで4回のチャンスをゲットしてたので、やってみたら、FlashPhotoshopのロゴを配した人形をもらえた。それぞれ、"Flash Builder-Chimp", "Photoshop Cave-Painter"と名付けられている。また、アンケートを書いてもらえる景品もMAXの人形"MAX the Explorer"だった。

おおむね値段相応のイベントで、悪くない感じでした。来年も仕事の都合があえば参加しようと思います。

Adobe MAX Japan 2009 - Day1

1月29日、30日の両日、Adobe MAX Japan 2009というイベントに参加してきました。Flash関連の技術を中心にしたAdobe主催のイベントで、もともとMacromedia時代からあったものだ。初めて参加してきました。
会場内に無線LANが公開されていたのはいいのだが、参加者が使える電源が無いのが大問題。こういうこと、どういう風に考えているのだろうか。これからのイベントでは必須だと思うのだが。まぁ、それはさておき、二日間朝から晩までどっぷりとインプットする時間となりました。
というわけで、参加したセミナーでらくがき程度に書いていたメモをデジタル化して残しておきます。

基調講演

ホテルの部屋を最大限に広く取りど派手な演出でケビン登場!

"Client+Cloud", "Social Computing", "Devices+Desktop"という3つのキーワードで講演をされました。
まず、"Client+Cloud"では、AIR1.5の新機能を中心に紹介。WebkitJavascriptエンジンSquirrelfishを載せたモノが使用されているらしい。そして暗号化されたデータベースも使用可能になったとか。
ケビン氏からジェレミー氏に代わり、ヘラルドトリビューンのAIRアプリを紹介。画面サイズを変更させたときに柔軟な表示が可能になっているのが特徴。写真サイズやグリッドが柔軟であるだけではなく、内容も場合によっては要約されたモノに変わったりするのがすごい。LinuxベースのMIDでもAIRアプリが動作するらしく、そのデモを見せていただけた。
その他にも不動産屋のAIRアプリであるKTツール、Felicaのカードでメンコ的なゲームのデモ、Adobe Developer Boxを紹介。
続いて"Social Computing"では、Adobe Waveという各種情報の通知まとめアプリ、ニコニコ動画などが紹介された。
最後に"Devices+Desktop"。モバイル市場が大きくなってきた今、多くのプラットフォームに対応するのならまずモバイル向けに作るべきだという言葉は、なるほど一理あるかもしれないと思わせるモノがある。そして言及されたのがOpen Screen Project。特に新しいモノではなく去年5月に発表されたプロジェクト。docomoのプロダクト部長永田氏が出てきて発表をされた。
最近ではFlashコンテンツはなんと1日に1億ダウンロードを達成しているらしい!すごい市場だ。ということで、架空のウェディングアプリ(アプリというかSaaS)の紹介ビデオを紹介。これが結構良くできていて、あー、そういうつながりはアリかもしれない、と納得。PCとモバイルの境目をなくすメリットは大きいと感じた。
こんな感じで特に新しい発表とかは無かったのだが、自分の目で見つつ、自分の頭で考えるにはこういう機会は重要だと思っている。

Flex4/CS4によるデザイナー&デベロッパーのワークフロー革新

クラスメソッド株式会社の杉浦さんのセミナー。
予期せずCatalystの説明!Catalystとは何か?を全く知らなかったのですが、その必要性から現バージョンでのメリット/デメリットまで説明してくれたので、全く知らなかった自分にも分かりやすかった。
デザイナとデベロッパの作業のすりあわせとか、インタラクション周りの作業についての問題点を列挙。まず下のような表を出されて、Layout、Interactionの実装部分をdesignerがやるのか、developerがやるのか?を決めるところから、その連携部分で無駄なコミュニケーションが増え、問題になる、と説明され、しごく納得。

Skinning Layout Interaction Logic
Ps,Ai,Fl,etc.. Fx Fx Fx
designer designer/developer designer/developer developer
.mxml,.as .mxml,.as

実際今やっているプロジェクトはココのあたりをdeveloperである自分がやっているのだが、確かに大変で今後の仕事でも課題となるだろうと思っていたところだ。
その問題を解決すべく、Flash Catalyst(旧:Thermo)が開発されたという流れ。つまり、Flash Catalystとは、デザイナとデベロッパをつなげるインタラクションデザインツールであるのだ。
Flash Catalystを導入すると上記の表は次のようになる。

Skinning Layout Interaction Logic
Ps,Ai,Fl,etc.. Fc Fc Fx
designer designer designer developer
.fxg .fxg .fxp

デザイナーの負担が増える、という仕組みなのですが、動きを付けるべきはデザイナーなので、しょうがないか。で、Flash Catalystで、動きやボタンを押したときの画面遷移、状態遷移をつける、というわけです。デザイナーがここまで出来ればラピッドプロトタイピングが可能で、作業速度が大幅に向上するのでは、という話。
具体的にはEclipseベースのアプリで、DESIGNビューとCODEビューを切り替えつつ使え、ページやステートの設定も出来る。保存ファイル形式はFXPというものになり、これはAiなどから書き出せ、また、Flexで読み込めるものになるようです。
クラスメソッドさんで検証したところ、現在はプレビュー版ということもあるのですが、問題もいくつかあるようです。まず、Mac版しかないことは割と大きいかも。他にも、複雑で高度なカスタムコンポーネントを使用するのには向かないとか、ステート単位でインタラクションを付けるので、ステート管理やロジック管理を結局デザイナーが付けられるのか?という問題もある。自動生成されるmxmlも結構問題があるようです。
ということを踏まえて、Fcでプロトタイプ版をつくり、Fxで本番バージョンを作り上げる、ということを提案しておられました。
それにしても開発速度が大きく上がるのは確かなので、正式リリース版が出るときには以上の問題点がどうなっているのか確認しつつ調査しておきたいですね。
その他、Flex4の話もあった。FlexBuilderからFlashコンポーネントのファイルを直接立ち上げられるのは便利そうだった。
自分にとって非常に有意義なセッションでした。

ランチセッション

昼をまたぐ講演は「ランチセッション」と名付けられていて、軽食が出てきた。今日は上記のセッションがそれにあたり、おいしかったです!

インタラクティブ・コミュニケーション事例

imaginative社360°Snapというヴィダルサスーンのキャンペーンを行ったときの話。セッションの説明によると、「imaginative inc.でのWEBプロモーションなどのプロジェクトの企画から実装にいたるまでの過程や、どのような判断や根拠でプロジェクトを進めていくのかをこれまでの事例等を交えながら紹介します。」とのこと。
あまり、こういう場での話には慣れておられないようで、中身があったような無かったような。
苦労話。

Adobe made some noise! - Flashサウンド最新情報[FITC session]

このセッションは変更されていて別の型の「spaces」とかいう名前のセミナーに変わった。他のセッションも定員が一杯で変更がきかないとかいわれ、しょうがなく聞いた感じ。聞きたい話と違っていたので、自分のテンションはとても低い。逆に講演者のテンションが高くて、そのギャップにさらにテンションが下がってしまった。
そうなると同時通訳の人の言葉にすら違和感を持ち始め、特にPerlin Noiseを「パラノイズ」と言ってるのには閉口した。
やってることは面白そうなんだけどね。1時間の講演でRedBullを5本も飲んでた、37歳のスケーターでした。Tattooを体中に入れていて、もうno spaceと言ってたのが一番印象に残ってる。

プロフェッショナルのピクセル コントロール[FITC session]

Papervision3Dの中の人である、UnitZeroOneのRalph Hauwert氏の講演。rephlexというプロジェクトの話もあったのだけど、基本的に「常に制限はある。デモシーンなどがあったように、そこを乗り越えるのが面白い」ということで、自分的にノリは好きなのだが、話している内容からは特に得るモノは無く、敢えて見つけるとすれば、ハードに働く精神、ということだけかな。
一つ前のセミナーも同様だが、海外の講演者にありがちな、takeoutが無い系。

サービスとしてのFlash Lite開発

株式会社ORSOの安西氏による講演。DeviceCentralCS3の開発にも協力してたらしい。
ちょっとFlash Liteをかじったことのある自分に特に目新しい話はなかった。しかし、ケータイの画面解像度が上がってきて、そこでFlashベクターデータ表現はデータ容量的に有利になる、というのは、モバイルの表現を見直すきっかけになりそうだ。
FlashLite Playerのシェア率とかで、安西氏の体感数値を円グラフにしてきたのには参った。そんな適当なことでいいのかよ。ちなみにその数値は1.0が5%以下、1.1が20〜25%、2.0が45〜50%、3.0が20〜25%とかになってたけど、docomoは2.0出してないし、もっと1.1が多くて3.0が少ないんじゃないのかなー。
ユーザ毎に最適なユーザ体験を与えるためにどうすべきか?という話を展開していたのは面白かった。様々なswfを用意する、とか、動的に生成するとか、外部データを読み込むとか、それぞれのメリット/デメリットを技術的裏付けに基づいて発表されたのは良かった。例として、モバゲータウン内の「釣りゲータウン」やtittyというサービスを例に挙げて、仕組みを説明していた。
動的swf生成のツール自体には言及していなかったけど、あとから調べたらswfmillを使っているのかな?
最後にまとめとして「モバイルユーザのシーンを考えること」「ユーザが何を本当に望んでいるのかを考えること」を挙げたうえで、「ユーザのことを考えすぎるのもクリエイターとして問題かもしれない、とおっしゃってた。
スパイラル。

Technology Sneak Peek

セミナーが終った頃にロビーに夕食としてビュッフェが出来、アルコール類も出てきた。あっという間に長蛇の列できたのだが、そにに並び、皿に盛って食べて、飲んで、追加のビール持ってスペシャルイベントの会場に入る。
Technology Sneak Peekと題されたイベントではAdobeの中の人が最新技術を次々と発表し、会場の人が拍手で優劣を決める、というもの。一つめの発表は見逃したが、なかなか面白いモノが発表されていた。
入ったときに発表されていたのはContent Intelligence Toolkitというもので、かなりすごい!YouTubeアメリカのAdobe MAXで発表された様子が上がっていたのでリンクを貼っておきます。

他にもFlashPlayer10では、P2Pが可能だというのも知らなかった。RTMFPというプロトコルP2Pを可能にするプロトコルらしい。
知ってたら、そのセッション受けたのに〜。残念。MAXに来る前に何も知らなさすぎる、というのも問題だな。

帰宅

と、楽しかったのだが、風邪をひいてしまったぽく、2日目もあることなので早々と退散することにした。
(Day2のレポートはこちら

xml-modeへの要望

xyzzyxml-modeという便利なモードがある。
これを使うと、XML記述時に自動補完してくれたりして、タグの取りこぼしなどがなくなるのです。

開くときの問題

でも、UTF-8で保存したxmlファイルを開くとき、文字エンコーディングの判定を、自動判定にしているとうまく判定できていないみたい。
ということで、xmlファイルを開くときに、xmlタグのencoding属性を見て、読み込み時の文字エンコーディングを判定してくれるオプションが設定されたら、とてもうれしい。その逆は出来ている(保存時にencoding属性を見てる)ようなので、是非!
もしかして、自分の設定かXMLの形式が何かおかしいのだろうか?

自分で修正できたら

自分で修正できたら一番良いのだけど、Lispは何度も挫折してる…。

入門xyzzy

入門xyzzy

また立ち上がるべきか?

ヘッドフォン

壊れた!

AKGのK26Pというヘッドフォンを使っているのですが、そのイヤーパッド部分が壊れて、ついに本体から剥がれてしまった。
結構前に買ったモノで、一時期は使ってなかったのだけど、またあるときから使い始めてた。本来はポータブル用途のものなので長時間装着していると耳が痛くなってくるのですが、そのくらいになると聞きすぎなのかもしれない、というシグナルと受け取って使用している。
代替品を探す前に、このヘッドフォンはまだ売ってるのかな、と思いググってみたら、全く同様な症状になり、全く同様なことを考えてた人のブログエントリーを発見した。

この方は後継機種を買った後に、イヤーパッドのみの販売に気づいたらしい。ってか、そういうのあるの自分も知らなかったので、この記事を読まなかったら後継機種か別のヘッドフォンを探していることだろう。

イヤーパッドのみ購入!

ということで、このイヤーパッドのみ購入した次第。

ヨドバシ新宿西口本店で2100円。このイヤーパッドの上質感を味わっていたら満足できる値段なので、躊躇すること無く支払いました。
帰宅後、交換作業。説明書すら入っていないシンプルパッケージなのでちょっと不安だったのだけど、イヤーパッドは接着されていなかったので、手で引っ張れば外れ、装着もまたぐいぐいとねじ込めば作業完了。
おぉー!完全復活です!また、しばらくお世話になります、K26P!

それでも気になる後継機種

とか書いておいて、こんなこと書くのはアレなのだが、前述のブログエントリーの次の文章がとても気になる。

まだ実際に音を聞いてないのですが、ちょっと触った感じK26Pの強烈な締め付けが少し和らいでいる気がします。
僕はかなり頭のサイズが大きいほうなので、K26Pは長時間の装用に耐えなかったのですが、これならだいぶましなんじゃないかなという印象です。

AKG K26P臨終と後継機K414P - garbages

うー、この感じは試してみたいな〜。
特に最新のK450は欲しいかも!!

AKG 密閉型オンイヤーヘッドホン NAVY K450 NAVY【国内正規品】

AKG 密閉型オンイヤーヘッドホン NAVY K450 NAVY【国内正規品】