s eethroughtalk a new collaborative programming environment 2003 masashi umezawa
Post on 19-Dec-2015
215 views
TRANSCRIPT
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”?