Re: [Sugar-devel] GSoC 2015: Interactive JavaScript Shell

2015-03-10 Thread Tony Anderson

Hi, Sam

At this point, I am not sure how jquery would help. At the moment I lean 
to making jsfiddler a link from the Browse Activity home page. That home 
page resides at /home/olpc/.library_pages as I recall. So adding this 
capability should not require any modification to Browse or to the Sugar 
build.


Could you walk Richa through the GitHub process? I have no experience 
with the GSOC and so don't know if they have a prescribed way to do this 
or not.


My goal is to encourage learning of web technology with level 1 being 
HTML and CSS and level 2, Javascript. The TurtleBlocks strategy does not 
seem to help achieve either of these objectives. I am concerned that 
SugarLabs and the community really has no model on how to move students 
from block programming to text programming. For example, Python has a 
'turtle' module which could be imported to a Python program. Maybe this 
is a transition technique. At any rate, the immediate focus is HTML.


My intent is to support the XO with the Browse Activity (Webkit). I 
realize the community is busy developing an HTML5 alternative to Python, 
but that seems a long way from realistic deployment. It also seems 
unnecessary for this project since all of these tools work in any 
browser.  Trying to adapt to a touch screen environment without a 
keyboard seems unconnected to the need to support the XO. It certainly 
could be a second generation project.


The sad reality is that the verision of Webkit installed in Browse 
doesn't really support responsive web techniques which we should want 
learners to know and use. It may be necessary to install FIrefox on the 
Gnome side to provide modern css tools.


I think your ideas on challenge based learning are on target. This is 
what I had in mind for the Web Confusion project. One that appears 
relevant is the
Wikiversity Web Design Challenges 
(https://en.wikiversity.org/wiki/Web_Design/Web_design_challenges). 
However, these projects appear beyond the immediate reach of our 
deployments. One reality is that few of our users have access to the 
internet and therefore have not been exposed to the range of web design 
techniques that we experience every day.


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.


Tony

On 03/10/2015 05:01 PM, Sam P. wrote:

Hi Richa,

As for hosting code, the convention is to start a GitHub project for 
each activity - even those in the work in progress stage/.


/
I am confused by your choice to not use any libraries since the code 
must be run offline.  It is 100% possible to download the jQuery 
javascript and put it in a libs folder.  You can then use this instead 
of using a CDN link.  Sugar web activities can have thousands of files 
without making it harder for users to download and install.

/
/
I think your current progress illustrates that there will not be 
massive technical challenges in a jsfiddle like activity.  However, 
there are going to be design challenges. Here are my ideas for what 
you could peruse


* Constructionist (exploration/play based) learning: TurtleBlocks 
provides a good example of how we can put the 
functions/things-to-be-memorized into a block palette and then it is 
more accessible by users.  We could possibly create a palette of 
HTML/CSS/JS templates/blocks for the users to drag into their code and 
explore.  Please check out my mockup: https://wireframe.cc/1fA4dF


* Challenge based learning:  Codeacadmey is a very good site, though 
having seen how many people use it, it is very memorization based and 
has no problems that require students to think and understand the 
content they have learned (hence leading to better learning).  It 
might be useful to look at how sites like GrokLearning 
https://groklearning.com/ use problems to enhance learning.  Maybe 
we could seriously look at, how do we make a good course for people to 
learn web tech?


* Collaboration:  It would be awesome to integrate the activity with 
sugar collab.  I would love to do real time coding with somebody else 
:)  (This is obviously dependent on the collab being ported to JS, 
another project in itself)


* Getting it to work on a small screen.  Design challenge: could this 
work on an XO or any other 7inch with keyboard device?  (Coding with 
an OSK would be so hard... that's turtle territory :P)


Thanks,
Sam

On Tue, Mar 10, 2015 at 5:43 PM Richa Sehgal 
richasehgal2...@gmail.com mailto:richasehgal2...@gmail.com wrote:


Dear Tony,

I have created a light-weight version of jsfiddle which lets user
enters HTML, CSS and JavaScript code, and when the user clicks Run
method, the code is executed. Its a very basic prototype, with no
fancy design stuff, but I will create a great design for the
actual Activity that would be integrated in Sugar.
To enable the code to run in offline mode, I have used basic 

[Sugar-devel] [ASLO] Release Finance-12

2015-03-10 Thread Sugar Labs Activities
Activity Homepage:
http://activities.sugarlabs.org/addon/4040

Sugar Platform:
0.82 - 0.102

Download Now:
http://activities.sugarlabs.org/downloads/file/29083/finance-12.xo

Release notes:
Fix import breaking the activity on F21 
Set max_participants in the activity.info file


Sugar Labs Activities
http://activities.sugarlabs.org

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] GSoC 2015: Interactive JavaScript Shell

