Spoon progress 30 January 2006: the initial Naiad user interface design

Craig Latta craig at netjam.org
Mon Jan 30 23:45:35 UTC 2006


	Just a few notes about the current user interface for Naiad, Spoon's 
module system. Comments welcome (keep in mind that Matt Hamrick is 
working on security aspects, and I don't address them here).

	At the moment I'm about to perform the first HTTP-instigated 
synchronization of two object memories. The idea is...

-	The user starts a minimal Spoon system on localhost via a web browser 
(e.g., the 2003 "relief" demo, if you remember that).

-	That local Spoon system starts a webserver.

-	The user's web browser is redirected to the local Spoon's webserver; 
the user is greeted with a message saying that Spoon is running locally.

-	The user visits some other external website that lists available 
modules. Such a website has a bunch of URLs of the form 
"http://localhost:<port>/<command>", where <port> is some agreed-upon 
port on which each local Spoon web server listens, and <command> is a 
text-encoded bitstream that the local Spoon webserver understands.

	One of the commands is "load a module"; included in bits of such a 
command are the module ID (a UUID) and provider hostname/port for an 
available module. The local Spoon system, having received the command, 
makes a remote-message-sending connection to the providing machine, and 
synchronizes itself with a providing object memory. Initially the local 
Spoon system reports on the success of the command via its web server's 
responses; later, after the appropriate UI modules are loaded, it can 
just provide feedback with a normal GUI in its own separate host window.

	(There are other URL-delivered commands for quitting, making a 
snapshot, viewing currently-installed modules, etc.)



Craig Latta
improvisational musical informaticist
Smalltalkers do: [:it | All with: Class, (And love: it)]

More information about the Squeak-dev mailing list