<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Way up above the networksensor protocol is the concept of collaborate.  How can we effectively store and communicate collaborations?  Do they effectively store to a typical hierarchical file system, ala Git or Google Docs or do we need to create a new technology for collaborations? Might collaborations be “part of the network”?  What if you couldn’t work without someone to collaborate with?   Can a collaboration include parts of the physical world?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Christoph, you can add this as a comment to SP-ARK.  I think we need to develop some use cases or user stories for SP-ARK that involve collaboration if they are not already there:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Primary actions are Create, Delete, Change, Inspect,  Add, Remove, Move, Copy, Grant, Revoke.   Record Date/Time for all actions performed.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Create Collaboration</p><p class=MsoNormal>Create Object</p><p class=MsoNormal>Create Subject</p><p class=MsoNormal>Delete Collaboration</p><p class=MsoNormal>Delete Object</p><p class=MsoNormal>Delete Subject</p><p class=MsoNormal>Change Collaboration</p><p class=MsoNormal>Change Object</p><p class=MsoNormal>Change Subject</p><p class=MsoNormal>Inspect Collaboration</p><p class=MsoNormal>Inspect Object</p><p class=MsoNormal>Inspect Subject</p><p class=MsoNormal>Add Subject to Collaboration</p><p class=MsoNormal>Add Object to Collaboration</p><p class=MsoNormal>Add Collaboration to Collaboration</p><p class=MsoNormal>Remove Subject from Collaboration</p><p class=MsoNormal>Remove Object from Collaboration</p><p class=MsoNormal>Remove Collaboration from Collaboration</p><p class=MsoNormal>Move Subject to Location, Orientation in Collaboration</p><p class=MsoNormal>Move Object to Location, Orientation in Collaboration</p><p class=MsoNormal>Copy Object between Collaborations</p><p class=MsoNormal>Copy Collaboration between Collaborations</p><p class=MsoNormal>Move Collaboration to Location, Orientation in Collaboration</p><p class=MsoNormal>Grant access to “Collaboration, Object, Action” (key) to Subject</p><p class=MsoNormal>Revoke access to “Collaboration, Object, Action” from Subject</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So for pc.multiplayer, there are 3 collaborations, global tag, card game and chat, managed by a server.</p><p class=MsoNormal>Objects include location, card and message</p><p class=MsoNormal>Subjects are clients</p><p class=MsoNormal>There is no real collaboration, except the server is effectively a collaboration.  There is limited communication between servers.</p><p class=MsoNormal>No grant/revoke.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Collaboration might be thought of as a server, table, channel, room, or conversation all at once.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>More?  I believe if we implement this much for a network protocol for SP-ARK, we will have achieved quite a bit.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We should probably prototype with an easy to use protocol, that can be used from JavaScript, and “upgrade” to a more industrial protocol once we have the patterns down. That is, lower levels can be swapped out by vendors. Thus we need a “JPA-like (Hibernate)” level which unifies the persistence and communication.  I am thinking some object attributes can be annotated as persistent and/or communicateable.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>What do you view as the primary SP-ARK actions?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>