<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hi Stephen,<br>
    <br>
    <blockquote
      cite="mid:C4379E80-C7E0-45C0-93D2-B31EBB9BE9CA@heaveneverywhere.com"
      type="cite">Thank you friends, for your responses.
      <div><br>
      </div>
      <div>I’ve started porting Siren to Cuis, and there’s quite a bit
        of work to do before I get to the GUI (schedulers, audio/MIDI
        I/O, etc.).</div>
      <div><br>
      </div>
      <div>stp<br>
        <div> <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>
                                            <div>
                                              <div>
                                                <div><span><span><span><span><span><span><span><span><span><span><span><span><span><span>
                                                          <div> <br>
                                                          -- </div>
                                                          <div><br>
                                                          </div>
                                                          <div>         
                                                                   
                                                          Stephen Travis
                                                          Pope   Ojai,
                                                          California,
                                                          USA    </div>
                                                          </span></span></span></span></span></span></span></span></span></span></span></span></span></span></div>
                                              </div>
                                            </div>
                                          </span><span>
                                            <div><span><span><span> </span></span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><img
moz-do-not-send="true"
                                                          src="cid:55B397C7-3D20-4E60-A051-4564245235A7@sd.cox.net"></span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span> 
                                                                 </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><a
moz-do-not-send="true" href="http://HeavenEverywhere.com">http://HeavenEverywhere.com</a><span> 
                                                                </span><a
moz-do-not-send="true" href="http://FASTLabInc.com">http://FASTLabInc.com</a></span>
                                                          <div><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>
                                                                       
                                                                    <span><a
moz-do-not-send="true" href="https://vimeo.com/user19434036/videos">https://vimeo.com/user19434036/videos</a> 
                                                              </span> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
                                                          <span><a
                                                          moz-do-not-send="true"
href="http://heaveneverywhere.com/Reflections">http://heaveneverywhere.com/Reflections</a></span>
                                                          </div>
                                                          <div><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>
                                                          <div><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>
                                                          <div><span><br>
                                                          </span></div>
                                                          <div><span>--</span></div>
                                                          <div><span><br>
                                                          </span></div>
                                                          </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div>
                                                          </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div>
                                                          </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div>
                                          </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div>
      </div>
    </blockquote>
    <br>
    This is just great! Count on the Cuis community for any help we can
    provide.<br>
    <br>
    Cheers,<br>
    <br>
    <blockquote
      cite="mid:C4379E80-C7E0-45C0-93D2-B31EBB9BE9CA@heaveneverywhere.com"
      type="cite">
      <div>
        <div><br>
          <blockquote type="cite">
            <div>On Apr 22, 2022, at 3:56 AM, Hilaire Fernandes via
              Cuis-dev <<a moz-do-not-send="true"
                href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>>
              wrote:</div>
            <br>
            <div>
              <div>
                <div>Hi Stephen!<br>
                </div>
                <div><br>
                </div>
                <div>Le 21/04/2022 à 20:00, stephen--- via Cuis-dev a
                  écrit :<br>
                </div>
                <blockquote type="cite"
                  cite="mid:212DC432-7D11-4F45-829D-8F579C43A0CA@heaveneverywhere.com">
                  <div>Yeah, I’m still tracking Cuis, and loving the
                    lack of bloat.</div>
                </blockquote>
                <p>Indeed. Cuis is very agile to improve itself while
                  remaining an understandable system for an human being.
                  This is the reason I am porting DrGeo from Pharo to
                  Cuis, I am close to the end of the effort.<br>
                </p>
                <blockquote type="cite"
                  cite="mid:212DC432-7D11-4F45-829D-8F579C43A0CA@heaveneverywhere.com">
                  <div>My issues with Morphic are that it’s not MVC and
                    it’s not well-designed.</div>
                </blockquote>
                <p>Morphic on Cuis (aka Morphic 3)  is a redesign from
                  the basement to the attic. It is a better design than
                  the original Morphic 2 system on Squeak. Two salient
                  aspects: its coordinate system is relative to each
                  morph, its classes are simpler. I did not even
                  mentioned VectorGrpahic, okay I just did.<br>
                </p>
                <blockquote type="cite"
                  cite="mid:212DC432-7D11-4F45-829D-8F579C43A0CA@heaveneverywhere.com">
                  <div>First, views and controllers are merged, which
                    hurts reusability of components and hinders the
                    development of new interaction methods like
                    multi-touch screens or voice input.</div>
                </blockquote>
                <p>Oh, but you can move out the controllers from the
                  Morphic view. This is what I am doing. I am not an
                  expert on MVC so please correct me if I miss some key
                  point. In DrGeo the controls of the mathematic items
                  are done outside of their respective Morphic view.</p>
                <p>Regarding the more traditional GUI part, we are using
                  pluggable Morphs composed with the Cuis' Layout
                  system. It is interestingly reusable. I am also
                  interested in the new interaction methods you
                  mentioned.<br>
                </p>
                <p>I don't see blocking point preventing you from using
                  Morph with a MVC design.<br>
                </p>
                <blockquote type="cite"
                  cite="mid:212DC432-7D11-4F45-829D-8F579C43A0CA@heaveneverywhere.com">
                  <div><br>
                  </div>
                  <div>Second, the base classes (Morph et al.) are
                    pretty heavy-weight; Morph has 6 instance variables,
                    and you’re up to 10 or more by the </div>
                </blockquote>
                <p>Cuis is very agile and, if I understand correctly the
                  policy of its community, is prone to deep refactoring
                  if it improves Cuis simplicity and efficiency. And
                  these are not empty words, a few weeks ago, Cuis Morph
                  system has been through an important design in the
                  classes hierarchy. The classes were not exactly
                  shortened but split, joined, renamed for a better
                  understanding
                  (<a moz-do-not-send="true"
href="https://lists.cuis.st/mailman/archives/cuis-dev/2021-December/004649.html">https://lists.cuis.st/mailman/archives/cuis-dev/2021-December/004649.html</a>).<br>
                </p>
                <p>Your need for smaller Morph, if you decided to jump
                  in Cuis to port your software, will be also an
                  opportunity for the Cuis community to improve the
                  system in this particular area.</p>
                <p>Regarding your comment, there are 5 instance
                  variables in Morph 'owner submorphs properties id
                  privateDisplayBounds'. Next, this is all you need for
                  the view of your music notation system. You see, we
                  had these discussion several months ago for DrGeo as I
                  also want the simpler Morph as possible. In DrGeo the
                  view of the mathematics models (point, segment, etc.)
                  are almost direct subclasses of Morph:<br>
                </p>
                <p><span><Capture%20d%E2%80%99%C3%A9cran%20de%202022-04-22%2012-37-36.png></span></p>
                <p><br>
                </p>
                <p>Now while observing the Morph class, there is a lot
                  of stuff in there I don't need for the DrGeo math
                  morph. It should be doable to have a KernelMorph with
                  only the instance variables 'owner id
                  privateDisplayBounds' and the reduced ad-hoc
                  behaviors. That is something that may interest you
                  too.<br>
                </p>
                <br>
                <blockquote type="cite"
                  cite="mid:212DC432-7D11-4F45-829D-8F579C43A0CA@heaveneverywhere.com">
                  <div>time you get to the interesting classes.  This
                    makes it hell on the garbage collector for complex
                    UIs (like music notation) where you might have
                    thousands of display objects on the screen, and want
                    to scroll or page quickly.</div>
                </blockquote>
                <p>As a matter of fact, you can observe this video until
                  the end. There are 10'000 points (10'000 Morph
                  drawings, each of two lines) and the canvas is
                  zoomed/unzoomed, an object is dragged around.<br>
                </p>
                <p><a moz-do-not-send="true"
                    href="https://twitter.com/GNUDrGeo/status/1515365208428007426">https://twitter.com/GNUDrGeo/status/1515365208428007426</a><br>
                </p>
                <p>Your software and mine are sharing the same concept
                  of canvas where you are composing music notation and I
                  math objects.</p>
                <p>Nevertheless, porting to any system, will be a
                  substantial effort. But I guess you know that.<br>
                </p>
                <p>If you decided to jump in and use Morph, I will be
                  happy to help you, in tips and code.</p>
                <p>About Brick I don't know yet.<br>
                </p>
                <p>Hilaire<br>
                </p>
                <pre>-- 
