<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>