2daysで行ってきました、その時にメモった内容。
本当にメモですが。

特にAIRについては僕は全く知らなかったので初歩の初歩の箇所とかもメモってますのであしからず。


基調講演

webムービーの70%のプラットホームがFlash


H.264はムービースター(movie star)
1080pxでも配信可能


ビデオプレーヤー Adobe Media Player
・RSSフィードを読み込める
・ダウンロードも可能
・Yahoo!とかと提携
・ビデオの配信での収益だけではなく、広告の媒体としても
 収益が可能。


buzzwordはFlexで開発
・リッチインターフェース
・オンラインで同じドキュメントを他のユーザーと同期出来る。
・historyパネルでバージョンを戻せる(Subversionみたい)
・Flashでテキストの装飾等(Player 9はPlayer8の実行速度が10倍だから)

デスクトップアプリbuzzwordもある
・wordファイルも表示させる事が可能。
・ネイティブファイルも編集可能。
・(Officeは不必要?)
・Airで開発されている。

開発環境
・CS3 MasterCollection
・Flex Builder

buzzwordの開発会社を買収して、開発している


Air
クロスOSアプリケーション
共通のレンダリング
共通のDOMスクリプト
Air APIs
・ファイルシステムアクセス
・ネットワーク検知
・警告メッセージ
・アップデート
・ドラッグ&ドロップ
・ローカルデータベース(Beta1-)


DreamWeaver CS3
・Customer Manager(サンプル)
DW上でAirをプレビュー出来る。
Vcardのフォーマットをパースも出来る。
オンライン・オフラインで実行出来る。


Adobe Lab
Air 50万DL


Flex 3
・完全なプロファイラ
・インテリジェントなプログラミング環境
・より高度なデータビジュアライゼ—ションコンポーネント
・Flex フレームワークキャッシング

・メモリのパフォーマンスプロファイルをライブで観る事が可能
・クラスレベルでのメモリ、インスタンス数も取得可能
・methodがどこから実行されたとかもTraceできる
・メソッドをロールオーバーするだけどどのクラスのメソッドを
 観ているかサーチしてくれる。そのサーチ結果からクラスメソッドに
 ジャンプ出来る。
 ランゲージインテリジェンスで可能。
・メソッド名を変更するとライブにそのメソッドを使用している別クラスに
 記述しているメソッド名も変更される

2008年には出荷予定

Airのアプリケーション間でのドラッグ&ドロップが可能
コラボレートをする事が可能

音楽ファイル生成も可能。
Airは現状のブラウザ以上の表現・効果を産むことが可能になる。


アンソロポロジー?のAirアプリケーションサンプルはかなり魅力がある。

次世代のFlash コードネーム"Astro"

"Themo"デザインツール
psdファイルを読み込みデザインカンプとして表示される。
読み込まれたレイヤーをFlashでのRIAとして制作出来る。


NTTドコモ
マルチメディア
夏目剛
i-modeのほとんどがFlash
今日905i発表
オール3g


---------------------------------------------------------------------


ニコニコ動画とFLASH

ニコニコ動画のコンンセプトデザインから初期のリリースまでの開発を担当。
非公開の準備版の全システムを開発。

・非同期コミュニケーション
動画の時間に紐付けてコメント。


参加手段が多様
1.動画の投稿
・新規動画
・既存動画を加工
2.マイリスト登録
・ランキングへの影響
みんながいろんな形で参加
コンセンサスをとって整理する
ユーザーが現れる
3.タグ付け
・整理タグ
・ネタタグ
4.ニコニコ市場への商品紹介
・関連商品・ネタ商品
5.ネタ商品の購入
・購入数表示
6.コメント
・感想・字幕・突っ込み・指摘解説・参加・演出・空耳


ニコニコシリーズ
SMILEVIDEO
ニコニコ動画(モバイル)
ニコニコ市場

// 設計
命題
・動画アノテーションを普及させるために
 シンプルにデザインした。


Flashプレイヤー船体は952*540
動画は512*384
コメント入力

ニコスクリプトを開発中
エフェクトを作られる。

//プレーヤーの中身
AS2.0
SMILEVIDEOでOn2VP6を標準としているため、
Flashは8以上
動画とともに、コメントを同期再生
コメントの入力も管理

一つの動画に代表スレッドが一つ生成される

・スレッド
順次追記されるコメントの列を持っているデータ
それぞれ一つの動画IDが関連付けされている

