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

Tony Anderson tony_anderson at usa.net
Sat Mar 30 03:01:18 EDT 2019


Good start.

A reasonable way to start would be to install the server in gnome so 
that it works on the XO. This is going to be a bit tricky because Sugar 
on the XO is based on Fedora 18. One of the current modules required by 
pip is not supported by Fedora 18.

In considering how I might proceed, I decided it would be easiest to 
install Jupyter on Ubuntu 18.04 and use the sucre install of Sugar to 
build and test the 'Jupyter-activity' wrapper, pushing off the XO 
dependency issues.



Tony


On 3/30/19 1:49 PM, Muhammad Usman wrote:
> I have personally used jupyter for a long time, so I have a fair 
> amount of experience using it.
>
> As I can see, jupyter-notebook kind of requires the whole GSoC period, 
> therefore I would consider it as a separate project from the other and 
> write a different proposal for it.
>
> As for the design of the project, My understanding of going about 
> doing the project is:
> - Install jupyter using pip. Install additional libraries such as 
> Latex to allow for the rendering of notebook as pdf and so on.
> - Start with the jupyter server and modify the server to use journal, 
> removable devices along with using the file system.
> - Make changes to frontend to display the notebook options appropriately.
> - Display each language as a separate notebook option.
> - Write a wrapper around the server controlling the starting of server 
> and the shutdown on exiting.
> - Have examples and getting started tutorials.
> - Lastly, have a detailed user documentation.
>
> Thanks,
> Muhammad Usman
>
> On Sat, Mar 30, 2019 at 5:09 AM 
> <sugar-devel-request at lists.sugarlabs.org 
> <mailto:sugar-devel-request at lists.sugarlabs.org>> wrote:
>
>     Message: 3
>     Date: Fri, 29 Mar 2019 16:38:47 +0800
>     From: Tony Anderson <tony_anderson at usa.net
>     <mailto:tony_anderson at usa.net>>
>     To: sugar-devel at lists.sugarlabs.org
>     <mailto:sugar-devel at lists.sugarlabs.org>
>     Subject: Re: [Sugar-devel] GSoC: Proposal for "Create new activities"
>     Message-ID: <a3f8d544-a6f6-35be-5fe1-6cc8e138dcd2 at usa.net
>     <mailto:a3f8d544-a6f6-35be-5fe1-6cc8e138dcd2 at usa.net>>
>     Content-Type: text/plain; charset=utf-8; format=flowed
>
>     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 <http://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
>     <mailto:Sugar-devel at lists.sugarlabs.org>
>     >> http://lists.sugarlabs.org/listinfo/sugar-devel
>     >
>
>
> _______________________________________________
> Sugar-devel mailing list
> Sugar-devel at lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/sugar-devel


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20190330/658934cf/attachment-0001.html>


More information about the Sugar-devel mailing list