SeeThroughTalk

SeeThroughTalk
A new collaborative
programming environment
2003 Masashi Umezawa
Contents
• コンセプト
• デモ
• 今後の予定
• Q&A
• ※なおこのプロジェクトは平成15年度の
IPA未踏ソフトウェア創造事業の一環として行っているものです
• http://www.ipa.go.jp/NBP/15nendo/15mito/gaiyou/9-2.htm
• http://swiki.ddo.jp/SeeThroughTalk
Programming is fun
(especially in Smalltalk)
• プログラミングは楽しい(特にSmalltalk)
– なぜ?
• システムと人間とのダイナミックな関わり
– イマジネーションの増幅
• 創造的な思考を助ける
– 右脳と左脳の他に、新たに第三の脳(Smalltalk)脳を授
かったみたいだ
– しかーし…
Smalltalk image is a lonely
place
• Smalltalk のimage は孤独な空間
– イメージの共有はサポートされていない
• 他人との様々なアイデアの交換によって自分のアイデ
アも発展していくというのに…
– ブレイクスルーはしばしば少数の天才の集中的
な仕事によってもたらされるものだけど,
– そこに至るまでのチーム間の関わりをないがしろ
にしてはいけない
Traditional team
programming environment
• Software Configuration Management
System (SCM)
– CVS, SCCS, PVCS, etc.
– 結局のところ扱っているのは “source codes”,
not people
• 本当の“チーム” 開発ツールが欲しい
• プライベートな空間はきちんと維持しつつも、他のメ
ンバーとのダイナミックなやりとりをサポートする環境
“See Through” desktop
interface
• Overlapping windows → Overlapping desktops
• より自然な形で、他の開発者の仕事を眺めることができる
• 思い立ったらパートナーとのプログラミングセッションに入れ
る
Click!
What desktop translucency
represents:
• 他のメンバーとの ‘間’をサポート
– 関わりがあまりなければデスクトップは後退、
ぼんやりと表示される
– 密な関わりのあるときは、前面にデスクトップが
置かれる。はっきりと表示される
Avatar interface
• Avatar が視覚的に開発者の状況を示す
– 感情 – 快適, 眠い, 困っている など
– (システムに対する) 状態 – 接続している, ソースコード
がコンフリクトしている など
• コミュニケーションのオーバーヘッドを取り除く
not working
conflicting
Automatic sourcechanges propagation
• チェンジセットの統合は退屈な作業
• 各メンバーの加えた変更は即座に他のメンバーにも反映さ
れる
– マージの手間にいろいろと煩わされることもない!
– 時には危険なので、手動で伝搬をオフにできる
Demo
• デスクトップ共有
• リモートユーザとのやりとり
• 自動的な変更の伝搬
×
Kernel-Objects
Kernel-Classes
Kernel-Methods
Kernel-Processes
Kernel-Magnitudes
Kernel-Numbers
Application-Shared
SharedRepository
SharedTalk
SharedMessage
SharedEvent
printing
accessing
actions
initializing
printString
^self name, ' ', self creationDate
printString
#printString
here...
Oops!
Sorry...
What we have done…
• 新たなデスクトップ共有用のシステム
– モダンでモジュール化されたNebraska
• リモートへのデスクトップの表示
• マウスカーソルのリモートコントロール
– それぞれを独立で起動可能
• 基本的な変更伝搬のメカニズム
– ChangeSetに対するフックの実装
• ソースコードに対する変更がイベントとして飛ぶ
• Avatar morphs
– Plug-in可能なアニメーション
What we will do
• 「カテゴリ」の変更伝搬
– “SystemChangeNotification Package”を適用する必要がある
• 洗練されたavatar
– 今のところavatarのメニューは非常に煩雑
• スムーズで速い真の“SeeThrough”デスクトップ
– 表示のループ問題を解決する
– ダメージ領域の的確な計算
• リモートユーザを支援するためのさらなるGUIの開発
– チャット用のGUI (through avatars)
– “Monticello”とのインテグレーション?
Questions?