Welcome, Guest! Log In | Create Account

Desktop GUI - Broadcasting and sharing dialogs

From pyswarm

Jump to: navigation, search

End-users of pyswarm application have multiple ways to share information with colleagues and partners outside an organization. This may be sequential work on items according to some work-flow, task delegation, or sending messages and notes with links to objects inside (pyswarm://example.com:8090/myservice/myobject) to another user.

All of these can be considered as asynchronous collaboration. For synchronous collaboration on a particular domain object (or collection of domain objects), the end-user is able to broadcast an open dialog to another user or group of users. The user is even able to move input control temporarily to a viewer.

How-to:

  1. the end-user U1 can click on the dialogs Broadcast button
  2. U1 gets a list of all users that are currently signed on to the very same service (of that dialog)
  3. U1 selects one or more of these users as viewers (e.g. end-user U2)
  4. U2 and all other viewers are getting some notice from the sys-tray icon on the broadcast invitation
  5. U2 accepts broadcast invitation (or denies which would end this procedure)
  6. a copy of U1's dialog pop-ups at U2's Desktop GUI
  7. the user agent controller of the pyswarm service is duplicating all communication/interaction with the GUI of U1 regarding this dialog - for U2 this is read-only view for U2, though U2 gets all privileges of U1 necessary to see all the information in the dialog. (This is sand-boxed in the dialog!)
  8. whenever U1's broad-casted dialog is updated the user agent controller routes all update events to the copy of U2 and all other viewers
  9. U1 may decide to give U2 control over the dialog (U1's write privileges is transferred to U2 as soon as U1 accepts)
  10. Now roles between U1 and U2 are switched, whenever in U2's dialog events occur (e.g. U2 enters text, a list of objects are updated) the update is broad-casted to U1 and other viewers
  11. Even Transaction handling is re-routed to the sand-boxed dialog of U2 as if U1 would work on that transaction
  12. U2 can anytime quit viewing the dialog, so the full control would return back to U1
  13. However, U1 can take back control over the dialog at any time, see a list of all users currently viewing, and stop broad-casting to all users or particular users