[Sugar-devel] GSoC 2015: Interactive JavaScript Shell

Tony Anderson tony_anderson at usa.net
Tue Mar 10 20:05:28 EDT 2015


Hi, Sebastian

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

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
of this is accessible from the Browse activity by 
file:///home/olpc/Documents/web/index.html.

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.

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.

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.

Tony

On 03/10/2015 10:11 PM, Sebastian Silva wrote:
> El 10/03/15 a las 04:58, Tony Anderson escibió:
>> I am working on a course based on Pocket HTML
>> (http://www.goer.org/HTML/) which is available via CC. At the
>> javascript level, I think Eloquent Javascript would be a good base and
>> is also CC.
> Hi Tony,
>
> This is wonderful. I have had my eye on that tutorial ever since I
> started to think about Web activities a long time ago.
>
> My first attempt at a Web Activity was called WebSDK and was an IDE for
> doing web apps [1].
> Those were old-style web apps, the ones that had a Python mini-server
> running in the background.
> I still consider this a good approach to access Python infrastructure
> from Javascript, but I'm not sure how (or if) the new Web API
> infrastructure has replaced this mechanism.
>
> I think, in any case, for a GSOC student working on dev tools for JS on
> Sugar, should consider the entire IDE scenario, not just the "fiddle"
> part. I.e. it should be possible to deploy a mini app (or content!) from
> this activity.
>
> About embedding JQuery and other libraries, I would favor a "Wizard"
> approach. I.E. a form that will allow you to have a basic project from a
> template (w/ or without optional toys such as Jquery). I like the
> hand-holding approach especially since low performance machines can't do
> multi-tasking very well (so looking up docs is not easy). Therefore a
> version of the JS tutorial that Tony referenced would be great to have
> embedded,  IMHO, or included somehow. (Tony do you have an offline copy?)
>
> In order to avoid slow pages on older machines, including XO, it should
> be super lightweight, i.e. utilizing as little CSS3, transformations,
> transparency, SVG rendering, and animation as possible. At least a
> couple of templates should be able to run on the XO1 without issues.
> Hopefully some profiling feedback would be shown inline during
> development (such as at least load time for the "fiddle").
>
> Also, there are wrappers for web activities for versions of Sugar that
> don't include the Web Activities framework. Maybe include those as
> options in the templates. Finally, a good editor goes a long way for a
> good development environment (I used Ace editor component and it ran
> well on XO1, back in the day).
>
> The way I think of this is that you should be able to develop something
> relatively basic without resorting to the Internet either for sensible
> libraries or their respective documentation. If done really well,
> perhaps we could even offer an alternative to Pippy and Develop?
>
> Finally, I don't think the Webkit or even old Firefox rendering engine
> are a severe limitation. It's not worse than targetting Internet
> Explorer 6 and most web developers had to do that only a couple of years
> ago. I suggest you download Firefox 3.6 (from like 10 years ago) as that
> is the rendering engine found on Sugar 0.94 and limit yourself by what
> it can do. I havben't looked for a reference browser for the Webkit1
> engines, except Browse itself. It would be good to find out what our
> current engine equivalent is and document it (along with more
> contributions) to http://developer.sugarlabs.org/
>
> Regards and good luck.
>
> [1] http://somosazucar.org/files/2011/07/WebSDK1.png
>        http://somosazucar.org/files/2011/07/WebSDK2.png
> .
>



More information about the Sugar-devel mailing list