13
SeeThroughTalk A new collaborative programming environment 003 Masashi Umezawa

S eeThroughTalk A new collaborative programming environment 2003 Masashi Umezawa

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

SeeThroughTalk

A new collaborative programming environment

2003 Masashi Umezawa

Contents

• Main Concept• Demo• Future Plan• Q&A

Programming is fun (especially in Smalltalk)

• Smalltalk programming brings us a lot of fun– Why?

• Dynamic interactions with the system magnify our imagination

• A creative way of thinking• Like growing another brain in a machine

– But…

Smalltalk image is a lonely place

• Smalltalk image is too personalized– It does not support image sharing

• Developing ideas deeply relates to exchanging ideas

– Although great breakthroughs are often done by talented individuals’ intensive work,

– we should not underestimate the power of team interactions

Traditional team programming environment

• Software Configuration Management System (SCM)– CVS, SCCS, PVCS, etc.– It only focuses on “source codes”, not

people• We need a real “team” development

tool• It should support dynamic interactions

between other members, while keeping private working spaces

“See Through” desktop interface

• Overlapping windows → Overlapping desktops• People can see the activities of other members in

an easier manner• It enables on-demand interactive programming

sessions

Click!

What desktop translucency represents:

• It supports ‘Ma’ with other members.– If interactions are rare, the desktop will

be blurred– If there are frequent interactions,

desktop will appear clearly

Avatar interface

• Avatar visualizes each developers various states – User feelings - excited, sleepy, embarrassed,

etc.– User status – connected, causing conflicts of

sources, etc.• It naturally reduces communication overheads

not working conflicting

Automatic source-changes propagation

• Merging change-sets is a tedious work• Each member’s changes are instantly propagated to other

members– No need to merge things!– It is sometimes dangerous, so you can manually detach

the propagation

Demo• Desktop sharing• Interaction between remote users• Automatic change propagation

×Kernel-ObjectsKernel-ClassesKernel-MethodsKernel-ProcessesKernel-MagnitudesKernel-NumbersApplication-Shared

SharedRepositorySharedTalkSharedMessageSharedEvent

printStringprintingaccessingactionsinitializing

printString

^self name, ' ', self creationDate

#printStr ing

here...

Oops!

Sorry...

What we have done…

• New desktop sharing system– Modern, modularized version of Nebraska

• Remote desktop display• Remote cursor control

– Each can be used independently

• Basic change propagation mechanism– Hooks are added to ChangeSet

• Source changes are raised as events

• Avatar morph – Pluggable animation

What we will do

• Category-changes propagation– Need to adopt “SystemChangeNotification

Package”• More sophisticated avatar interface

– Currently, avatar’s pop-up menu is rather complicated

• True smooth, fast, “SeeThrough” desktop– Need to solve a “display-looping” problem– Optimization of processing damaged rectangles

• More GUIs for remote user sessions– Chat interfaces– Integration with “Monticello”?

Questions?