<blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">You could send strings for function blocks that can later be eval-ed.<br>
But the eval itself might slow things down a lot. <br></blockquote>yep, also it&#39;s not recommended ( <a href="http://javascript.crockford.com/code.html">http://javascript.crockford.com/code.html</a>, look for &quot;eval is evil&quot;)<br>

<br><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">Some browsers serialise the JSON to<br>
string and then re-eval it, others send the actual object.<br></blockquote>afaik, ff takes the message and then converts it to JSON..<br><br><br><div class="gmail_quote">2009/8/26 Lucian Branescu <span dir="ltr">&lt;<a href="mailto:lucian.branescu@gmail.com">lucian.branescu@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">You could send strings for function blocks that can later be eval-ed.<br>
But the eval itself might slow things down a lot. You can also send<br>
JSON objects between workers. Some browsers serialise the JSON to<br>
string and then re-eval it, others send the actual object.<br>
<br>
About shared data, try to stay away from it anyway. Message passing is<br>
desirable most of the time.<br>
<br>
2009/8/25 Felipe López Toledo &lt;<a href="mailto:zer.subzero@gmail.com">zer.subzero@gmail.com</a>&gt;:<br>
<div><div></div><div class="h5">&gt; Hi<br>
&gt; in my early post I talked about<br>
&gt; canvas vs SVG (slide #28)<br>
&gt; why not processingJS? (slide #28)<br>
&gt; here some technical stuff:<br>
&gt; ---<br>
&gt; Browser Optimization (slide #29)<br>
&gt; Karma lessons must run under the XO-1.<br>
&gt; Default browser: Browse ( based on Gecko )<br>
&gt; Experimental: Surf ( based on webkit )<br>
&gt; No problem with html elements (div, img, ...)<br>
&gt; What about canvas content?<br>
&gt; Under a normal browser clearing and redrawing the canvas objects may not be<br>
&gt; a problem, but remember that the XO has not that kind of normal resources.<br>
&gt; We must use them efficiently.<br>
&gt; If we have no option, it&#39;s preferable to spend cpu than spend memory.<br>
&gt; We emphasize rendering speed over quality<br>
&gt; image-rendering / firefox 3.6 alpha<br>
&gt; webkit has nothing<br>
&gt; Quadrilaterals (<a href="http://karma.sugarlabs.org/quadrilaterals/" target="_blank">http://karma.sugarlabs.org/quadrilaterals/</a>)<br>
&gt; how does it work?<br>
&gt; 2 canvases<br>
&gt; the first for temporal drawing of the current line<br>
&gt; cleared and re drawn when &quot;mousemove&quot;<br>
&gt; the second has the drawn polygon, background, etc..<br>
&gt; Quadrilaterals under Browse has a severe lag problem (unusable)<br>
&gt; Quadrilaterals under Surf works nice<br>
&gt; Surf-106 is faster than Browse-102, should we use Webkit or Gecko?<br>
&gt; --<br>
&gt; Web Workers (slide #30)<br>
&gt; We tried to use web workers to handle animations: an animation core.<br>
&gt; The animation core would be running as a worker thread: doing the neccesary<br>
&gt; calculations for the animated objects and sending messages to the root<br>
&gt; document to manipulate (update) the neccesary html elements (canvas...)<br>
&gt; We try to combine actions with predictable behaviour.<br>
&gt; Problems:<br>
&gt; it&#39;s not possible to send functions as worker messages, so, it&#39;s hard to use<br>
&gt; callbacks.<br>
&gt; how to share memory (variables) between the root document and the worker<br>
&gt; thread without copying that data?<br>
&gt; --<br>
&gt; 2009/8/21 Christoph Derndorfer &lt;<a href="mailto:christoph.derndorfer@gmail.com">christoph.derndorfer@gmail.com</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; Hey guys,<br>
&gt;&gt; I basically agree with the points raised here so far and have a couple to<br>
&gt;&gt; add myself:<br>
&gt;&gt; slide #11: I would also mentioned that you had tried eToys/Squeak<br>
&gt;&gt; slide #24: I&#39;m not sure we agreed on each lesson having to include a<br>
&gt;&gt; tutorial and an exercise. Of course this is a good goal but the question is<br>
&gt;&gt; whether we should really make that a requirement?<br>
&gt;&gt; slide #32: &quot;i81n&quot;;-)<br>
&gt;&gt; slide #43: add link to Karma blog at <a href="http://karmaproject.wordpress.com/" target="_blank">http://karmaproject.wordpress.com/</a>,<br>
&gt;&gt; add at least one e-mail address for direct contact, add link to Sugar<br>
&gt;&gt; mailing-list (<a href="http://lists.sugarlabs.org/listinfo/sugar-devel" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a>)<br>
&gt;&gt; That&#39;s all I can think of for now...<br>
&gt;&gt; Christoph<br>
&gt;&gt; 2009/8/21 Felipe López Toledo &lt;<a href="mailto:zer.subzero@gmail.com">zer.subzero@gmail.com</a>&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Hi guys<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Joshua, Bryan has talked Christoph and me about you, thanks for writing<br>
&gt;&gt;&gt; :)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; * I would update the slide &quot;Nobody Wants to Help&quot;, to something like,<br>
&gt;&gt;&gt;&gt; &quot;Flash is a poor longterm solution.&quot; I would drop the claim &quot;Flash Devs<br>
&gt;&gt;&gt;&gt; don&#39;t like to share.&quot; I would<br>
&gt;&gt;&gt;&gt;   - Despite the great work of the free software community on projects<br>
&gt;&gt;&gt;&gt; like Gnash and the GameSWF library, there is very little in terms of sharing<br>
&gt;&gt;&gt;&gt; and collaboration of free software Flash projects.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; +1<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;   - There is no free software Flash development tool,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; mmm, I remember MTASC <a href="http://www.mtasc.org/" target="_blank">http://www.mtasc.org/</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; instead almost all Flash development is done through the proprietary<br>
&gt;&gt;&gt;&gt; software created by Macromedia.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; +1<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Bryan, really good draft, here some initial feedback:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 1. SVG vs canvas<br>
&gt;&gt;&gt; I used RaphalJS (<a href="http://raphaeljs.com/" target="_blank">http://raphaeljs.com/</a>) demos to test SVG animatios using<br>
&gt;&gt;&gt; Browse and Surf,<br>
&gt;&gt;&gt; results:<br>
&gt;&gt;&gt; under surf: the XO crashed several times :(<br>
&gt;&gt;&gt; under Browse: the animations look really good, but the performance is<br>
&gt;&gt;&gt; really bad (you will get a several lag when clicking something, etc...)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; canvas is low level so, canvas drawing is faster than SVG drawing.<br>
&gt;&gt;&gt; about manipulation, well, It&#39;s really easy to manipulate SVG Objects<br>
&gt;&gt;&gt; (everything you draw is an object) but canvas is just a box where you can<br>
&gt;&gt;&gt; draw, Karma provides (some of) that objects.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 2. why not processingjs?<br>
&gt;&gt;&gt; processingjs by default uses processing language, then if you want to use<br>
&gt;&gt;&gt; it you&#39;ll need to learn processing syntax... to support that syntax,<br>
&gt;&gt;&gt; processingjs uses a parser, so, it&#39;s slower than simple JS.<br>
&gt;&gt;&gt; in fact, you can use javascript to access processingjs objects, but.. the<br>
&gt;&gt;&gt; actual processingjs library is not designed to work under the XO, neither to<br>
&gt;&gt;&gt; work as a jQuery plugin.<br>
&gt;&gt;&gt; I think jresig doesn&#39;t encourage to use processing (syntax), he just take<br>
&gt;&gt;&gt; processing because processing was there (looking for the reference)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I will add more info on the technical stuff.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; regards<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Thu, Aug 20, 2009 at 7:57 PM, Joshua Gay &lt;<a href="mailto:jgay@ck12.org">jgay@ck12.org</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Bryan,<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; This is looking good so far. Here are some initial thoughts,<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; * It would be good to have a handout that puts all this info on a single<br>
&gt;&gt;&gt;&gt; double side sheet of paper (a suggestion taken from Edward Tufte&#39;s essay<br>
&gt;&gt;&gt;&gt; &quot;The Cognitive Style of Powerpoint) for people to read along with and to<br>
&gt;&gt;&gt;&gt; look at afterward.<br>
&gt;&gt;&gt;&gt; * I think overall it can be trimmed down abit when it is being pitched<br>
&gt;&gt;&gt;&gt; to specific groups (e.g., JS crowd).<br>
&gt;&gt;&gt;&gt; * I would update the slide &quot;Nobody Wants to Help&quot;, to something like,<br>
&gt;&gt;&gt;&gt; &quot;Flash is a poor longterm solution.&quot; I would drop the claim &quot;Flash Devs<br>
&gt;&gt;&gt;&gt; don&#39;t like to share.&quot; I would<br>
&gt;&gt;&gt;&gt;   - Despite the great work of the free software community on projects<br>
&gt;&gt;&gt;&gt; like Gnash and the GameSWF library, there is very little in terms of sharing<br>
&gt;&gt;&gt;&gt; and collaboration of free software Flash projects.<br>
&gt;&gt;&gt;&gt;   - There is no free software Flash development tool, instead almost all<br>
&gt;&gt;&gt;&gt; Flash development is done through the proprietary software created by<br>
&gt;&gt;&gt;&gt; Macromedia.<br>
&gt;&gt;&gt;&gt; * I would introduce some more lucid examples of the kinds of things you<br>
&gt;&gt;&gt;&gt; would like to use this library to create.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I had some other thoughts on the internationalization parts, too. I will<br>
&gt;&gt;&gt;&gt; try to respond later with them. The short of it is that I think the examples<br>
&gt;&gt;&gt;&gt; you gave me (in our phone call) about gettext being an overly-burdonsome<br>
&gt;&gt;&gt;&gt; approach for JS made a lot of sense and I think it would also help to<br>
&gt;&gt;&gt;&gt; explain that you are looking for the JS equivalent of gettext; kind of<br>
&gt;&gt;&gt;&gt; abstract this part away from your specific needs as an organization, and<br>
&gt;&gt;&gt;&gt; talk about how this could benefit projects in general.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; -Josh<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On Thu, Aug 20, 2009 at 12:51 PM, Bryan Berry &lt;<a href="mailto:bryan@olenepal.org">bryan@olenepal.org</a>&gt;<br>
&gt;&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; josh, kcd, subzero<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; 1st off, let me introduce Josh Gay, a js dev and free textbook guru. He<br>
&gt;&gt;&gt;&gt;&gt; is interested to make a presentation about karma to the JS devs group<br>
&gt;&gt;&gt;&gt;&gt; in<br>
&gt;&gt;&gt;&gt;&gt; Boston on Aug 27th.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; here is a more technically-oriented presentation for karma<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; It is long on introduction and short on technical details. Much of the<br>
&gt;&gt;&gt;&gt;&gt; first part could be cut out depending on the target audience. I made it<br>
&gt;&gt;&gt;&gt;&gt; longer and more general for my first draft.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; It lacks a lot of technical detail on what we need help w/ for<br>
&gt;&gt;&gt;&gt;&gt; animation, i18n, web workers, localstorage<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt;&gt; Bryan W. Berry<br>
&gt;&gt;&gt;&gt;&gt; Technology Director<br>
&gt;&gt;&gt;&gt;&gt; OLE Nepal, <a href="http://www.olenepal.org" target="_blank">http://www.olenepal.org</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; --<br>
&gt;&gt;&gt; Felipe López Toledo<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; Sugar-devel mailing list<br>
&gt;&gt;&gt; <a href="mailto:Sugar-devel@lists.sugarlabs.org">Sugar-devel@lists.sugarlabs.org</a><br>
&gt;&gt;&gt; <a href="http://lists.sugarlabs.org/listinfo/sugar-devel" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Christoph Derndorfer<br>
&gt;&gt; co-editor, olpcnews<br>
&gt;&gt; url: <a href="http://www.olpcnews.com" target="_blank">www.olpcnews.com</a><br>
&gt;&gt; e-mail: <a href="mailto:christoph@olpcnews.com">christoph@olpcnews.com</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Felipe López Toledo<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Sugar-devel mailing list<br>
&gt; <a href="mailto:Sugar-devel@lists.sugarlabs.org">Sugar-devel@lists.sugarlabs.org</a><br>
&gt; <a href="http://lists.sugarlabs.org/listinfo/sugar-devel" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Felipe López Toledo<br>