<html xmlns:v="urn:schemas-microsoft-com:vml" 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 12 (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;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 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;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink="#954F72">

<div class=Section1>

<p class=MsoNormal><span style='color:#1F497D'>John, While a "proper"
NetworkSensor implementation on the client side may not currently be possible, the
specification remains a little too incomplete to make much advances on the
counter-part server side and the server-to-server communication that will need
to occur as well. For obvious reasons, both the client and server sides should preferably
be developed concurrently, but in the absence of such best-case-scenario opportunity,
I'd continue to advocate looking at possible solutions that would fit with the
current and future 3D-in-the-web-browser schemes. May it have a different approach
under a different name, perhaps a subset of NetworkSensor, but in any case, 3D
scenes, objects and avatars need to have the ability to communicate and exchange
data between clients.  <o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>Having said that, I take Don's
point about the difficulties inherent to modifying schemas in real-time. The
funny thing  is, I was always under the impression that this was precisely one
of the advantages of moving to XML encoding.  Can you say 'cognitive
dissonance'? The price you pay for not paying attention for too long, or maybe
there is something I am missing. Luckily, I don't have that issue with Classic
VRML, which I use at the MU client's core, and typically inline X3D assets on
top of that. Javascript and WebSockets is what I was planning on using to build
a Web browser based MU client, tough I was really hoping for a solid X3D standard,
but now that you mention AJAX, I feel we're somewhat getting closer… though the
risks are very high as I was saying. Also thanks for the s-expressions tip.
Cheerz<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'> <o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> John Carlson
[mailto:yottzumm@gmail.com] <br>
<b>Sent:</b> Wednesday, February 27, 2019 10:43 PM<br>
<b>To:</b> info@3dnetproductions.com; x3d-public@web3d.org<br>
<b>Subject:</b> RE: [x3d-public] Multiplayer strategies<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>No, we should not renew the networking group with the
current proposal.  From the website:<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span style='font-size:13.5pt;font-family:"Times New Roman","serif";
color:black'>“Because the NetworkSensor node allows definition of new fields by
name, a proper implementation requires native X3D-player support and a full
Prototype-based implementation is not possible.</span>”<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>I talked to Don about this last night, and
extending/modifying the schema or X3DUOM in real-time seems like a no-go, but I
would wait for a python or JavaScript profile that contains it.  The
quoted phrase is kind of politically phrased.  Java, C, C# and C++ can do
it, you have to extend them through dynamic linking or class loading at
runtime.  You can get object systems for them (Amulet for C++ comes to
mind, <a
href="https://www.cs.cmu.edu/afs/cs/project/amulet/www/amulet-home.html">https://www.cs.cmu.edu/afs/cs/project/amulet/www/amulet-home.html</a>),
but it’s been more acceptable to use firmly defined data structures (despite
PROTO existing). My suggestion to Don was that we want to add, change or delete
schema nodes and schema fields in real-time.   Getting several hosts
to do this together in realtime may be difficult.<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>It seems that changing the schema in real time is not
acceptable to this universe. Changing the schema (nodes, especially grouping
node changes)  is what breaks X3D-Big-Bang. You have to dang start all
over again creating test cases. Or filter through all your test-cases to
determine which ones are no longer legal (even though there may not be any).<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>If you really want to do it in Java, I have a suggestion,
add a new jar into Java at runtime (yes I’ve done this, you can pay me for
details, a 12-pack of ginger ale will do, but I can’t promise you it will work
in the newer versions of Java). Don wouldn’t accept my “patch” to do this, so
it’s no longer free.<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Let’s do dynamic semantics? Ever play a game with changing
rules (dang that sounds interesting to program on the computer)?  There’s
nothing new under the sun said a book that doesn’t change. Is there a new
edition of the universe?<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Once you accept a schema changer into the standard, the
standard falls apart, period.  If you want your own schema without
learning XML Schema, we are developing tools for that.  See X3DUOM and
associated projects. “Define your own X3DJSAIL extensions”  We’ll have to
have versioned Java classes, I guess.<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Again, session.io (WebSockets),  DIS or AJAX, take your
pick.  DIS seems like it’s the best thing for Native Client, and the
JavaScript and WebSockets solutions are best for the web.  Websockets
hint: <a href="https://hackernoon.com/scaling-websockets-9a31497af051">https://hackernoon.com/scaling-websockets-9a31497af051</a> 
I doubt if session.io will scale (we had problems with 2 clients in a space
game), so you’re frankly left with AJAX and websockets.  There was this: <a
href="https://en.wikipedia.org/wiki/Project_Darkstar">https://en.wikipedia.org/wiki/Project_Darkstar</a>
(written in Java, server side, now known as reddwarf server).<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Why can’t we add a bunch of SFStrings to an MFStrings to do
networking?<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>John “s-expressions are the bomb, xml and json are toy
squirt guns caused by C and UNIX” Carlson<o:p></o:p></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>>What is needed is a
decentralized array of MU servers operating in VR zones. I've thought about
adapting the X3Daemon server to X3DOM and/or WebGL to do just that, and it
should work great. But the issue is, once we start doing this, and anyone at
large can connect to a server in the array, then the potential for data stream
coding errors, hack attempts and mischief would go off the chart. That leads us
back to good old NetworkSensor, which should have clearly defined
specifications, standards, format, protocol and parameters about what can pass
through it. Servers could then filter the traffic content to ensure compliance
before accepting and responding to network requests.  Unfortunately, that
area of X3D development seems to have stalled years ago. The mailing list (link
below) is silent except for the monthly reminders. Maybe this would be a good
time to revive the working group.  GL<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>><a
href="http://www.web3d.org/x3d/content/examples/Basic/Networking/NetworkSensorConnectionNodes.html">http://www.web3d.org/x3d/content/examples/Basic/Networking/NetworkSensorConnectionNodes.html</a><o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>><a
href="http://web3d.org/mailman/options/x3d-networking_web3d.org/">http://web3d.org/mailman/options/x3d-networking_web3d.org/</a><o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> x3d-public
[mailto:x3d-public-bounces@web3d.org] <b>On Behalf Of </b>Christoph Valentin<br>
<b>Sent:</b> Tuesday, February 26, 2019 2:30 PM<br>
<b>To:</b> Albert Jan Wonnink; x3d-public@web3d.org<br>
<b>Subject:</b> Re: [x3d-public] Multiplayer strategies<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p> </o:p></p>

<div>

<p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Hi
Albert.<br>
<br>
I agree to all of these and I would like to add the requirement for MU capable,
simulated and/or animated interactive models like cars, helicopters and so on
in addition to avatars, where models should be reusable in all multiuser
scenes.<br>
<br>
My 2c<br>
<br>
Christoph <br>
-- <br>
Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Am
26.02.19, 18:43, Albert Jan Wonnink <awonnink@hotmail.com> schrieb:<o:p></o:p></span></p>

<p class=MsoNormal>I think one has to consider extensions that we might need in
the near future, like having the same personal avatar (or even a real time
point cloud based look-alike model) that can be used on every multiplayer 3d
website. These should also work when overlaying the real world with a virtual
one (AR).<o:p></o:p></p>

<p> <o:p></o:p></p>

<p class=MsoNormal>It seems to me that cloud based services will be needed to
do the synchronization of these avatars, moving objects and chat on a web
location.<o:p></o:p></p>

<p> <o:p></o:p></p>

<p class=MsoNormal>To accomplish this, one could allow the website owner to
specify the ‘synchronization provider’ url in their pages, that should work
with a specified public protocol for these synchronizations.<o:p></o:p></p>

<p> <o:p></o:p></p>

<p class=MsoNormal>Of course the protocol should also provide functionality for
private meetings.<o:p></o:p></p>

<p> <o:p></o:p></p>

<p class=MsoNormal>Albert Jan<o:p></o:p></p>

<p> <o:p></o:p></p>

<p class=MsoNormal>Sent from <a
href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10<o:p></o:p></p>

<p> <o:p></o:p></p>

</div>

<p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'>_______________________________________________
x3d-public mailing list x3d-public@web3d.org
http://web3d.org/mailman/listinfo/x3d-public_web3d.org <o:p></o:p></span></p>

<p class=MsoNormal><o:p> </o:p></p>

</div>

</body>

</html>