動画コメントは投稿された時間の1秒前からインしてきて
投稿された時間の3秒後に消える。
弾幕モード
衝突回避のレイアウトを行った結果、画面内に収まりきらない場合
縦位置を乱数で決定

コメントの透明度
・先に書き込まれたコメントは半透明

最大滞在数
・30(超えそうになった場合は先にあるものから除去)
動画終端の調整
・動画の末尾付近のコメントは動画終端でちょうど終わるように補正
副作用として、対象範囲にコメントが30以上あると、最後が孤立した集団になる。

・メインのアクションは1フレーム目にひとつだけ
#include "ファイル名.as";

コメントの通信
・通信は、いわゆるComet(リアルタイム)では無い。

スレッドはCSV形式
カタログはDB(アクセスを極力減らす)
通信を最小限にする
ステートレス
Cookie未使用

開発体制
・Subversionのリポジトリ管理
・共同所有権
・ドキュメントはWiki

環境は個人に依存

// 同期さん
・開発からの同期
・デザイナーからの同期
・企画からの同期

//今後の展望
・現在も改良中
・AS3に移行?
・Flash Player9 UpdateのH.264対応


---------------------------------------------------------------------

+39さんのAS1、2のお話

//architect framework
・cairnoorm
・arp
・pixlib
// actionscript framework
・fusekit
・papervision3d
・flade
・casa

MVCの話し

JSON?
JSONの構造をしっかりしないと駄目。

設定ファイル
・初期定義ファイルを管理
・エイリアス設定ファイル
・ドキュメント設定ファイル

model =new com.max.Model();
var _tmp =model.getAlias("null");
showImage(_tmp.location);

引数(flashVars)との連携
データフォーマットはJSON
flashVarsにデータ構造で送れる。
var _params = {test:"hog"};
json.jsでストリング化

このドキュメントはAdobeのサイトで公開される予定。

// MovieClipの拡張するときによく使うmethod
open,close,show,hide,apper,vanish,remove


this.__proto__ =com.max.Ctrl.prototype;
com.max.Ctrl["apply"](this);
ifFlashVars = true;
loadConfig(_global.config,5);

modelはローカル変数にしても良いね。
僕はいつもコンストラクタで設定するなぁ。


---------------------------------------------------------------------


遠崎さん(ストリッパー)の映像のお話
HONDA CROSS ROAD
イラストぽいのは撮影→切り抜き→イラスト化
HONDA STEP WAGON
撮影2日、40人(役者役10人)
もちろん、撮影許可アリ
・企画と絵コンテを1セットにする
・撮影の準備が一番大事、監督はある程度のレベルで
 そこそこ出来る
・フィルムコミッション(全国都道府県にだいたいある)
 撮影場所の許可確認を出来る
最近もwebでXGAは必要、HDV位は必要
キャプチャ用に1、2TB位のHDD、RAID2にして5台並列とかしている
オフライン編集はPremire、オンライン編集はAfterEffect
AfterEffectで音とシンクとか色味補正
個別にムービーのフィルタをかけていって最後にメインの
ムービー用に貼付けて行く

・プライマートキラー?と言うプラグインで切り抜き+手でマスク作業

グリーンバックとかは撮影用のセットショップ
Urtraというアプリケーションで切り抜ける。
空素材を用意しておくと差分で切り抜きをしてくれる

やっぱりライブトレース便利(illustrator cs2以降?)

Adobe製品で書き出しPlayer8
SorensonはPlayer7
基本色味はSorensonだと変わってしまうのでAdobeで直接書き出し、On2VP。
けどPlayer7の場合だとブロックノイズが目立たないSorensonが有利?


---------------------------------------------------------------------


AIR開発手法

・Adobe AIRランタイム
・Adobe AIR update Beta 2
・AS3.0にAIR API
・パブリッシュプロファイルにAdobe AIR1.0
・クラスパスにAIR用ライブラリが登録される

FlashでのAIRのパブリッシュはAIR環境で実装される
jsflで新規ファイルでAIRバージョンに出来る→後日DLできるらしい

adl→air debug lantime?

ムービーのプレビューをするとキチンとtraceも出力される。
(デバッグモード)

Beta2からデジタル書面が必要(.pfx)。
効果:
・ベリサリンとか第三者が証明してくれる。
・エンドユーザーがDLするまでにAIRアプリケーションが改ざんされていない
 ことを証明する。

sessionにチェック入れるとFlashのパブリッシュ時には毎回パスワードを
入れる必要が無い。

airiは中間ファイル、デジタル書面が無い状態。
AIR制作者とデジタル書面の作者が違う場合に有効。


