[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
programming).
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).
Tony
Tony
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