<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Saito</provider_name><provider_url>https://saito.tech</provider_url><author_name>Richard Parris</author_name><author_url>https://saito.tech/author/richard/</author_url><title>Who is on-line on an open platform? - Saito</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="QPJmtXwigT"&gt;&lt;a href="https://saito.tech/who-is-on-line-on-an-open-platform/"&gt;Who is on-line on an open platform?&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://saito.tech/who-is-on-line-on-an-open-platform/embed/#?secret=QPJmtXwigT" width="600" height="338" title="&#x201C;Who is on-line on an open platform?&#x201D; &#x2014; Saito" data-secret="QPJmtXwigT" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;
/* &lt;![CDATA[ */
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&amp;&amp;d.addEventListener&amp;&amp;"undefined"!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i&lt;o.length;i++)o[i].style.display="none";for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute("style"),"height"===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):"link"===t.message&amp;&amp;(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
/* ]]&gt; */
&lt;/script&gt;
</html><thumbnail_url>https://saito.tech/wp-content/uploads/2022/05/geo-counter.jpg</thumbnail_url><thumbnail_width>750</thumbnail_width><thumbnail_height>300</thumbnail_height><description>We&#x2019;ve had a few requests lately for a &#x201C;who&#x2019;s online&#x201D; widget on the Saito Arcade. This is great as it shows more people are coming to the Arcade. It also tells us that our strategy of polishing the games is paying off &#x2013; attention is shifting from the games themselves to the process of finding opponents. A liveness widget is an interesting idea. It also raises a deeper strategic question. So, I thought a quick piece explaining what we are thinking in-house about the opponent-finding process might be useful for stimulating public debate. The Saito Arcade looks very much like [&hellip;]</description></oembed>