2015-03-10 Thread Sebastian Silva

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
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


[Sugar-devel] [ASLO] Release Musicpainter-13

2015-03-10 Thread Sugar Labs Activities
Activity Homepage:
http://activities.sugarlabs.org/addon/4730

Sugar Platform:
0.82 - 0.102

Download Now:
http://activities.sugarlabs.org/downloads/file/29077/musicpainter-13.xo

Release notes:
The release includes full network features for Musicpainter. The user can share 
their creations to the world, and explore music composed by others. 


Sugar Labs Activities
http://activities.sugarlabs.org

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] GSoC 2015: Interactive JavaScript Shell

2015-03-10 Thread Richa Sehgal
Hi,

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.

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.

Thanks
Richa

On Tue, Mar 10, 2015 at 5:05 PM, Tony Anderson tony_ander...@usa.net
wrote:

 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. 

[Sugar-devel] Fwd: [Test-Announce] Announcing the release of Fedora 22 Alpha!

2015-03-10 Thread Peter Robinson
Hi All,

Fedora 22 Alpha is out. Please test SoaS v22 :-)

There's a few minor known issues:
* Obviously 0.104.1 isn't in it just yet [1] :-)
* gabble and salut are missing, to fix: sudo yum install
telepathy-gabble telepathy-salut on the command line. This is already
fixed and will be in the nightly builds RSN

There's also a number of Activities that have issues so please test,
fix and if necessary let me know if you need some help!

[1] Update is 
https://admin.fedoraproject.org/updates/sugar-runner-0.104.1-1.fc22,sugar-datastore-0.104.1-1.fc22,sugar-artwork-0.104.1-1.fc22,sugar-toolkit-gtk3-0.104.1-1.fc22,sugar-0.104.1-1.fc22


-- Forwarded message --
From: Dennis Gilmore den...@ausil.us
Date: Tue, Mar 10, 2015 at 2:02 PM
Subject: [Test-Announce] Announcing the release of Fedora 22 Alpha!
To: annou...@lists.fedoraproject.org,
devel-annou...@lists.fedoraproject.org,
test-annou...@lists.fedoraproject.org


-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Fedora 22 Alpha Release Announcement


The Fedora 22 Alpha release has arrived, with a preview of the latest
free and open source technology under development. Take a peek inside!

  • Get Fedora 22 Alpha Workstation
https://getfedora.org/en/workstation/prerelease/

  • Get Fedora 22 Alpha Server
https://getfedora.org/en/server/prerelease/

  • Get Fedora 22 Alpha Cloud
https://getfedora.org/en/cloud/prerelease/

  • Get Fedora 22 Alpha Spins
https://spins.fedoraproject.org/prerelease

What is the Alpha release?
==

The Alpha release contains all the exciting features of Fedora 22's
editions in a form that anyone can help test. This testing, guided by
the Fedora QA team, helps us target and identify bugs. When these bugs
are fixed, we make a Beta release available. A Beta release is
code-complete and bears a very strong resemblance to the third and
final release. The final release of Fedora 22 is expected in May.

We need your help to make Fedora 22 the best release yet, so please
take some time to download and try out the Alpha and make sure the
things that are important to you are working well. If you find a bug,
please report it – every bug you uncover is a chance to improve the
experience for millions of Fedora users worldwide.

Together, we can make Fedora 22 another rock-solid release. We have a
culture of coordinating new features and pushing fixes upstream as much
as feasible, and your feedback will help improve not only Fedora but
Linux and free software on the whole.

Fedora 22 Cloud
===

The Fedora 22 Cloud Edition builds on the work completed during the
Fedora 21 cycle, and brings in a number of improvements that make
Fedora 22 a superb choice for running Linux in the cloud.

Ready for the Fedora 22 release, we have:

  • The latest versions of rpm-ostree and rpm-ostree-toolbox. You can
