Nebraska for pair programming

Lex Spoon lex at cc.gatech.edu
Mon Jun 30 22:21:22 UTC 2003


Brian Brown <rbb at techgame.net> wrote:
> 
> > You cannot both develop code due to some silliness in SystemWindow.
> > Maybe you can do it in MorphicWrappers.  But anyway, fixing SystemWindow
> > to accept keystrokes even when not "active" would be simple.
> >
> Would the world have to keep track of multiple "focus" points for this to 
> work?

The main issue is that there is only one active SystemWindow at a time. 
It should be extremely easy to have components of SystemWindows receive
mouse and keyboard events whether they are "active" or not.  Then people
could edit stuff in multiple browsers.  They still couldn't edit the
same chunk of text within a single browser, but this seems less
important.

There are better solutions that would take a few hours of work, most
likely:

	1. Allow one active window per hand, instead of one per image.  Don't
forget the case that multiple hands are using the same window, either. 
:)

	2. Remove the entire concept of "active window".  This is against the
religion, but I've never understood why.  Everything seems to be simpler
if you simply make "windows" interact the same as every other morph.





> > Finally, it would be pretty simple to adjust Nebraska so that the shared
> > world is large, just like in the original Kansas, so that multiple
> > developers can work in different parts of the screen.  I always meant
> > Nebraska to be a starting point, but everyone seems to be afraid to do
> > anything with it.  There is some decent (IMHO) documentation on the
> > Swiki for anyone who wants to do a project with it.
> >
> >
> The only problem we had in trying it was in moving windows around... the 
> window outline would get attached to the Server image hand and the client 
> would be essentially locked up until the Server hand clicked to drop the 
> morph.

Oh, just turn off the "fast drag windows" preference, and this should be
fine.  You *might* run into bandwidth problems, but at least the
behavior would be nice.

It always seemed like the "fast drag" preference could still have a
fairly fast implementation while not doing hackish things like drawing a
bounding box on Display.  But it's a lot harder to implement....


I'd love to hear how your experiences go!

Lex



More information about the Squeak-dev mailing list