Random thoughts about how to make a collaborative geoweb tool using open standards
We are currently investigating mapbuilder as our client layer - the problem being we're using a portal/portlet environment so we've had to tweak the code in places and we're still trying to prevent a restart on redraw/reload of the page.
The collaborative stuff will involve each user of the client having the option to view what areas other users are viewing (sort of an extended reference map with multiple rectangles on it) or the ability to sync to another user and "follow" their view of the map. In the first case it is a simple(?) thing to have a map which displays rectangles that are received as GeoRSS (I think we just need to modify one of mapbuilders examples). The second is more complex but I don't think its insurmountable I think it just needs an extension of the current zoom/pan controls.
The other step is to modify/facade geoserver so that each wms/wfs request generates a GeoRSS item that other clients can monitor, it needs to do some basic user tracking (so we know who looked where) and then extract the bbox of the request. Ultimately we're looking to output the actual feature that was added/changed/deleted by a transaction on the WFS.
We're also looking at converting other data into GeoRSS (for example ARPS) and will be looking at writing a GeoRSS datasource for geotools - It remains to be seen if it's a write as well as read datastore.