Screenshot

Here is a screenshot of build 260. It shows files being shared in a group and several users (just pretend they are all online). The user is about to give one of his files to another user. There are still a few GUI elements that need work, but mostly its finished. I’ve started working on the Thesis paper and in parallel ill be working on point to point pipes for file transfer. Enjoy the screenshot.

I found the Presence Service Bug

I found the Presence Service bug! It only took 3 days. I spent the first 1/2 day exercising my bug hunting powers in earnest. All this revealed was that the bug could be anywhere and it would be wise to eliminate some of its hiding places.

First I rewrote the Buddy List view and model so that it used the domain classes directly. This caused me to rethink and refactor some things in the domain, particularly consolidating the source of all Presence events into the MindshareGroup class. Its nice to have events that start at the actual source of the event, Its also nice to have them aggregated at one location so listeners don’t have to register with 4 different object.

After all this work the bug was still manifesting itself. I should have had more confidence in my existing display code. Once the display and network components were eliminated it was easy to find the bug in the controller. This prompted more refactoring to consolidate controller function into the Member Registry to avoid this happening again.

As a side bonus the groups now have a nice icon in the buddy list. I also learned allot about TreeModels and TreeModelEvents, things I will need for the group share work. Also the Buddy List display should be easier to modify when the back end is inevitably changed. Not a total wast of time but still no forward progress.

I’ve posted a new version with the changes.

Quick Interim Release

This is a quick release. Not much new functionality. The major changes are to JXTA and the way UI components are loaded. This release features JXTA 2.3 RC1. The UI has been changed so that GUI panels are created on demand when a view is requested rather. Each view is a unique set of components now, instead or recycling the same components for all views. This trades a small amount of memory usage for decreased startup times and views that maintain their look between uses. The UI has been generally brushed up to look more modern. Work continues on the Group Sharing view.

Buddy List’s and the Group Share

Right now I’m working on some improvements to the buddy list. In the past the buddy list couldn’t remember who the members of the group were between invocations of the software. Im fixing that now as well as adding some new features. You’ll be able to have a different identity in each group you join. You will also be able to log in with the same invitation file from multiple locations. With multiple location login you will still only show up in the everyones buddy list once. The join group and create group dialogs will undergo some change so you can specify your desired name and an e-mail address when you join a group.

All of this is being done so I can have a suitable test driver for the Group Share. The Group Share is actually the main focus of this project. To get it working I need to verify that all Group Share operations work on a single computer in simulation before i go sending things across a network. So for testing you will be able to click on a user in the buddy list and ‘become’  them. You can manipulate the Group Share as if you were that person instead of yourself. You’ll get to see how the concept works without the network in the way.

When the Buddy list work is finished ill do a release.  When the Group Share testing has been implemented I’ll do a release for testing. People can shake this stuff down and find all the bugs in the back end before the network is in the way.