<div dir="ltr">Hi,<br><br>Regarding inclusion of libraries such as Jquery, maybe we can let students create templates which we can save in their web folders. The objective is the following: As Tony mentioned, providing them with templates might not make them learn the basics, but essential parts of programming. For example, in my initial days of coding, I used Eclipse which started a new file in a nice template. During my first exam, I realized that I have forgotten the signature of the function main (the arguments type and number of arguments). Since then, for any new language that I pick up, I start from scratch. So what we can do is that students can create templates for shortcuts, but at least they would have some hands-on experience. This can then serve like what Sebastian mentions.<br><br>As for the performance, after we develop the tool, we can do a performance benchmark and publish the numbers for different libraries, and CSS functionalities. These numbers can also be used by other developers as the basis for their algorithms, and we can see how to improve on them and also study how they change as XO and Sugar evolves.<br><br>Thanks<br>Richa</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 10, 2015 at 5:05 PM, Tony Anderson <span dir="ltr"><<a href="mailto:tony_anderson@usa.net" target="_blank">tony_anderson@usa.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi, Sebastian<br>
<br>
I am using Zim Desktop Wiki to reformat the book into digestible lessons (actually done). This makes it all html. My plan is to put this on the school server so that a<br>
student can download a chapter to view locally while working on it. I added a button to the Browse toolbar that displays a Journal object chooser and then displays the selected Journal object  - a zip file which contains the web site in a compressed folder.<br>
<br>
I also provide a prerequisite course introducting the Terminal Activity and the nano editor. The model is that students would have a directory in /home/olpc/Documents named web. This directory would be used to hold thier web pages. At some point when they learn about links, they can set up a main page with links to the others. All<br>
of this is accessible from the Browse activity by file:///home/olpc/Documents/<u></u>web/index.html.<br>
<br>
The student should learn to add jquery by reference in the head of their web page. The actual js files can be downloaded from the school server (or installed with Sugar by usb stick). One problem with ide approaches is that it hides some of what we are trying to have the students learn. For example, I seriously considered using pippy to teach Python, but concluded that it would hide how to save Python programs, how to make them executable, and how to share them. In a course on making Sugar Activities, pippy can actually export the python code in a Sugar Activity wrapper, but what does the student learn about the construction of a Sugar Activity from that? I would rather they begin with the HelloWorld Activity.<br>
<br>
I have used a localhost for years with no problem. Since switching from Firefox to Webkit, I haven't been using it but primarily because I haven't tried to implement the features that required it. I am not sure it will be relevant at the intial web level. In any case, jquery did not cause any performance problems on an XO1.<br>
<br>
As regards Webkit, my concern is that in the Browse Activity it does not seem to support flexible boxes, the modern way to do web layout, and in many ways the key to reponsive web design.<span class="HOEnZb"><font color="#888888"><br>
<br>
Tony</font></span><div><div class="h5"><br>
<br>
On 03/10/2015 10:11 PM, Sebastian Silva wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
El 10/03/15 a las 04:58, Tony Anderson escibió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I am working on a course based on Pocket HTML<br>
(<a href="http://www.goer.org/HTML/" target="_blank">http://www.goer.org/HTML/</a>) which is available via CC. At the<br>
javascript level, I think Eloquent Javascript would be a good base and<br>
is also CC.<br>
</blockquote>
Hi Tony,<br>
<br>
This is wonderful. I have had my eye on that tutorial ever since I<br>
started to think about Web activities a long time ago.<br>
<br>
My first attempt at a Web Activity was called WebSDK and was an IDE for<br>
doing web apps [1].<br>
Those were old-style web apps, the ones that had a Python mini-server<br>
running in the background.<br>
I still consider this a good approach to access Python infrastructure<br>
from Javascript, but I'm not sure how (or if) the new Web API<br>
infrastructure has replaced this mechanism.<br>
<br>
I think, in any case, for a GSOC student working on dev tools for JS on<br>
Sugar, should consider the entire IDE scenario, not just the "fiddle"<br>
part. I.e. it should be possible to deploy a mini app (or content!) from<br>
this activity.<br>
<br>
About embedding JQuery and other libraries, I would favor a "Wizard"<br>
approach. I.E. a form that will allow you to have a basic project from a<br>
template (w/ or without optional toys such as Jquery). I like the<br>
hand-holding approach especially since low performance machines can't do<br>
multi-tasking very well (so looking up docs is not easy). Therefore a<br>
version of the JS tutorial that Tony referenced would be great to have<br>
embedded,  IMHO, or included somehow. (Tony do you have an offline copy?)<br>
<br>
In order to avoid slow pages on older machines, including XO, it should<br>
be super lightweight, i.e. utilizing as little CSS3, transformations,<br>
transparency, SVG rendering, and animation as possible. At least a<br>
couple of templates should be able to run on the XO1 without issues.<br>
Hopefully some profiling feedback would be shown inline during<br>
development (such as at least load time for the "fiddle").<br>
<br>
Also, there are wrappers for web activities for versions of Sugar that<br>
don't include the Web Activities framework. Maybe include those as<br>
options in the templates. Finally, a good editor goes a long way for a<br>
good development environment (I used Ace editor component and it ran<br>
well on XO1, back in the day).<br>
<br>
The way I think of this is that you should be able to develop something<br>
relatively basic without resorting to the Internet either for sensible<br>
libraries or their respective documentation. If done really well,<br>
perhaps we could even offer an alternative to Pippy and Develop?<br>
<br>
Finally, I don't think the Webkit or even old Firefox rendering engine<br>
are a severe limitation. It's not worse than targetting Internet<br>
Explorer 6 and most web developers had to do that only a couple of years<br>
ago. I suggest you download Firefox 3.6 (from like 10 years ago) as that<br>
is the rendering engine found on Sugar 0.94 and limit yourself by what<br>
it can do. I havben't looked for a reference browser for the Webkit1<br>
engines, except Browse itself. It would be good to find out what our<br>
current engine equivalent is and document it (along with more<br>
contributions) to <a href="http://developer.sugarlabs.org/" target="_blank">http://developer.sugarlabs.<u></u>org/</a><br>
<br>
Regards and good luck.<br>
<br>
[1] <a href="http://somosazucar.org/files/2011/07/WebSDK1.png" target="_blank">http://somosazucar.org/files/<u></u>2011/07/WebSDK1.png</a><br>
       <a href="http://somosazucar.org/files/2011/07/WebSDK2.png" target="_blank">http://somosazucar.org/files/<u></u>2011/07/WebSDK2.png</a><br></div></div>
.<br>
<br>
</blockquote>
<br>
</blockquote></div><br></div>