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.