The term "workspace" refers to a collection of collaborative objects, composed in a WYSIWIS view
- Presentation: The initial implementation will use Internal Frames rather than the whiteboard
- DesktopPane/Internal frames
- Avoid problems with command and focus ambiguity by giving each component its own menu bar enforcing a notion of the "active" component (will wysiwis layering cause problems?)
- Supports iconified components, allowing component loading to be deferred
- but is slow...
- Whiteboard
- Supports annotation and decoration of components
- Has well-defined web-view semantics (i.e., whiteboards are rendered as clickable images)
- Might better support scripting?
- Awareness
- Per-workspace user list could be provided using the same mechanism used in chats and conferenced objects
- Per-component awareness information could be provided by the user label at the bottom of each window. This could be updated based on internal frame activation and de-activation (rather than window open/close, as in the case for external windows) to show how many people were "in" an object.
- Telepointer support could be implemented in a glass pane on top of the desktop pane.
- WYSWIS issues
- Should window layering (z-pos, in addition to x, y, width, height) be kept consistent? Probably not, since this would cause problems for focus.
- There will undoubtedly be cases where window positioning syncing will be annoying, so there should be an option to open individual components in separate windows outside of the workspace.
- Component window configuration
- Component bounds can be stored as properties in the EmbeddedObjectDescriptor (along with name, etc...)
- Should there be a way to make object immovable, unresizable, and/or uniconifyable?
- Content management (moving objects into and out of a workspace)
- Could just use WebSite, allow things to be moved in from tree view?
- Allow drop onto desktop pane?
- Have "move/copy/link in/out" menu items? (along with rename?)
- Have option to view contents as a directory/tree?
- Web representation
- Could just default to WebSite web representation options: a specific object, the first object, or a directory listing. This would allow "more interesting" representation to be plugged in as invented.
- Raises question: Why not treat all WebSites as Workspaces?
- Should make WorkspaceCV assume only ObjectRecordList
- Could add "Open as collaborative workspace" button to WebSite CV
|