<div>Hi</div><div><br></div><div>in my early post I talked about </div><div><div>canvas vs SVG (slide #28) </div><div>why not processingJS? (slide #28)</div><div><br></div><div>here some technical stuff:</div><div>---</div>

<div>Browser Optimization (slide #29)</div><div><br></div><div>Karma lessons must run under the XO-1.</div><div><div>Default browser: Browse ( based on Gecko )</div><div>Experimental: Surf ( based on webkit )</div><div><br>

</div></div><div>No problem with html elements (div, img, ...)</div><div>What about canvas content?</div><div>Under a normal browser clearing and redrawing the canvas objects may not be a problem, but remember that the XO has not that kind of normal resources. We must use them efficiently.</div>

<div><br></div><div>If we have no option, it&#39;s preferable to spend cpu than spend memory.</div><div><br></div><div>We emphasize rendering speed over quality</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>image-rendering / firefox 3.6 alpha</div>

<div><span class="Apple-tab-span" style="white-space:pre">        </span>webkit has nothing</div><div><br></div><div>Quadrilaterals (<a href="http://karma.sugarlabs.org/quadrilaterals/">http://karma.sugarlabs.org/quadrilaterals/</a>)</div>

<div>how does it work?</div><div>2 canvases</div><div>the first for temporal drawing of the current line</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>cleared and re drawn when &quot;mousemove&quot;</div>

<div>the second has the drawn polygon, background, etc..</div><div><br></div><div>Quadrilaterals under Browse has a severe lag problem (unusable)</div><div>Quadrilaterals under Surf works nice</div><div><br></div><div>Surf-106 is faster than Browse-102, should we use Webkit or Gecko?</div>

<div><br></div><div>--</div><div>Web Workers (slide #30)</div><div>We tried to use web workers to handle animations: an animation core.</div><div><br></div><div>The animation core would be running as a worker thread: doing the neccesary calculations for the animated objects and sending messages to the root document to manipulate (update) the neccesary html elements (canvas...)</div>

<div><br></div><div>We try to combine actions with predictable behaviour.</div><div><br></div><div>Problems:</div><div>it&#39;s not possible to send functions as worker messages, so, it&#39;s hard to use callbacks.</div>
<div>
<br></div><div>how to share memory (variables) between the root document and the worker thread without copying that data?</div><div><br></div><div>--</div><br><div class="gmail_quote">2009/8/21 Christoph Derndorfer <span dir="ltr">&lt;<a href="mailto:christoph.derndorfer@gmail.com">christoph.derndorfer@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hey guys,<div><br></div><div>I basically agree with the points raised here so far and have a couple to add myself:</div>

<div><br></div><div>slide #11: I would also mentioned that you had tried eToys/Squeak</div><div>slide #24: I&#39;m not sure we agreed on each lesson having to include a tutorial and an exercise. Of course this is a good goal but the question is whether we should really make that a requirement?</div>


<div>slide #32: &quot;i81n&quot;;-)</div><div>slide #43: add link to Karma blog at <a href="http://karmaproject.wordpress.com/" target="_blank">http://karmaproject.wordpress.com/</a>, add at least one e-mail address for direct contact, add link to Sugar mailing-list (<a href="http://lists.sugarlabs.org/listinfo/sugar-devel" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a>)</div>


<div><br></div><div>That&#39;s all I can think of for now...</div><div><br></div><div>Christoph</div><div><br><div class="gmail_quote">2009/8/21 Felipe López Toledo <span dir="ltr">&lt;<a href="mailto:zer.subzero@gmail.com" target="_blank">zer.subzero@gmail.com</a>&gt;</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div></div><div class="h5">Hi guys<br><br>Joshua, Bryan has talked Christoph and me about you, thanks for writing :)<br>

<br><blockquote style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex" class="gmail_quote">


* I would update the slide &quot;Nobody Wants to Help&quot;, to something like,
&quot;Flash is a poor longterm solution.&quot; I would drop the claim &quot;Flash Devs
don&#39;t like to share.&quot; I would <br>
  - Despite the great work of the free software community on projects
like Gnash and the GameSWF library, there is very little in terms of
sharing and collaboration of free software Flash projects. </blockquote><div>+1 <br></div><blockquote style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex" class="gmail_quote"> 
- There is no free software Flash development tool, </blockquote><div>mmm, I remember MTASC <a href="http://www.mtasc.org/" target="_blank">http://www.mtasc.org/</a> <br></div><blockquote style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex" class="gmail_quote">




instead almost all
Flash development is done through the proprietary software created by
Macromedia.<br></blockquote>+1<br><br>Bryan, really good draft, here some initial feedback:<br><br>1. SVG vs canvas<br>I used RaphalJS (<a href="http://raphaeljs.com/" target="_blank">http://raphaeljs.com/</a>) demos to test SVG animatios using Browse and Surf, <br>




results: <br>under surf: the XO crashed several times :(<br>under Browse: the animations look really good, but the performance is really bad (you will get a several lag when clicking something, etc...)<br><br>canvas is low level so, canvas drawing is faster than SVG drawing.<br>




about manipulation, well, It&#39;s really easy to manipulate SVG Objects (everything you draw is an object) but canvas is just a box where you can draw, Karma provides (some of) that objects.<br><br>2. why not processingjs?<br>




processingjs by default uses processing language, then if you want to use it you&#39;ll need to learn processing syntax... to support that syntax, processingjs uses a parser, so, it&#39;s slower than simple JS.<br>in fact, you can use javascript to access processingjs objects, but.. the actual processingjs library is not designed to work under the XO, neither to work as a jQuery plugin.<br>




I think jresig doesn&#39;t encourage to use processing (syntax), he just take processing because processing was there (looking for the reference)<br><br>I will add more info on the technical stuff.<br><br>regards<br><br>



<div class="gmail_quote"><div>
On Thu, Aug 20, 2009 at 7:57 PM, Joshua Gay <span dir="ltr">&lt;<a href="mailto:jgay@ck12.org" target="_blank">jgay@ck12.org</a>&gt;</span> wrote:<br>
</div><blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex"><div>Bryan, <br><br>This is looking good so far. Here are some initial thoughts, <br>
<br>* It would be good to have a handout that puts all this info on a single double side sheet of paper (a suggestion taken from Edward Tufte&#39;s essay &quot;The Cognitive Style of Powerpoint) for people to read along with and to look at afterward. <br>






* I think overall it can be trimmed down abit when it is being pitched to specific groups (e.g., JS crowd). <br></div>* I would update the slide &quot;Nobody Wants to Help&quot;, to something like, &quot;Flash is a poor longterm solution.&quot; I would drop the claim &quot;Flash Devs don&#39;t like to share.&quot; I would <br>






  - Despite the great work of the free software community on projects like Gnash and the GameSWF library, there is very little in terms of sharing and collaboration of free software Flash projects. <br>  - There is no free software Flash development tool, instead almost all Flash development is done through the proprietary software created by Macromedia. <br>






* I would introduce some more lucid examples of the kinds of things you would like to use this library to create. <br><div><br><br>I had some other thoughts on the internationalization parts, too. I will try to respond later with them. The short of it is that I think the examples you gave me (in our phone call) about gettext being an overly-burdonsome approach for JS made a lot of sense and I think it would also help to explain that you are looking for the JS equivalent of gettext; kind of abstract this part away from your specific needs as an organization, and talk about how this could benefit projects in general. <br>






<br>-Josh <br></div><div><div></div><div><div><div></div><div><br><div class="gmail_quote">On Thu, Aug 20, 2009 at 12:51 PM, Bryan Berry <span dir="ltr">&lt;<a href="mailto:bryan@olenepal.org" target="_blank">bryan@olenepal.org</a>&gt;</span> wrote:<br>





<blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">
josh, kcd, subzero<br>
<br>
1st off, let me introduce Josh Gay, a js dev and free textbook guru. He<br>
is interested to make a presentation about karma to the JS devs group in<br>
Boston on Aug 27th.<br>
<br>
here is a more technically-oriented presentation for karma<br>
<br>
It is long on introduction and short on technical details. Much of the<br>
first part could be cut out depending on the target audience. I made it<br>
longer and more general for my first draft.<br>
<br>
It lacks a lot of technical detail on what we need help w/ for<br>
animation, i18n, web workers, localstorage<br>
<font color="#888888"><br>
--<br>
Bryan W. Berry<br>
Technology Director<br>
OLE Nepal, <a href="http://www.olenepal.org" target="_blank">http://www.olenepal.org</a><br>
</font></blockquote></div><br>
</div></div></div></div></blockquote></div><br><br clear="all"><br>-- <br><font color="#888888">Felipe López Toledo<br>
</font><br></div></div>_______________________________________________<br>
Sugar-devel mailing list<br>
<a href="mailto:Sugar-devel@lists.sugarlabs.org" target="_blank">Sugar-devel@lists.sugarlabs.org</a><br>
<a href="http://lists.sugarlabs.org/listinfo/sugar-devel" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Christoph Derndorfer<br>co-editor, olpcnews<br>url: <a href="http://www.olpcnews.com" target="_blank">www.olpcnews.com</a><br>e-mail: <a href="mailto:christoph@olpcnews.com" target="_blank">christoph@olpcnews.com</a><br>



</div>
</blockquote></div><br><br clear="all"><br>-- <br>Felipe López Toledo<br>
</div>