<div dir="ltr"><div dir="ltr">On Fri, Sep 11, 2020 at 8:11 AM Tony Garnock-Jones <<a href="mailto:tonyg@leastfixedpoint.com" target="_blank">tonyg@leastfixedpoint.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Vanessa,<br>
<br>
On 9/10/20 10:23 PM, Vanessa Freudenberg wrote:<br>
> Oh, exciting! Please record a multi-hand Etoys demo. Maybe like this:<br>
> <a href="https://youtu.be/gYrp31fH-Jk?t=56" rel="noreferrer" target="_blank">https://youtu.be/gYrp31fH-Jk?t=56</a><br>
<br>
Whoa, awesome! I didn't know this existed!<br>
<br>
I have questions!<br>
<br>
 - How much of that shift-to-get-other-colour-buttons support is still<br>
in the image? So far I haven't touched the default world menu bar, which<br>
is mildly inappropriate for small and/or multitouch devices.<br></blockquote><div><br></div><div>I never cleaned it up enough to make it into an official release.</div><div><br></div><div>I *may* have sent a changeset to some mailing list but my memory is really hazy. A lot has happened in the past 10 years 😅</div><div><br></div><div>... (searching) ...</div><div><br></div><div>Oh, found it, here, from 2010:</div><div><a href="http://lists.squeakfoundation.org/pipermail/vm-dev/2010-September/005364.html" target="_blank">http://lists.squeakfoundation.org/pipermail/vm-dev/2010-September/005364.html</a><br></div><div><br></div><div>And from Frank4iPad (2011), see attached two changesets. </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
 - What other ideas about mapping multitouch to Morphic interaction are<br>
out there I have missed and am in danger of reinventing?<br>
<br>
Also, I am intrigued by the idea of simply having each touch be mapped<br>
to a Hand. It seems like the obvious way to do things, on one level, but<br>
doesn't quite fit my fuzzy intuitions for how (multi-finger) gesture<br>
recognition might work on another level. So:<br>
</blockquote><div><br></div><div>Given that Morphic is one of the very few UI environments that supports multiple pointers out-of-the-box, mapping each finger to a hand seemed like the obvious thing to do to me.</div><div><br></div><div>Also, I had done it before - probably like 15 years ago I added Wacom tablet support to the unix vm, and in Morphic that got turned into a separate hand for each device (stylus, puck, mouse). The stylus "hand" even showed the stylus' rotation and tilt using a line and its shadow. <br></div><div><br></div><div>So for multi-touch I just did TSTTCPW and it did indeed work. But it never went anywhere, partly because of Apple's refusal to let Squeak into the app store, though mostly because my focus shifted elsewhere. Also, nobody else back in the day seemed interested enough to build on what I had shared.</div><div><br></div><div>Adding multi-touch + gestures to SqueakJS is on my idea list but I have not found the time yet. What I did implement is VM-side gestures for panning / zooming and right click (all using 2 fingers). Would love to have morph scale and rotation gestures too but that would require image-side support. However, with those VM gestures, SqueakJS is now quite usable on iPhones / iPads.</div><div><br></div><div>I do like the big "Cmd" button for two-handed interaction, and that could be implemented either in the image (see touchCmdMorph attached) or in the VM. For SqueakJS I'd do it in the VM because one goal for SqueakJS is to be able to run as many unmodified images as possible. But that means until I get around to implement it, there is no way to do "Cmd-p" using the keyboard like you saw in the iPad video. I can only invoke print-it using the menu.</div><div><br></div><div>In SqueakJS there is an explicit button for showing / hiding the keyboard. I always planned to add IMM plugin support to automate showing/hiding the keyboard but never got around to do it.</div><div><br></div><div><div>Another thought was to invoke the character recognizer that is still in the image. At some point its cmd-r key binding got re-used though, so I don't think there is a way to invoke it now.</div></div><div><br></div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
 - When you were working on this, did you have any thoughts about<br>
deficiencies of the Morphic model wrt multitouch/gestures/etc., and then<br>
did you have any ideas about what to change and how to change it?<br></blockquote><div></div></div><div><br></div><div>If I did, I don't recall those thoughts now.</div><div><br></div><div>Agreeing on a multi-touch event format for VM events would be a good step forward—the one John McIntosh did for the iOS VM is pretty much a 1-to-1 mapping of the iOS API. I'd prefer something more platform-neutral, like mimicking the Web's Pointer Event API  <a href="https://developer.mozilla.org/en-US/docs/Web/API/Pointer_events" target="_blank">https://developer.mozilla.org/en-US/docs/Web/API/Pointer_events</a> (or the Touch Events API, but I like the unified API for all kinds of pointing devices).</div><div><br></div><div>I'm excited you're working on this!</div><div><br></div><div>- Vanessa -</div></div></div>