[Sugar-devel] GSoC: Proposal for "Create new activities"

Tony Anderson tony_anderson at usa.net
Fri Mar 29 04:38:47 EDT 2019

The Jupyter Notebook project is of particular interest to me.

Over the past several GSOC periods, developers have had a problem 
completing their projects within the allotted time. You are proposing to 
take on several projects, any one of which is a big load for one summer.

If you undertake the Jupyter Notebook project, I would hope that is your 
only task for the summer. Completing it in a usable form in the GSOC 
period would be a major, noteworthy accomplishment.

The Jupyter Notebook started life as ipython. The Jupyter implementation 
supports multiple programming languages (e.g. bash, python, web 
(javascript, html5, css), and many others. It can also be used to make 
interactive lessons on science and mathematics topics independent of 

The essence of the ipython server is that it accepts a url for a file 
(*.ipynb). It then processes this file displaying cells and running 
cells interactively based on the requirements of the notebook author and 
input from the user.

As an activity, (called for example, Jupyter-activity), it should resume 
.ipynb files in the Journal. The browser for this activity can be the 
Browse activity (testing to be sure that the WebKit browser in the 
Browse activity supports Jupyter). This is unlikely to be a 
show-stopper. If executed with start-new, it should enable the user to 
designate a notebook to run (among those in the Journal, Documents 
folder, or a mounted removable device). It should also enable a user to 
create a notebook.

The technology involved in this project is Jupyter. The team at Jupyter 
is friendly and helpful, in my experience. I doubt there will be an 
significant need to modify the Browse activity. One limitation that 
could be addressed en passant is that when Browse is resumed, it 
launches a new instance rather than opening a tab in a running copy. 
This is OK but seems primitive compared to other browsers.

There is a large library online of Jupyter notebooks with many 
tutorials. The first step in this project is to become familiar with 
these notebooks. Jupyter can be installed on Linux distributions via 
Anaconda - but this is overkill for the XO. It can also be installed by 
yum (apt for Ubuntu) but better by pip.

The storage available to the XO is extremely limited (XO has 1GB, other 
models have 4GB). This means that the Anaconda implementation which 
incorporates many additional valuable packages is probably too large for 
Sugar on an XO (still over 80% of the systems in the wild). Even so, the 
Pip install may need some optional capabilities such as Latex and MatLab.

One of the critical parts of an implementation frequently gets left to 
the end and then is not done - user documentation. Thanks to Gonzalo 
Odiard, Sugar has an excellent documentation capability based on Sphinx 
- see help.sugarlabs.org. The 'Jupyter-activity' will need documentation 
that meets the needs of primary school students with limited computer 
experience and limited skills in Englsih. This could include a 
recommended library of Jupyter notebooks which can be used on the XO 
(esp. bash, python, and web langauges).



On 3/29/19 3:52 PM, James Cameron wrote:
> Thanks, interesting.
> Technical comments; Jupyter Notebook Activity, you suggest stripping
> down Browse activity.  You might instead presume Browse is present
> and call it directly.  This is what the Wikipedia activity does.  It
> isn't what the Help activity does.
> Please also consider the design and user requirements input in this
> closed issue; https://github.com/sugarlabs/GSoC/issues/13 Especially
> note Jupyter Lab; a richer environment than a browser alone.
> On Thu, Mar 28, 2019 at 06:22:03PM +0530, Muhammad Usman wrote:
>> Hello all!
>> I am Muhammad Usman. I am sharing my draft proposal for Create New Activities
>> and Write activity in Sugarizer. Please do take a look at it and let me know
>> your thoughts.
>> [1]https://gist.github.com/usmanmuhd/ce60a3dd2c43fd5c5fe5154b5bc18750
>> Regards,
>> Muhammad Usman
>> References:
>> [1] https://gist.github.com/usmanmuhd/ce60a3dd2c43fd5c5fe5154b5bc18750
>> _______________________________________________
>> Sugar-devel mailing list
>> Sugar-devel at lists.sugarlabs.org
>> http://lists.sugarlabs.org/listinfo/sugar-devel

More information about the Sugar-devel mailing list