even use rpm-ostree-toolbox to generate your own Atomic hosts from
a custom set of packages.

  • A Vagrant image for Fedora 22 Atomic Host and Cloud Images. We're
supplying Vagrant boxes that work with KVM or VirtualBox, so users
on Fedora will be able to easily consume the Vagrant images with
KVM, and users on Mac OS X or Windows can use the VirtualBox image.

  • Tunir: A new, lightweight Continuous Integration (CI) tool for
rapid testing of cloud images. While being driven by the need for
simple CI for the Cloud Working Group, it's generic enough to be
used by anyone to configure and run jobs/tests on their local
system.

Fedora 22 Server


The Fedora 22 Server Edition brings several changes that will improve
Fedora for use as a server in your environment.

  • Database Server Role: Fedora 21 introduced Rolekit, a daemon for
Linux systems that provides a stable D-Bus interface to manage
deployment of server roles. The Fedora 22 release adds onto that
work with a database server role based on PostgreSQL.

  • Cockpit Updates: The Cockpit Web-based management application has
been updated to the latest upstream release which adds many new
features as well as a modular design for adding new functionality.

Fedora 22 Workstation
=

As always, Fedora carries a number of improvements to make life better
for its desktop users! Here's some of the goodness you'll get in Fedora
22 Workstation edition.

Enhancements:

  • The GNOME Shell notification system has been redesigned and
subsumed into the calendar widget.
  • The Terminal now notifies you when a long running job completes.
  • The login screen now uses Wayland by default. This is a step
towards replacing X with Wayland, and users should not actually
notice the difference.
  • Installation of GStreamer codecs, fonts, and certain document types
is now handled by Software, instead of gnome-packagekit.
  • The Automatic Bug Reporting Tool (ABRT) now features better
notifications, and uses the privacy 

Re: [Sugar-devel] [Release] Announcing Sugar 0.104.1 (stable)

2015-03-10 Thread Martin Abente
s/a days/days/g
s/the release/release/g

Sorry for the typos in the previous email :)

On Tue, Mar 10, 2015 at 3:19 PM, Martin Abente 
martin.abente.lah...@gmail.com wrote:

 Hello everyone,

 After a few a days of delay [1], I am pleased to announce the the release
 of Sugar 0.104.1.

 A brief summary of the changes:

- Fixed auto-complete when searching in the activities list.
- Fixed broken background CP section.
- Complete Polish, Dutch and Igbo translations for sugar and
sugar-toolkit-gtk3.

 The tarballs can be downloaded from:

-

 http://download.sugarlabs.org/sources/sucrose/glucose/sugar/sugar-0.104.1.tar.xz
-

 http://download.sugarlabs.org/sources/sucrose/glucose/sugar-toolkit-gtk3/sugar-toolkit-gtk3-0.104.1.tar.xz
-

 http://download.sugarlabs.org/sources/sucrose/glucose/sugar-artwork/sugar-artwork-0.104.1.tar.xz
-

 http://download.sugarlabs.org/sources/sucrose/glucose/sugar-datastore/sugar-datastore-0.104.1.tar.xz
-

 http://download.sugarlabs.org/sources/sucrose/glucose/sugar-runner/sugar-runner-0.104.1.tar.xz

 Special thanks to Chris Leonard, Tymon Radzik, Samson Goddy and all others
 contributing to the translations!

 Regards,
 Martin.

 Refs:
 1. http://wiki.sugarlabs.org/go/0.104/Roadmap

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


[Sugar-devel] [Release] Announcing Sugar 0.104.1 (stable)

2015-03-10 Thread Martin Abente
Hello everyone,

After a few a days of delay [1], I am pleased to announce the the release
of Sugar 0.104.1.

A brief summary of the changes:

   - Fixed auto-complete when searching in the activities list.
   - Fixed broken background CP section.
   - Complete Polish, Dutch and Igbo translations for sugar and
   sugar-toolkit-gtk3.

The tarballs can be downloaded from:

   -
   
http://download.sugarlabs.org/sources/sucrose/glucose/sugar/sugar-0.104.1.tar.xz
   -
   
http://download.sugarlabs.org/sources/sucrose/glucose/sugar-toolkit-gtk3/sugar-toolkit-gtk3-0.104.1.tar.xz
   -
   
