<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Alejandro García <br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Generally, I believe you first need to
      know how to do something several times before deciding to
      automate. In that case, the question is whether the automation
      will be used enough to justify the implementation time and effort
      and whether the automation will make the process enough faster and
      easier to be worthwhile. Being inherently lazy, I love the idea of
      software which makes my life easier. However, most often I have
      spent more time implementing the solution than it would have cost
      to do the job directly.</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Would you be willing to spend some time
      working on some of these critical problems directly? You are
      pointing to serious issues which at the moment are not being
      handled by Sugar_Devel. The following is a list off the top of my
      head of open issues. Some of these can be handled directly and
      simply. Others such as the activity.info issue may take some
      development effort. <br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Collaboration is considered an
      important capability for an activity. How many activities now
      support collaboration. How many use Collabwrapper? How many of
      these are suitable for porting to Colllabwrapper? <br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">How many activities in ASLO are based
      on pygames. As I understand it, upgrade to gtk3 depends on using
      pygames with olpcgames. This is currently done with only one
      activity (Simulate Activity). How many activities depend on
      pygames? What is required to use olpcgames with pygames? Is a
      special gtk3 compatible version of pygames required? <br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">How many activities in ASLO are not yet
      ported to GTK3? In general any activity in ASLO which does not
      have a github repository. However, there are activities in github
      which have not been converted (and some attempted conversions). <br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">The sound in Block Party is not working
      because of an incorrect use of C-Sound. Are there any other
      activities affected? What is required to fix the problem?</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">The Bridge activity fails because of
      its use of Box2D. How many activities depend on Box2D? What is the
      required version of Box2D and what is required to interface to it?</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">There are some activities which depend
      on Java runtime. The Java-1 activity is intended as a 'shim' but
      is not capable. How should Java be installed as a possibly
      optional sugar tool so that it can be used by any activity that
      needs it?</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">There are activities that still use
      deprecated parameter names in activity.info. The solution is to
      put a warning in the log outpu of that activity. How hare would it
      be to prepare a script that fixed the property names in all
      activities in ASLO? This one involves small changes to many
      activities so some means acceptable to James Cameron will be
      needed to make these changes to the activities in ASLO (and in
      gitHub). Putting the changes in the form of a Pull Request by
      script may be prohibitive.  <br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">There are activities that still use
      hulahop although that has been gone since 0.98. Which activiteis
      have this problem and is there a common way to upgrade to WebKit?
      (Note: this means these activities have not been available to our
      users for years!). <br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">There are activities which fail because
      of a dependency on vte. How many and what is the issue that causes
      them to fail?</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">As always, the first step in solving a
      problem is to identify it. Solution space should be avoided until
      this is done. I don't have enough information to believe that
      development of a general software tool is the most effective way
      forward. <br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">One exception may be to develop an
      automated means to test the suite of activities in a specific
      execution environment. From what I have seen, what might be
      practical is a Bash or Python script which downloads via Browse
      each activity in turn, executes it, and determines whether the
      activity started or failed to start, and then erases it. In many
      cases, regression with new releases results from changes in the
      dependencies. Often they cause the activity to fail to start. <br>
    </div>
    <div class="moz-cite-prefix">Detecting this outcome may be
      facilitated by a change to Sugar which causes a specific signal
      when an activity fails to start that the script can use. A more
      complicated step may be to mine the logs to report the problem
      encountered. This is of lower priority since the number of failed
      activities should be small and consulting the logs is not
      difficult. <br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">There is a lot of work to be done and
      much of it of immediate, direct and significant value to our user
      community. <br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Tony</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">On 2/16/19 2:27 AM, Alejandro García
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CALLpJakwSeiBdw-oL58sh6hnnU_rHBd7uaft8x9y2cMQ2L_QqQ@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="auto">
        <div>I want to reduce the impact of an update of a third party
          in all the activities, avoiding the need of change each
          activity when it happens. </div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">Examples of what I want to avoid are the
          activities that were updated from gtk2 to gtk3 and those that
          still need to be updated.<br>
          <br>
          <br>
          <div class="gmail_quote" dir="auto">
            <div dir="ltr">On Mon, Feb 11, 2019, 11:28 PM James Cameron
              <<a href="mailto:quozl@laptop.org" target="_blank"
                rel="noreferrer" moz-do-not-send="true">quozl@laptop.org</a>
              wrote:<br>
            </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon,
              Feb 11, 2019 at 10:04:02PM -0600, Alejandro García wrote:<br>
              > Let's discard the adapter/shim (main goal is to
              reduce the dependency). <br>
              > <br>
              > Isn't there anything that we can do to reduce the
              dependency. Especially with<br>
              > Gtk.<br>
              <br>
              What problem are you trying to solve by reducing the
              dependencies?<br>
              <br>
              > Why aren't CollabWrapper and SugarGame very common
              between activities?<br>
              > Especially CollabWrapper.<br>
              <br>
              Too few maintainers, and no requirement.<br>
              <br>
              CollabWrapper is not required where an activity does not
              support<br>
              collaboration.<br>
              <br>
              SugarGame is not required where an activity does not use
              Pygame.<br>
              <br>
              > If CollabWrapper is simple, why not expanding it?<br>
              <br>
              I don't understand your question, sorry.<br>
              <br>
              > On Sun, Feb 10, 2019, 10:42 PM James Cameron <[1]<a
                href="mailto:quozl@laptop.org" rel="noreferrer
                noreferrer" target="_blank" moz-do-not-send="true">quozl@laptop.org</a>
              wrote:<br>
              > <br>
              >     On Sun, Feb 10, 2019 at 08:19:03PM -0600,
              Alejandro García wrote:<br>
              >     > I was thinking something like calling a
              GtkAdapter.Label(...) instead of<br>
              >     > Gtk.Label (...), or a
              WebKitAdapter.emit_signal (...) instead of<br>
              >     > WebKit2.emit_signal (...). <br>
              >     ><br>
              >     > Are these examples more clear of what I'm
              trying to say? <br>
              > <br>
              >     Another word for this is a shim.  An abstraction
              that only exists to<br>
              >     hide version dependencies.<br>
              > <br>
              >     We have an example of a WebKit API verson
              independence shim in Sugar, see<br>
              > <br>
              >     [2]<a
                href="https://github.com/sugarlabs/sugar/tree/master/src/jarabe/view"
                rel="noreferrer noreferrer noreferrer" target="_blank"
                moz-do-not-send="true">https://github.com/sugarlabs/sugar/tree/master/src/jarabe/view</a><br>
              > <br>
              >     viewhelp_webkit1.py is the shim for WebKit.<br>
              > <br>
              >     viewhelp_webkit2.py is the shim for WebKit2.<br>
              > <br>
              >     viewhelp.py choses which of the shims to use.<br>
              > <br>
              >     A disadvantage of shims is huge increase in the
              number of lines of<br>
              >     code to be maintained.<br>
              > <br>
              >     We cannot use a shim for GTK 2 and GTK 3
              independence, because at the<br>
              >     same time the binding moved from static to
              introspection; PyGObject.<br>
              > <br>
              >     > The CollabWrapper and SugarGame projects are
              closer to what I'm<br>
              >     > trying to say.  But not the SugarToolkit, as
              it creates some<br>
              >     > widgets, but if the developer needs more, he
              will use the Gtk<br>
              >     > library directly.<br>
              > <br>
              >     Okay.  But to proceed with this idea, you must
              identify a clear<br>
              >     benefit to cover the maintenance cost of adding
              the shim.<br>
              > <br>
              >     Long term, CollabWrapper could be added to the
              Toolkit, as it has no<br>
              >     additional dependencies.<br>
              > <br>
              >     Sugargame cannot be added without creating a
              dependency for Pygame,<br>
              >     which is something that has been resisted for
              some time; Pygame<br>
              >     activities often do not adapt well to screen
              rotation and different<br>
              >     display sizes.<br>
              > <br>
              >     --<br>
              >     James Cameron<br>
              >     [3]<a href="http://quozl.netrek.org/"
                rel="noreferrer noreferrer noreferrer" target="_blank"
                moz-do-not-send="true">http://quozl.netrek.org/</a><br>
              >     _______________________________________________<br>
              >     Sugar-devel mailing list<br>
              >     [4]<a
                href="mailto:Sugar-devel@lists.sugarlabs.org"
                rel="noreferrer noreferrer" target="_blank"
                moz-do-not-send="true">Sugar-devel@lists.sugarlabs.org</a><br>
              >     [5]<a
                href="http://lists.sugarlabs.org/listinfo/sugar-devel"
                rel="noreferrer noreferrer noreferrer" target="_blank"
                moz-do-not-send="true">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
              > <br>
              > References:<br>
              > <br>
              > [1] mailto:<a href="mailto:quozl@laptop.org"
                rel="noreferrer noreferrer" target="_blank"
                moz-do-not-send="true">quozl@laptop.org</a><br>
              > [2] <a
                href="https://github.com/sugarlabs/sugar/tree/master/src/jarabe/view"
                rel="noreferrer noreferrer noreferrer" target="_blank"
                moz-do-not-send="true">https://github.com/sugarlabs/sugar/tree/master/src/jarabe/view</a><br>
              > [3] <a href="http://quozl.netrek.org/"
                rel="noreferrer noreferrer noreferrer" target="_blank"
                moz-do-not-send="true">http://quozl.netrek.org/</a><br>
              > [4] mailto:<a
                href="mailto:Sugar-devel@lists.sugarlabs.org"
                rel="noreferrer noreferrer" target="_blank"
                moz-do-not-send="true">Sugar-devel@lists.sugarlabs.org</a><br>
              > [5] <a
                href="http://lists.sugarlabs.org/listinfo/sugar-devel"
                rel="noreferrer noreferrer noreferrer" target="_blank"
                moz-do-not-send="true">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
              <br>
              > _______________________________________________<br>
              > Sugar-devel mailing list<br>
              > <a href="mailto:Sugar-devel@lists.sugarlabs.org"
                rel="noreferrer noreferrer" target="_blank"
                moz-do-not-send="true">Sugar-devel@lists.sugarlabs.org</a><br>
              > <a
                href="http://lists.sugarlabs.org/listinfo/sugar-devel"
                rel="noreferrer noreferrer noreferrer" target="_blank"
                moz-do-not-send="true">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
              <br>
              <br>
              -- <br>
              James Cameron<br>
              <a href="http://quozl.netrek.org/" rel="noreferrer
                noreferrer noreferrer" target="_blank"
                moz-do-not-send="true">http://quozl.netrek.org/</a><br>
            </blockquote>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
Sugar-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Sugar-devel@lists.sugarlabs.org">Sugar-devel@lists.sugarlabs.org</a>
<a class="moz-txt-link-freetext" href="http://lists.sugarlabs.org/listinfo/sugar-devel">http://lists.sugarlabs.org/listinfo/sugar-devel</a>
</pre>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>