...and now with a GUI (Was: Re: less preliminary: p2p code that actually does something)

Cees de Groot cg at cdegroot.com
Wed Feb 23 22:49:30 UTC 2005


On Wed, 23 Feb 2005 01:02:48 +0100, I wrote:
> On Tue, 22 Feb 2005 01:31:03 +0100, I wrote:
>> The next step will be a demo app.
> Well, it's *almost* there. Just needs a user interface.
Gee. I'm good at keeping promises this week.

http://kilana.unibe.ch:8888/DGV

now sports a version of Tric-P2P Chat that comes with a user interface. I  
just tested it and it seems to work. I also wrote it that it *should*  
exercise most of the code below it - reliable and unreliable datagrams,  
flood searching, static and dynamic endpoint creation, etcetera.

To start it, download the package (it'll fetch some prerequisites,  
including ToolBuilder and the Morphic implementation of ToolBuilder - if  
you want the UI to work under Tweak or MVC, fetch the corresponding  
packages from http://kilana.unibe.ch:8888/ToolBuilder yourself), and type  
the magic incantation

TPCNode open

If you have an instance of AWGPeer running in your image, it'll be used,  
otherwise you are asked whether you want to start one (you do, otherwise  
the thing will refuse to start, but I thought it polite behaviour  
nevertheless). A UI is opened with a red 'Not Available' button - press it  
to make it green and show your developer initials; this means you're  
available for chat. The text field besides can be used to enter someone's  
developer initials (try 'CdG' during waking hours ;)) and on hitting  
enter, a flood search will be initiated to find someone that's available  
with these initials. If you get a positive response, a chat window will be  
opened, you can type in the lower pane and see the log in the upper pane.  
If someone searches for you, gets a chat window, and starts to type, you  
will get a notifier asking you whether you want to chat back. If yes, a  
chat window is opened, if no, the source gets a message to the effect that  
you declined.

Usability Issues I Don't Know How To Solve (not without a lot of digging):
- The logging windows don't scroll automagically. Logging sucks anyway  
with a text field, but it seems all that ToolBuilder has to offer at the  
moment;
- In the chat window, after opening it the text input field below should  
have the focus;
- The fact that I need a fat paragraph to describe how to use such a  
trivial app is a testament to the quality of the UI ;)

As usual, feedback welcome. Now that we have something usable, anyone  
interested in further work? Some generic p2p issues:
- Seed lists: creation, out-of-band distribution. There's no other way to  
get onto the network, I fear;
- Bandwidth management/monitoring;
- Monitoring of other stuff, including using the p2p net to retrieve data  
on the net's structure for analysis;
- etcetera.



More information about the Squeak-dev mailing list