<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>