// application ' installer settings
file name:ファイル名
name:表示名/AIRファイル名
version:バージョン
id:固有ID
description:説明
copyright:コピーライト表記
window style:ウィンドウの形式
iconアイコンファイルの指定(PNG【レイヤーは一枚に統合、アルファでもオケ】)
・一枚だと128*128が妥当(普通は4サイズ作成)
use custom...:既存の設定を使う
アプリケーション記述ファイルパス
desital signature:デジタル書面
program menu folder:プログラムメニュー内のショートカット保存先(win)
destination folder:AIRファイルの保存先
include files:AIRファイルに含めるファイル/フォルダ(必須ファイルは自動ではいる)

// アプリケーション記述ファイル
早見表→http://gizmo.anthill.jp/fgug/modules/bwiki/


//ウィンドウの実装
flash.display.NativeWindow
AirのウィンドウはNativeWindowオブジェクト
NativeWindowを生成するとウィンドウ開く
メインウィンドウもNativeWindowオブジェクト→stage.nativeWindowでアクセス
Event.ACTIVE
Event.DEACTIVATEとか
img系のイベントはキャンセルする事が可能なイベント


stage.scaleMode = stageScaleMode.NO_SCALE;
stage.align = stageAlign.TOP_LEFT;


appWindow.close();
最後のウィンドwを閉じた時点でAirアプリも終了。
Shell.exit();を呼ぶ必要は無い。
これはShell.autoExitで調整可能?

_appWindow.minSize();でAirアプリの最小ウィンドウサイズを設定出来る。
preventDefault();でimgイベントの処理キャンセル出来る。

I/O
flash.filesystem.File、flash.filesystem.FileStream

beta2だとファイルピッカーを実行するとMacは落ちる

ファイルの読み書きはFileStreamオブジェクト
同期処理はopen()、非同期処理はopenAsync()

ファイルのオープンにはモードがある
FileMode.READ FileMode.WRITE FileMode.APPEND FileMode.UPDATE

データ形式に応じた様々な読み書き用メソッドあり
FileStream.readUTFBytes()などなど

ウィンドウの位置を保存する場合は
一度close()キャンセルして一度ファイルに書き込み後close()する
resolvePath() AIRアプリのフォルダからの相対パス
FileStream.bytesAvailable 入力領域のデータ全て取得
基本try {}catch{}でファイル読み書きする

クリップボード/どらっぐ&ドロップ
flash.desktop.Clipbard、flash.desktop.DragManager
OSのクリップボードにはClipboard.generalClipboardでアクセス

イニシエーター(クリップボードに貼付けるためのドラッグエリアのspriteオブジェクト)
ドラッグ→doDrag()
NativeDragEvent.NATIVE_DRAG_ENTER
ドロップ→acceptDragDrop()
NativeDragEvent.NATIVE_DRAG_DROP?
hasFormatでデータ型確認


HTMLコンテンツの利用
flash.html.HTMLControl
pdfもロード可能 adobe reader 8以降が必須
コンテンツのスクロールは自前で実装する必要あり


その他の主な機能
・ネイティブメニュー
・Dockアイコンメニュー/システムトレイアイコンメニュー/ポップアップメニュー
・組み込みデータベース
・OSとの強調
・サービスモニタリング
・アプリのアップデート(アップデートクラスで自動アップデートも出来る)

情報ソース
AIR Documentation
Flex 3 Language Reference
Adobe AIR Developer Center for Flash
the edge newsletter
上条さん
gihyo.jp:Adobe AIRで作るデスクトップアプリケーション
Flash Gadget User Group(FGUG)

---------------------------------------------------------------------


フィジカルコンピューティングへの招待
Gainer/Funnel

I/Oモジュール
AS2,3

I/Oモジュール+ブレッドボード+電子部品
構成を自由に出来る
入出力の設定をある程度自由に選択出来る
特定の目的のための構成も用意されている
マトリクスLEDの制御

v1.1.0 RC2をリリース


Funnel
Gainerはいわばシンプルなドライバ
疑似コード風のコーディング
入出力をより簡単に扱う為のフィルタ
ローパス、ハイパス

複数のI/Oモジュールに対応
Gainer
Arduino
Xbee
Funnel
言語
AS3
Processing
Ruby

ビルド001を昨日リリース
2007.12正式リリース


Funnel Serverを起動(Flash PlayerとI/0モジュールの橋渡し)

Comments
Post a comment









Remember personal info?