GNU Dr. Geo
<a moz-do-not-send="true" href="http://drgeo.eu/">http://drgeo.eu</a>
<a moz-do-not-send="true" href="http://blog.drgeo.eu/">http://blog.drgeo.eu</a></pre>
              </div>
              -- <br>
              Cuis-dev mailing list<br>
              <a moz-do-not-send="true"
                href="mailto:Cuis-dev@lists.cuis.st">Cuis-dev@lists.cuis.st</a><br>
              <a class="moz-txt-link-freetext" href="https://lists.cuis.st/mailman/listinfo/cuis-dev">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
      <pre wrap=""></pre>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Juan Vuletich
<a class="moz-txt-link-abbreviated" href="http://www.cuis-smalltalk.org">www.cuis-smalltalk.org</a>
<a class="moz-txt-link-freetext" href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a>
<a class="moz-txt-link-freetext" href="https://github.com/jvuletich">https://github.com/jvuletich</a>
<a class="moz-txt-link-freetext" href="https://www.linkedin.com/in/juan-vuletich-75611b3">https://www.linkedin.com/in/juan-vuletich-75611b3</a>
<a class="moz-txt-link-freetext" href="https://independent.academia.edu/JuanVuletich">https://independent.academia.edu/JuanVuletich</a>
<a class="moz-txt-link-freetext" href="https://www.researchgate.net/profile/Juan-Vuletich">https://www.researchgate.net/profile/Juan-Vuletich</a>
<a class="moz-txt-link-freetext" href="https://patents.justia.com/inventor/juan-manuel-vuletich">https://patents.justia.com/inventor/juan-manuel-vuletich</a>
<a class="moz-txt-link-freetext" href="https://twitter.com/JuanVuletich">https://twitter.com/JuanVuletich</a></pre>
  </body>
</html>