http://download.sugarlabs.org/sources/sucrose/glucose/sugar-artwork/sugar-artwork-0.104.1.tar.xz
   -
   
http://download.sugarlabs.org/sources/sucrose/glucose/sugar-datastore/sugar-datastore-0.104.1.tar.xz
   -
   
http://download.sugarlabs.org/sources/sucrose/glucose/sugar-runner/sugar-runner-0.104.1.tar.xz

Special thanks to Chris Leonard, Tymon Radzik, Samson Goddy and all others
contributing to the translations!

Regards,
Martin.

Refs:
1. http://wiki.sugarlabs.org/go/0.104/Roadmap
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] GSoC 2015: Interactive JavaScript Shell

2015-03-10 Thread Richa Sehgal
Dear Tony,

I have created a light-weight version of jsfiddle which lets user enters
HTML, CSS and JavaScript code, and when the user clicks Run method, the
code is executed. Its a very basic prototype, with no fancy design stuff,
but I will create a great design for the actual Activity that would be
integrated in Sugar.
To enable the code to run in offline mode, I have used basic HTML and JS
primitives without jquery library and so on. So it should be very easy to
just download the file and open in any browser. The code takes the HTML,
CSS and JS input and inserts it in the relevant HTML tags in the iframe DOM
(like style, etc).
There are two files - jsfiddle-prototype.html and style.css. I am not sure
what the policies of this mailing lists are for sharing files, so I would
send these separately to you. Please let me know otherwise.

I hope you like the prototype. Please send me your opinion and the next
steps in the project. I am really looking forward to have a JS Shell
Activity integrated in Sugar :)

Thanks a lot,
Richa

On Sun, Mar 8, 2015 at 11:44 PM, Tony Anderson tony_ander...@usa.net
wrote:

 Great, carry on!

 Tony


 On 03/09/2015 02:10 PM, Richa Sehgal wrote:

 Dear Tony,

 Thanks for replying back. I am glad to you have as my mentor! Using the
 underlying JS course for testing is a great idea. We can integrate that as
 a help tutorial - depending upon the time available.

 Currently I have started looking into the implementation of jsfiddle and
 would report back about my learnings. I am sure that there are other
 platforms too - I would look into these too. I would make a prototype and
 share with you the code. This way we can put our thinking hats together and
 iterate over a concrete plan. I also have some ideas that would make this
 tool more fun and engaging to use, keeping in mind that the target audience
 is students.

 Thanks a lot,
 Richa



___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] GSoC 2015: Interactive JavaScript Shell

2015-03-10 Thread Tony Anderson

Great!

I suspect the files are small enough to send by attachment to an email. 
I am sure as we move into this there will be more 'official' ways to do 
this.


Packaging is something I haven't given much thought to. My guess is that 
we should package it for the XO as a Sugar Activity, although a 
reasonable alternative is
to put it in a special place such as /home/olpc/Documents/jsplayer and 
let the user launch it in the browser by 
file:///home/olpc/Documents/jsplayer/. It could also be packaged as a 
'plugin' to the Browse activity. For deployments with a local server, it 
could be something like http://schoolserver/jsplayer.


Tony

On 03/10/2015 02:43 PM, Richa Sehgal wrote:

Dear Tony,

I have created a light-weight version of jsfiddle which lets user 
enters HTML, CSS and JavaScript code, and when the user clicks Run 
method, the code is executed. Its a very basic prototype, with no 
fancy design stuff, but I will create a great design for the actual 
Activity that would be integrated in Sugar.
To enable the code to run in offline mode, I have used basic HTML and 
JS primitives without jquery library and so on. So it should be very 
easy to just download the file and open in any browser. The code takes 
the HTML, CSS and JS input and inserts it in the relevant HTML tags in 
the iframe DOM (like style, etc).
There are two files - jsfiddle-prototype.html and style.css. I am not 
sure what the policies of this mailing lists are for sharing files, so 
I would send these separately to you. Please let me know otherwise.


I hope you like the prototype. Please send me your opinion and the 
next steps in the project. I am really looking forward to have a JS 
Shell Activity integrated in Sugar :)


Thanks a lot,
Richa

On Sun, Mar 8, 2015 at 11:44 PM, Tony Anderson tony_ander...@usa.net 
mailto:tony_ander...@usa.net wrote:


Great, carry on!

Tony


On 03/09/2015 02:10 PM, Richa Sehgal wrote:

Dear Tony,

Thanks for replying back. I am glad to you have as my mentor!
Using the underlying JS course for testing is a great idea. We
can integrate that as a help tutorial - depending upon the
time available.

Currently I have started looking into the implementation of
jsfiddle and would report back about my learnings. I am sure
that there are other platforms too - I would look into these
too. I would make a prototype and share with you the code.
This way we can put our thinking hats together and iterate
over a concrete plan. I also have some ideas that would make
this tool more fun and engaging to use, keeping in mind that
the target audience is students.

Thanks a lot,
Richa





___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] GSoC 2015: Interactive JavaScript Shell

2015-03-10 Thread Sam P.
Hi Richa,

As for hosting code, the convention is to start a GitHub project for each
activity - even those in the work in progress stage

*.*
I am confused by your choice to not use any libraries since the code must
be run offline.  It is 100% possible to download the jQuery javascript and
put it in a libs folder.  You can then use this instead of using a CDN
link.  Sugar web activities can have thousands of files without making it
harder for users to download and install.

I think your current progress illustrates that there will not be massive
technical challenges in a jsfiddle like activity.  However, there are going
to be design challenges.  Here are my ideas for what you could peruse

* Constructionist (exploration/play based) learning:  TurtleBlocks provides
a good example of how we can put the functions/things-to-be-memorized into
a block palette and then it is more accessible by users.  We could possibly
create a palette of HTML/CSS/JS templates/blocks for the users to drag into
their code and explore.  Please check out my mockup:
https://wireframe.cc/1fA4dF

* Challenge based learning:  Codeacadmey is a very good site, though having
seen how many people use it, it is very memorization based and has no
problems that require students to think and understand the content they
have learned (hence leading to better learning).  It might be useful to
look at how sites like GrokLearning https://groklearning.com/ use
problems to enhance learning.  Maybe we could seriously look at, how do we
make a good course for people to learn web tech?

* Collaboration:  It would be awesome to integrate the activity with sugar
collab.  I would love to do real time coding with somebody else :)  (This
is obviously dependent on the collab being ported to JS, another project in
itself)

* Getting it to work on a small screen.  Design challenge: could this work
on an XO or any other 7inch with keyboard device?  (Coding with an OSK
would be so hard... that's turtle territory :P)

Thanks,
Sam

On Tue, Mar 10, 2015 at 5:43 PM Richa Sehgal richasehgal2...@gmail.com
wrote:

 Dear Tony,

 I have created a light-weight version of jsfiddle which lets user enters
 HTML, CSS and JavaScript code, and when the user clicks Run method, the
 code is executed. Its a very basic prototype, with no fancy design stuff,
 but I will create a great design for the actual Activity that would be
 integrated in Sugar.
 To enable the code to run in offline mode, I have used basic HTML and JS
 primitives without jquery library and so on. So it should be very easy to
 just download the file and open in any browser. The code takes the HTML,
 CSS and JS input and inserts it in the relevant HTML tags in the iframe DOM
 (like style, etc).
 There are two files - jsfiddle-prototype.html and style.css. I am not sure
 what the policies of this mailing lists are for sharing files, so I would
 send these separately to you. Please let me know otherwise.

 I hope you like the prototype. Please send me your opinion and the next
 steps in the project. I am really looking forward to have a JS Shell
 Activity integrated in Sugar :)

 Thanks a lot,
 Richa

 On Sun, Mar 8, 2015 at 11:44 PM, Tony Anderson tony_ander...@usa.net
 wrote:

 Great, carry on!

 Tony



 On 03/09/2015 02:10 PM, Richa Sehgal wrote:

 Dear Tony,

 Thanks for replying back. I am glad to you have as my mentor! Using the
 underlying JS course for testing is a great idea. We can integrate that as
 a help tutorial - depending upon the time available.

 Currently I have started looking into the implementation of jsfiddle and
 would report back about my learnings. I am sure that there are other
 platforms too - I would look into these too. I would make a prototype and
 share with you the code. This way we can put our thinking hats together and
 iterate over a concrete plan. I also have some ideas that would make this
 tool more fun and engaging to use, keeping in mind that the target audience
 is students.

 Thanks a lot,
 Richa


  ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] GSoC 2015: Interactive JavaScript Shell

2015-03-10 Thread Tony Anderson

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