<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sugarlabs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ignacio</id>
	<title>Sugar Labs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sugarlabs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ignacio"/>
	<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/go/Special:Contributions/Ignacio"/>
	<updated>2026-05-19T23:01:59Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Google_Code_In_2017&amp;diff=100952</id>
		<title>Google Code In 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Google_Code_In_2017&amp;diff=100952"/>
		<updated>2017-10-11T17:39:26Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: /* general tasks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;[[Category:Trac Reference]][[Category:Idea]]&lt;br /&gt;
[[Category: GCI2017]]&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the project page for the Sugar Labs application to [https://developers.google.com/open-source/gci/ Google Code In 2017]. Sugar Labs community members: please feel free to add tasks below. We&#039;ll do an edit before final applications are due the fourth week of October 2017.&lt;br /&gt;
&lt;br /&gt;
== Message to potential participants ==&lt;br /&gt;
&lt;br /&gt;
It is important that you obtain permission of your parents.&lt;br /&gt;
&lt;br /&gt;
Es importante que obtengas el permiso de tus padres para participar.&lt;br /&gt;
&lt;br /&gt;
https://developers.google.com/open-source/gci/resources/contest-rules&lt;br /&gt;
&lt;br /&gt;
Please see the Contest Rules for Eligibility and Registration process.&lt;br /&gt;
&lt;br /&gt;
https://developers.google.com/open-source/gci/resources/contest-rules&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Details regarding the required forms and paperwork are here: [[Google Code In 2017/Participate#Students]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Also, you will likely need to set up the Sugar development environment. See http://developer.sugarlabs.org/dev-environment.md.html for details. Further information about contributing to the project can be found here: http://developer.sugarlabs.org/&lt;br /&gt;
&lt;br /&gt;
Please don&#039;t hesitate to ask questions on our irc channel (#sugar on irc.freenode.net) or on the sugar-devel list: sugar-devel AT lists.sugarlabs DOT org&lt;br /&gt;
&lt;br /&gt;
== Why Sugar Labs is participating ==&lt;br /&gt;
&lt;br /&gt;
Sugar is written and maintained by volunteers, who range from seasoned professionals to children as young as 12-years of age. Children who have grown up with Sugar have transitioned from Sugar users to Sugar App developers to Sugar maintainers. They hang out on IRC with the global Sugar developer community and are full-fledged members of the Sugar development team. It is this latter group of children we hope will participate in and benefit from Google Code-in. Specifically we want to re-enforce the message that Sugar belongs to its users and that they have both ownership and the responsibility that ownership implies. Just as learning is not something done to you, but something you do, learning with Sugar ultimately means participating in the Sugar development process. At Sugar Labs, we are trying to bring the culture of Free Software into the culture of school. So the Code-in is not just an opportunity for us to get some tasks accomplished, it is quintessential to our overall mission.&lt;br /&gt;
&lt;br /&gt;
== Some background from GCI ==&lt;br /&gt;
&lt;br /&gt;
[See https://developers.google.com/open-source/gci/resources/getting-started]&lt;br /&gt;
&lt;br /&gt;
===Open Source Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
You can contribute without being a coder!&lt;br /&gt;
You do not have to be a coder to contribute to open source. There are many different skill sets needed to help an open source community thrive:&lt;br /&gt;
;Documentation: If you are a good writer and enjoy attention to detail then you might want to contribute by writing or editing documentation. Documentation is a huge part of a successful open source project. Organizations need documentation to help attract new contributors as it helps them see what the codebase looks like and where things are and what the plan is for the project.&lt;br /&gt;
;Research: An organization may need help crunching numbers or sorting through pages of documents to better understand what the users want or need.  There are many different types of tasks that students could work on that are very important to the health of the project.&lt;br /&gt;
;Outreach: If you have an outgoing personality and like being around and talking to people, take a look at the outreach tasks. Outreach tasks often include hosting meetups in your local community or creating a plan on how people around the globe can host a meetup about the project in their local communities.&lt;br /&gt;
;Training: You could create a YouTube video discussing a new feature of the project or maybe some basics on what the project does so people who haven’t heard about it can understand the project and get involved.&lt;br /&gt;
;User Interface: User interface can include many types of tasks including designing new aspects of a webpage or creating a new logo for the project. It may also include various accessibility opportunities to help make the project easier for people who are blind.&lt;br /&gt;
;Other: If you have an idea that may help an organization, reach out to them and let them know! Sometimes the best task is one that the organization hasn’t even considered yet.&lt;br /&gt;
=== Collaboration===&lt;br /&gt;
Open source is not just about coding but working with other people to find the best solution. Being a part of the community is an essential part of success in Google Code-in.  Mentors tell us every year that their best students were the ones who worked hard on their projects but also participated on IRC and helped answer questions other students had. Collaborate with the community and mentors on the #sugar channel in the irc.freenode.net network.&lt;br /&gt;
&lt;br /&gt;
=== Quality over Quantity === &lt;br /&gt;
&lt;br /&gt;
It’s not about being the student who completes the most tasks, that only gets you to the top 10 to be reviewed, it doesn’t mean you will be a grand prize winner. We have had quite a few students who completed the most tasks for their organization yet were not named as Grand Prize Winners because they did everything solo and didn’t get involved in the community or think about the health of the project as a whole, they just kept completing task after task like a machine. If you actively participate in the community then you not only feel the camaraderie that comes with working as a team but you become committed to making the project better for everyone.&lt;br /&gt;
&lt;br /&gt;
== Some basics about Sugar Labs and Sugar development ==&lt;br /&gt;
&lt;br /&gt;
For some basics about the project, see [http://people.sugarlabs.org/walter/docs/Learning-to-Change-the-World-Chapter-4.pdf Chapter 4 of Learning to Change the World].&lt;br /&gt;
&lt;br /&gt;
{{:Google Code In 2017/background}}&lt;br /&gt;
&lt;br /&gt;
== This is a stub for 25+ example tasks new for GCI 2017. ==&lt;br /&gt;
&lt;br /&gt;
Note, more detailed task descriptions will be available once the contest begins.&lt;br /&gt;
&lt;br /&gt;
=== beginner tasks ===&lt;br /&gt;
# Install the Sugar development environment by following the instruction at [http://developer.sugarlabs.org/dev-environment.md.html].&lt;br /&gt;
# Install Sugar in a virtual machine.&lt;br /&gt;
# Install Sugar packages on Ubuntu, Debian, or Fedora.&lt;br /&gt;
# Create an example program in Turtle Blocks (See [https://www.pinterest.com/walterbender/turtle-art/] for some ideas).&lt;br /&gt;
# Create an example program in Music Blocks.&lt;br /&gt;
# Create a simple machine in Physics.&lt;br /&gt;
&lt;br /&gt;
=== general tasks ===&lt;br /&gt;
# Organize a Turtle Art Day (or Music Blocks Day) in your community (Outreach)&lt;br /&gt;
# Create a 60 second promotional video on Sugar and its community (Outreach)&lt;br /&gt;
# Host a Question and Answer (Q&amp;amp;A)/Information session about Sugar on Google Hangouts. (Outreach)&lt;br /&gt;
# DIY Sugar on a Stick||Organize and host a Sugar on a Stick party where you show people how to make their own Sugar on a Stick. (Outreach)&lt;br /&gt;
# Find an educator who is using open-source educational software to teach. Interview the educator about their experience as an educator and why they are using open-source software to teach. (Outreach)&lt;br /&gt;
# Write a blog post about your experience as a GCI participant for Sugar Labs. (Outreach)&lt;br /&gt;
# Create a 10-minute presentation celebrating at least three women within the Sugar community and/or the open-source community at large. (Research/Outreach)&lt;br /&gt;
# Gather information on who could benefit from using or knowing about Sugar. (Research)&lt;br /&gt;
# Find the resources that people are using throughout the world to learn about or teach Sugar Activities. (Research)&lt;br /&gt;
# Find the missing repo: we&#039;ve lost track of the source repository of some Sugar activities: help us find them (Research)&lt;br /&gt;
# Investigate Google Fuzzing tool (Research)&lt;br /&gt;
# Add more synths/sound fonts to Music Blocks (Research)&lt;br /&gt;
# Design the music equivalent of Turtle Confusion for Music Blocks (Research)&lt;br /&gt;
# Wiki cleanup (Documentation)&lt;br /&gt;
# Music Blocks examples (Documentation/Training)&lt;br /&gt;
# Write a review about an Activity in Sugar. (Documentation)&lt;br /&gt;
# How should the Sugar UI change to accommodate a small screen? (User interface)&lt;br /&gt;
# What else should be made easier to customize in Sugar with minimal programming? (User interface)&lt;br /&gt;
# Create a unit tests for a JavaScript activity (Quality assurance)&lt;br /&gt;
# Bugzilla clean up (Quality assurance)&lt;br /&gt;
# Refactor Turtle graphics to adopt look of Javascript version (Code: Python)&lt;br /&gt;
# Refactor Planet server for Turtle Blocks (Code: Python)&lt;br /&gt;
# Write a Pinetrest plugin for the Sugar Journal (Code: Python)&lt;br /&gt;
# Investigate CSound/Python version of Music Blocks (Code: Python)&lt;br /&gt;
# Resolve an open issue from https://github.com/sugarlabs/ (Code: Python)&lt;br /&gt;
# Teach me how to draw activity (Code: Javascript)&lt;br /&gt;
# Plugin manager for Turtle JS (Code: Javascript)&lt;br /&gt;
# Improvements to Lilypond interface (Code: Javascript)&lt;br /&gt;
# Add ABC import to Music Blocks (Code: Javascript)&lt;br /&gt;
# Add Lilypond import to Music Blocks (Code: Javascript)&lt;br /&gt;
# Write a Turtle plugin (Code: Javascript)&lt;br /&gt;
# Visualize turtle movements in Pitch-Time Matrix (Code: Javascript)&lt;br /&gt;
# Visualize turtle pitch in Music Blocks widget (Code: Javascript)&lt;br /&gt;
# Write a JavaScript version of [http://activities.sugarlabs.org/en-US/sugar/addon/4450 Turtle Confusion] (Code: JavaScript)&lt;br /&gt;
# Write a extruder in JavaScript to convert from SVG to STL for 3D printing. (Code: JavaScript)&lt;br /&gt;
# Write a slicer in JavaScript to convert between SL and GCODE for 3D printing. (Code: JavaScript)&lt;br /&gt;
# Resolve an open issue from https://github.com/walterbender/musicblocks/ (Code: JavaScript)&lt;br /&gt;
# Rewrite turtleblocksjs server (https://github.com/tchx84/turtleblocksjs-server) using NodeJS, express (https://www.npmjs.com/package/express) may be a good module to use (Code: Javascript)&lt;br /&gt;
&lt;br /&gt;
Mentors: please feel free to add more tasks and/or add yourself as a potential mentor to an existing task.&lt;br /&gt;
&lt;br /&gt;
Tasks must fall within one of these five categories: [[#Documentation/Training]]; [[#Outreach/Research]]; [[#User Interface]]; [[#Quality Assurance]]; and [[#Code]].&lt;br /&gt;
&lt;br /&gt;
== Mentors ==&lt;br /&gt;
;NOTES TO MENTORS:&lt;br /&gt;
:Please refer to [[Google Code In 2017/Participate#Mentors]] for details regarding enrolling as a mentor.&lt;br /&gt;
:Please add yourself to the list below.&lt;br /&gt;
:Feel free to add new tasks to the table above.&lt;br /&gt;
&lt;br /&gt;
Depending on the project, we will assign multiple mentors from our various development and support teams.&lt;br /&gt;
&lt;br /&gt;
* Walter Bender - co-administrator&lt;br /&gt;
* Ignacio Rodriguez -co-administrator&lt;br /&gt;
* Hrishi Patel&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File:Photo_user_ignacio_500x.jpg&amp;diff=100897</id>
		<title>File:Photo user ignacio 500x.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File:Photo_user_ignacio_500x.jpg&amp;diff=100897"/>
		<updated>2017-10-02T02:05:56Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2017&amp;diff=99919</id>
		<title>Summer of Code/2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2017&amp;diff=99919"/>
		<updated>2017-01-28T20:40:49Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: /* Project Ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Internationalization and Localization ||valign=top width=&amp;quot;15%&amp;quot; | Chris Leonard ||align=left valign=top|&lt;br /&gt;
;Brief explanation: A goal of Sugar Labs is to enable our users to experience Sugar in their own native language. See [[Translation_Proposal#ToDo:|Translation Proposal To Do List]] for details.&lt;br /&gt;
;Expected results: Work flow improvements for i18n&lt;br /&gt;
;Knowledge prerequisites: Some knowledge of Pootle; some scripting experience; Python and JavaScript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |New backend server for Turtle Blocks and Music Blocks ||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Vikram Ahuja&amp;lt;br&amp;gt;Ignacio Rodriguez ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Last year we sponsored [http://vikramahujagsoc.blogspot.com/ an exploration] of using a git-like back end for projects so that they could be cloned, forked, etc. This summer we would like to implement and deploy this new approach.&lt;br /&gt;
;Expected results: Deployment of &amp;quot;git&amp;quot; back end.&lt;br /&gt;
;Knowledge prerequisites: Knowledge of Git, JavaScript, server-side skills&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Going beyond Equal Temperament in Music Blocks ||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri||align=left valign=top|&lt;br /&gt;
;Brief explanation: Most modern music systems are designed around [https://en.wikipedia.org/wiki/Equal_temperament equal temperament]. But there are many ways to [https://en.wikipedia.org/wiki/Musical_temperament chose and tune notes] in a musical system that offer different expressive characteristics.&lt;br /&gt;
;Expected results: Extend Music Blocks such that different approaches to temperament are available to the user.&lt;br /&gt;
;Knowledge prerequisites: Knowledge of JavaScript, music theory&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=User_talk:Ignacio&amp;diff=99862</id>
		<title>User talk:Ignacio</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=User_talk:Ignacio&amp;diff=99862"/>
		<updated>2017-01-03T18:55:28Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: Created blank page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Talk:Raspbian&amp;diff=99861</id>
		<title>Talk:Raspbian</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Talk:Raspbian&amp;diff=99861"/>
		<updated>2017-01-03T18:53:51Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: /* testing with rdesktop (may not be relevant) */  typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Testing on a RPi3 with a fresh install of Jessie. Installed sucrose and /usr/share/xsession/sugar.desktop looks fine, but not option to select Sugar Desktop when I try to login (no option of any sort). --[[User:Walter|Walter]] ([[User talk:Walter|talk]]) 08:33, 31 December 2016 (EST)&lt;br /&gt;
&lt;br /&gt;
Found a panel for manually setting the desktop session. After logging out and logging back in, I got the color selector, gender selector, and a broken grade selector. Then everything switched back to the default desktop manager, but the Sugar cursor remained loaded :) Sugar is somewhere on the machine; but getting to it remains a challenge. --[[User:Walter|Walter]] ([[User talk:Walter|talk]]) 12:01, 31 December 2016 (EST)&lt;br /&gt;
&lt;br /&gt;
Tried running Turtle Art from the shell and from the Education menu: Seg Fault. --[[User:Walter|Walter]] ([[User talk:Walter|talk]]) 08:33, 31 December 2016 (EST)&lt;br /&gt;
&lt;br /&gt;
Started from scratch and got some unmet dependencies when trying to &#039;sudo apt install sucrose&#039;:&lt;br /&gt;
 pi@raspberrypi:~ $ sudo apt install sucrose&lt;br /&gt;
 Reading package lists... Done&lt;br /&gt;
 Building dependency tree       &lt;br /&gt;
 Reading state information... Done&lt;br /&gt;
  You might want to run &#039;apt-get -f install&#039; to correct these:&lt;br /&gt;
  The following packages have unmet dependencies:&lt;br /&gt;
  sonic-pi : Depends: libQt5printsupport5 but it is not installable&lt;br /&gt;
  sucrose : Depends: sugar-session&lt;br /&gt;
            Depends: python-carquinyol&lt;br /&gt;
            Depends: sugar-chat-activity&lt;br /&gt;
            Depends: sugar-browse-activity&lt;br /&gt;
            Depends: sugar-read-activity but it is not going to be installed&lt;br /&gt;
            Depends: sugar-log-activity&lt;br /&gt;
            Depends: sugar-write-activity but it is not going to be installed&lt;br /&gt;
            Depends: sugar-terminal-activity but it is not going to be installed&lt;br /&gt;
            Depends: sugar-pippy-activity but it is not going to be installed&lt;br /&gt;
            Depends: sugar-imageviewer-activity but it is not going to be installed&lt;br /&gt;
            Depends: sugar-jukebox-activity but it is not going to be installed&lt;br /&gt;
            Recommends: olpc-powerd but it is not going to be installed&lt;br /&gt;
            Recommends: ipython but it is not going to be installed&lt;br /&gt;
            Recommends: python-elements but it is not going to be installed&lt;br /&gt;
            Recommends: csound but it is not going to be installed&lt;br /&gt;
            Recommends: gstreamer1.0-plugins-bad but it is not going to be installed&lt;br /&gt;
            Recommends: gstreamer1.0-plugins-ugly but it is not going to be installed&lt;br /&gt;
            Recommends: python-sugar-toolkit&lt;br /&gt;
            Recommends: python-sugar&lt;br /&gt;
            Recommends: gtk2-engines-sugar (&amp;gt;= 0.110)&lt;br /&gt;
            Recommends: sugar-calculate-activity but it is not going to be installed&lt;br /&gt;
  E: Unmet dependencies. Try &#039;apt-get -f install&#039; with no packages (or specify a solution).&lt;br /&gt;
&lt;br /&gt;
Ran:&lt;br /&gt;
 sudo apt-get -f install&lt;br /&gt;
 sudo apt install sucrose&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
 echo sugar &amp;gt;&amp;gt; .xsession&lt;br /&gt;
&lt;br /&gt;
Logged out and back in and Sugar is running.&lt;br /&gt;
&lt;br /&gt;
Turtle works; Browse fails due to no module collabwrapper.&lt;br /&gt;
&lt;br /&gt;
But it is a start :)  --[[User:Walter|Walter]] ([[User talk:Walter|talk]]) 17:40, 31 December 2016 (EST)&lt;br /&gt;
&lt;br /&gt;
:Thanks for testing.  It is a moving target; I didn&#039;t get what you saw.  Retested today;&lt;br /&gt;
&lt;br /&gt;
:*Browse fail to start is [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=848840 848840] caused by missing file when [https://anonscm.debian.org/cgit/pkg-sugar/sugar-browse-activity.git/commit/?id=88ea788b80155b3f0e065cced0e5599f6c59158b Jonas added] collabwrapper.  A new release of Browse might help.&lt;br /&gt;
&lt;br /&gt;
:*Physics fails to start, box2d_arm7 not present.&lt;br /&gt;
&lt;br /&gt;
:*Write shows black screen.  Since fixed in [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=842443 842443] and waiting for abiword 3.0.2-2 to arrive in Raspbian.&lt;br /&gt;
&lt;br /&gt;
:*Jukebox fails to start; the `import player` invokes the Python Image Library instead.  Tracked at [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=554906 554906] and I&#039;ve since *avoided* the problem in [https://github.com/sugarlabs/jukebox-activity/commit/c913a7b0803c25febc6787e63e7392bd52ca2094 c913a7b].&lt;br /&gt;
&lt;br /&gt;
:The cursor change is Sugar changing the settings for the user instead of maintaining separate settings for the user and Sugar combined.  I&#039;ve prototyped a fix with a split-brained GSettings backend.&lt;br /&gt;
&lt;br /&gt;
== testing with rdesktop (may not be relevant) ==&lt;br /&gt;
&lt;br /&gt;
(Using 640x480)&lt;br /&gt;
# thumb drives are not shown in the journal, however you can see them using &amp;quot;df -h&amp;quot;&lt;br /&gt;
# cursor shows as white with a black background&lt;br /&gt;
# terminal &amp;quot;help&amp;quot; button is not working (may not be raspbian related, but just found it)&lt;br /&gt;
# When clicking view details in a journal entry (the right arrow) it shows nothing&lt;br /&gt;
# Right click in the journal sometimes works and sometimes doesn&#039;t&lt;br /&gt;
&lt;br /&gt;
[http://people.sugarlabs.org/ignacio/raspbian/03_01_2017/ Here are the logs]&lt;br /&gt;
-- [[User:Ignacio|Ignacio]] ([[User talk:Ignacio|talk]]) 13:53, 3 January 2017 (EST)&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Talk:Raspbian&amp;diff=99860</id>
		<title>Talk:Raspbian</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Talk:Raspbian&amp;diff=99860"/>
		<updated>2017-01-03T18:53:24Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: /* testing with rdesktop (may not be relevant) */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Testing on a RPi3 with a fresh install of Jessie. Installed sucrose and /usr/share/xsession/sugar.desktop looks fine, but not option to select Sugar Desktop when I try to login (no option of any sort). --[[User:Walter|Walter]] ([[User talk:Walter|talk]]) 08:33, 31 December 2016 (EST)&lt;br /&gt;
&lt;br /&gt;
Found a panel for manually setting the desktop session. After logging out and logging back in, I got the color selector, gender selector, and a broken grade selector. Then everything switched back to the default desktop manager, but the Sugar cursor remained loaded :) Sugar is somewhere on the machine; but getting to it remains a challenge. --[[User:Walter|Walter]] ([[User talk:Walter|talk]]) 12:01, 31 December 2016 (EST)&lt;br /&gt;
&lt;br /&gt;
Tried running Turtle Art from the shell and from the Education menu: Seg Fault. --[[User:Walter|Walter]] ([[User talk:Walter|talk]]) 08:33, 31 December 2016 (EST)&lt;br /&gt;
&lt;br /&gt;
Started from scratch and got some unmet dependencies when trying to &#039;sudo apt install sucrose&#039;:&lt;br /&gt;
 pi@raspberrypi:~ $ sudo apt install sucrose&lt;br /&gt;
 Reading package lists... Done&lt;br /&gt;
 Building dependency tree       &lt;br /&gt;
 Reading state information... Done&lt;br /&gt;
  You might want to run &#039;apt-get -f install&#039; to correct these:&lt;br /&gt;
  The following packages have unmet dependencies:&lt;br /&gt;
  sonic-pi : Depends: libQt5printsupport5 but it is not installable&lt;br /&gt;
  sucrose : Depends: sugar-session&lt;br /&gt;
            Depends: python-carquinyol&lt;br /&gt;
            Depends: sugar-chat-activity&lt;br /&gt;
            Depends: sugar-browse-activity&lt;br /&gt;
            Depends: sugar-read-activity but it is not going to be installed&lt;br /&gt;
            Depends: sugar-log-activity&lt;br /&gt;
            Depends: sugar-write-activity but it is not going to be installed&lt;br /&gt;
            Depends: sugar-terminal-activity but it is not going to be installed&lt;br /&gt;
            Depends: sugar-pippy-activity but it is not going to be installed&lt;br /&gt;
            Depends: sugar-imageviewer-activity but it is not going to be installed&lt;br /&gt;
            Depends: sugar-jukebox-activity but it is not going to be installed&lt;br /&gt;
            Recommends: olpc-powerd but it is not going to be installed&lt;br /&gt;
            Recommends: ipython but it is not going to be installed&lt;br /&gt;
            Recommends: python-elements but it is not going to be installed&lt;br /&gt;
            Recommends: csound but it is not going to be installed&lt;br /&gt;
            Recommends: gstreamer1.0-plugins-bad but it is not going to be installed&lt;br /&gt;
            Recommends: gstreamer1.0-plugins-ugly but it is not going to be installed&lt;br /&gt;
            Recommends: python-sugar-toolkit&lt;br /&gt;
            Recommends: python-sugar&lt;br /&gt;
            Recommends: gtk2-engines-sugar (&amp;gt;= 0.110)&lt;br /&gt;
            Recommends: sugar-calculate-activity but it is not going to be installed&lt;br /&gt;
  E: Unmet dependencies. Try &#039;apt-get -f install&#039; with no packages (or specify a solution).&lt;br /&gt;
&lt;br /&gt;
Ran:&lt;br /&gt;
 sudo apt-get -f install&lt;br /&gt;
 sudo apt install sucrose&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
 echo sugar &amp;gt;&amp;gt; .xsession&lt;br /&gt;
&lt;br /&gt;
Logged out and back in and Sugar is running.&lt;br /&gt;
&lt;br /&gt;
Turtle works; Browse fails due to no module collabwrapper.&lt;br /&gt;
&lt;br /&gt;
But it is a start :)  --[[User:Walter|Walter]] ([[User talk:Walter|talk]]) 17:40, 31 December 2016 (EST)&lt;br /&gt;
&lt;br /&gt;
:Thanks for testing.  It is a moving target; I didn&#039;t get what you saw.  Retested today;&lt;br /&gt;
&lt;br /&gt;
:*Browse fail to start is [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=848840 848840] caused by missing file when [https://anonscm.debian.org/cgit/pkg-sugar/sugar-browse-activity.git/commit/?id=88ea788b80155b3f0e065cced0e5599f6c59158b Jonas added] collabwrapper.  A new release of Browse might help.&lt;br /&gt;
&lt;br /&gt;
:*Physics fails to start, box2d_arm7 not present.&lt;br /&gt;
&lt;br /&gt;
:*Write shows black screen.  Since fixed in [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=842443 842443] and waiting for abiword 3.0.2-2 to arrive in Raspbian.&lt;br /&gt;
&lt;br /&gt;
:*Jukebox fails to start; the `import player` invokes the Python Image Library instead.  Tracked at [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=554906 554906] and I&#039;ve since *avoided* the problem in [https://github.com/sugarlabs/jukebox-activity/commit/c913a7b0803c25febc6787e63e7392bd52ca2094 c913a7b].&lt;br /&gt;
&lt;br /&gt;
:The cursor change is Sugar changing the settings for the user instead of maintaining separate settings for the user and Sugar combined.  I&#039;ve prototyped a fix with a split-brained GSettings backend.&lt;br /&gt;
&lt;br /&gt;
== testing with rdesktop (may not be relevant) ==&lt;br /&gt;
&lt;br /&gt;
(Using 640x480)&lt;br /&gt;
# thumb drivers are not shown in the journal, however you can see them using &amp;quot;df -h&amp;quot;&lt;br /&gt;
# cursor shows as white with a black background&lt;br /&gt;
# terminal &amp;quot;help&amp;quot; button is not working (may not be raspbian related, but just found it)&lt;br /&gt;
# When clicking view details in a journal entry (the right arrow) it shows nothing&lt;br /&gt;
# Right click in the journal sometimes works and sometimes doesn&#039;t&lt;br /&gt;
&lt;br /&gt;
[http://people.sugarlabs.org/ignacio/raspbian/03_01_2017/ Here are the logs]&lt;br /&gt;
-- [[User:Ignacio|Ignacio]] ([[User talk:Ignacio|talk]]) 13:53, 3 January 2017 (EST)&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.112/Notes&amp;diff=99838</id>
		<title>0.112/Notes</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.112/Notes&amp;diff=99838"/>
		<updated>2016-12-28T07:44:29Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: Created page with &amp;quot;&amp;lt;span style=&amp;quot;font-size:188%&amp;quot;&amp;gt;Sucrose 0.112.0 Release Notes&amp;lt;/span&amp;gt;  == Introduction ==  Sugar 0.112.0 is a new stable release of the Sugar Learning Platform. It was released on...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;font-size:188%&amp;quot;&amp;gt;Sucrose 0.112.0 Release Notes&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Sugar 0.112.0 is a new stable release of the Sugar Learning Platform. It was released on TODO: Date&lt;br /&gt;
&lt;br /&gt;
== What is new? ==&lt;br /&gt;
&lt;br /&gt;
*Many bug fixes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is new for developers? ==&lt;br /&gt;
&lt;br /&gt;
*Todo&lt;br /&gt;
&lt;br /&gt;
== Tarballs ==&lt;br /&gt;
&lt;br /&gt;
*Todo&lt;br /&gt;
&lt;br /&gt;
== How to contribute with testing? ==&lt;br /&gt;
&lt;br /&gt;
Please visit our [[0.112/Testing|testing section]] to see all the alternatives to test this new release.&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
=== Patches contributors ===&lt;br /&gt;
&lt;br /&gt;
*James Cameron&lt;br /&gt;
*et al.&lt;br /&gt;
&lt;br /&gt;
Special thanks to all of our Google Code-In students for their contributions over the past months.&lt;br /&gt;
&lt;br /&gt;
=== Translations contributors ===&lt;br /&gt;
&lt;br /&gt;
TODO?&lt;br /&gt;
&lt;br /&gt;
=== We want to especially thank ===&lt;br /&gt;
&lt;br /&gt;
*the Infrastructure team which does all this great work in the background without which the development would not be possible at all,&lt;br /&gt;
*the deployments that provide the development team with feedback from the field,&lt;br /&gt;
*the Design team which guided the design of features with UI changes or impact on the workflow,&lt;br /&gt;
*the Translation team which makes sure that Sugar is enjoyable in the local languages of our users,&lt;br /&gt;
*the developers that submit patches for new features and bug fixes and do review other&#039;s patches,&lt;br /&gt;
*the maintainers that make sure their code is shippable and which provide packagers with new tarballs,&lt;br /&gt;
*the packagers which provide distributions with new Sugar packages,&lt;br /&gt;
*the SoaS, Toast and Debian team for providing a Sugar version to test with during the development cycle,&lt;br /&gt;
*the testers for finding the small and bigger issues,&lt;br /&gt;
*the release team and Development team for coordinating those efforts.&lt;br /&gt;
&lt;br /&gt;
This time, _TODO_ took the responsibility of managing the release.&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.112/Roadmap&amp;diff=99837</id>
		<title>0.112/Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.112/Roadmap&amp;diff=99837"/>
		<updated>2016-12-28T07:40:27Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: Created page with &amp;quot;&amp;lt;noinclude&amp;gt;{{TeamHeader|Development Team|home=Development Team Home|roadmap_link={{Upcoming Stable Release}}/Roadmap}} Category:Roadmap &amp;lt;/noinclude&amp;gt; &amp;lt;span style=&amp;quot;font-size...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{TeamHeader|Development Team|home=Development Team Home|roadmap_link={{Upcoming Stable Release}}/Roadmap}}&lt;br /&gt;
[[Category:Roadmap]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 188%&amp;quot;&amp;gt;TODO: Fix dates&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
Sucrose &amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt; 0.111.x &amp;lt;/span&amp;gt; is an &amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt; unstable &amp;lt;/span&amp;gt; development series intended for testing and development purposes. Sucrose uses odd minor version numbers to indicate development status, so an unstable 0.111.x series will finally become the &amp;lt;span style=&amp;quot;color:#009000&amp;quot;&amp;gt; 0.112 stable &amp;lt;/span&amp;gt; release.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
TODO&lt;br /&gt;
Fedora copr&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
* Merge GCI student features / bug fixes.&lt;br /&gt;
* Merge / test patches for bug fixes.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Task&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|29 May 2016&lt;br /&gt;
|Sucrose 0.111.0.0 &amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt; unstable &amp;lt;/span&amp;gt; tarballs &amp;amp; release&lt;br /&gt;
|Initial release (kick-off).  Automate COPR, etc.&lt;br /&gt;
|-&lt;br /&gt;
|Continuous (at merger of large features)&lt;br /&gt;
|Sucrose 0.111.0.x &amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt; unstable &amp;lt;/span&amp;gt; tarballs &amp;amp; release&lt;br /&gt;
|Development and testing releases.&lt;br /&gt;
|-&lt;br /&gt;
|15 August 2016&lt;br /&gt;
|Sucrose 0.111.1.0 &amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt; unstable &amp;lt;/span&amp;gt; tarballs &amp;amp; release&lt;br /&gt;
|Features freeze&lt;br /&gt;
|-&lt;br /&gt;
|1 September 2016&lt;br /&gt;
|Sucrose 0.111.2.0 &amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt; unstable &amp;lt;/span&amp;gt; tarballs &amp;amp; release&lt;br /&gt;
|Strings, UI, API freeze&lt;br /&gt;
|-&lt;br /&gt;
|18 September 2016&lt;br /&gt;
|Sucrose 0.111.2.1 &amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt; unstable &amp;lt;/span&amp;gt; tarballs &amp;amp; release&lt;br /&gt;
|Development and testing release.&lt;br /&gt;
|-&lt;br /&gt;
|1 October 2016&lt;br /&gt;
|Sucrose 0.112.0 &amp;lt;span style=&amp;quot;color:#009000&amp;quot;&amp;gt; stable &amp;lt;/span&amp;gt; tarballs &amp;amp; release&lt;br /&gt;
|Final release&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Freezes ==&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Freeze&lt;br /&gt;
|-&lt;br /&gt;
|15 August 2016&lt;br /&gt;
|[[Development_Team/Release#Feature_freeze | Feature]]&lt;br /&gt;
|-&lt;br /&gt;
|29 August 2016&lt;br /&gt;
|Leeway to catch up with Gtk+ changes (Gtk+ feature freeze is 15 August 2016)&lt;br /&gt;
|-&lt;br /&gt;
|1 September 2016&lt;br /&gt;
|[[Development_Team/Release#String_freeze | String]], [[Development_Team/Release#UI_Freeze | UI]], API&lt;br /&gt;
|-&lt;br /&gt;
|1 October 2016&lt;br /&gt;
|[[Development_Team/Release#Hard_code_freeze | Code]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.112/Testing&amp;diff=99836</id>
		<title>0.112/Testing</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.112/Testing&amp;diff=99836"/>
		<updated>2016-12-28T07:36:17Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: oops, replaced 0.110-&amp;gt;0.112&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;[[Category:Testing]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 188%&amp;quot;&amp;gt;Testing Sugar 0.112&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please test, and report problems on sugar-devel@ mailing list, bugs.sugarlabs.org, or the discussion page here.&lt;br /&gt;
&lt;br /&gt;
To date there has been no independent testing of Sugar 0.112.&lt;br /&gt;
&lt;br /&gt;
== What should I test? ==&lt;br /&gt;
* new features, see [[0.110/Feature_List|feature list]],&lt;br /&gt;
* bug fixes, see GitHub commits for bug list,&lt;br /&gt;
&lt;br /&gt;
== Fedora ==&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
== Ubuntu/Debian ==&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
I expect to package sugar 0.112 for debian.&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
There are no other distributions that are packaging Sugar 0.112.  On these systems, use the GNU standard autogen, configure, make, and make install steps.&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.112/Testing&amp;diff=99835</id>
		<title>0.112/Testing</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.112/Testing&amp;diff=99835"/>
		<updated>2016-12-28T07:35:39Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: Created page with &amp;quot;&amp;lt;noinclude&amp;gt;Category:Testing &amp;lt;/noinclude&amp;gt; &amp;lt;span style=&amp;quot;font-size: 188%&amp;quot;&amp;gt;Testing Sugar 0.112&amp;lt;/span&amp;gt;  Please test, and report problems on sugar-devel@ mailing list, bugs.suga...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;[[Category:Testing]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 188%&amp;quot;&amp;gt;Testing Sugar 0.112&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please test, and report problems on sugar-devel@ mailing list, bugs.sugarlabs.org, or the discussion page here.&lt;br /&gt;
&lt;br /&gt;
To date there has been no independent testing of Sugar 0.112.&lt;br /&gt;
&lt;br /&gt;
== What should I test? ==&lt;br /&gt;
* new features, see [[0.110/Feature_List|feature list]],&lt;br /&gt;
* bug fixes, see GitHub commits for bug list,&lt;br /&gt;
&lt;br /&gt;
== Fedora ==&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
== Ubuntu/Debian ==&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
I expect to package sugar 0.112 for debian.&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
There are no other distributions that are packaging Sugar 0.110.  On these systems, use the GNU standard autogen, configure, make, and make install steps.&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.112/Feature_List&amp;diff=99834</id>
		<title>0.112/Feature List</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.112/Feature_List&amp;diff=99834"/>
		<updated>2016-12-28T07:31:51Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: Created page with &amp;quot;&amp;lt;noinclude&amp;gt;Category:FeatureList&amp;lt;/noinclude&amp;gt; {| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;  |-style=&amp;quot;background...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;[[Category:FeatureList]]&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
! Owner !! Complete !! Name !! Summary !! Feature Page !! PRs !!Updated&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Template:Platform_Cycle_Linkbar&amp;diff=99833</id>
		<title>Template:Platform Cycle Linkbar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Template:Platform_Cycle_Linkbar&amp;diff=99833"/>
		<updated>2016-12-28T07:26:48Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Sugar platform [[Development Team/Release|release]]&#039;&#039;&#039; version [[:Category:Platform Cycle|cycle]]: | [[0.82]] | [[0.84]] | [[0.86]] | [[0.88]] | [[0.90]] | [[0.92]] | [[0.94]] | [[0.96]] | [[0.98]] | [[0.100]] | [[0.102]] | [[0.104]] | [[0.106]] | [[0.108]] | [[0.110]] | [[0.112]] |&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.112&amp;diff=99832</id>
		<title>0.112</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.112&amp;diff=99832"/>
		<updated>2016-12-28T07:24:47Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: Created page with &amp;quot;&amp;lt;noinclude&amp;gt;{{TeamHeader|Development Team|home=Development Team home|roadmap_link={{Upcoming Stable Release}}/Roadmap}} Category:Platform Cycle&amp;lt;/noinclude&amp;gt;   {{Template:Pla...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{TeamHeader|Development Team|home=Development Team home|roadmap_link={{Upcoming Stable Release}}/Roadmap}}&lt;br /&gt;
[[Category:Platform Cycle]]&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Platform Cycle Linkbar}}&lt;br /&gt;
&lt;br /&gt;
This page collects information directly associated with the Sugar Learning Platform version &#039;&#039;&#039;0.112&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Subpages==&lt;br /&gt;
&lt;br /&gt;
{{Special:PrefixIndex/{{PAGENAMEE}}/}}&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File:Blabla_wiki.png&amp;diff=99491</id>
		<title>File:Blabla wiki.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File:Blabla_wiki.png&amp;diff=99491"/>
		<updated>2016-12-06T03:12:41Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Google_Code_In_2016/Students&amp;diff=99364</id>
		<title>Google Code In 2016/Students</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Google_Code_In_2016/Students&amp;diff=99364"/>
		<updated>2016-11-12T18:01:01Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: /* Welcome students! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome students! ==&lt;br /&gt;
Please add your name, (and anything else if you want, like: your age, where are you from) after last student in the &amp;quot;Students&amp;quot; section :)&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t have an account, please ask for one in #sugar irc channel, or email me: ignacio@sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Students ==&lt;br /&gt;
* &#039;&#039;&#039;Ignacio Rodríguez&#039;&#039;&#039;, 17 years old, I&#039;m from Uruguay :)&lt;br /&gt;
::(Not really a student, just a mentor! but this is an example on how your entry should look like :)&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Google_Code_In_2016/Students&amp;diff=99363</id>
		<title>Google Code In 2016/Students</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Google_Code_In_2016/Students&amp;diff=99363"/>
		<updated>2016-11-12T17:56:47Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: Google code in&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome students! ==&lt;br /&gt;
Please add your name, (and anything else if you want, like: your age, where are you from) after the &amp;quot;Students&amp;quot; section :)&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t have an account, please ask for one in #sugar irc channel, or email me: ignacio@sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== Students ==&lt;br /&gt;
* &#039;&#039;&#039;Ignacio Rodríguez&#039;&#039;&#039;, 17 years old, I&#039;m from Uruguay :)&lt;br /&gt;
::(Not really a student, just a mentor! but this is an example on how your entry should look like :)&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=97080</id>
		<title>Summer of Code/2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=97080"/>
		<updated>2016-03-07T22:55:54Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Students&#039;&#039;&#039;: See our guide on [[Summer_of_Code#How_to_participate|how to participate in Google Summer of Code]] for more information.&lt;br /&gt;
&lt;br /&gt;
== Project candidates ==&lt;br /&gt;
&lt;br /&gt;
In the table below is a list of projects potential participants might contribute to in the GSoC program.&lt;br /&gt;
&lt;br /&gt;
;Note 0: These are project ideas from Sugar Labs contributors. &#039;&#039;&#039;Students, feel free to propose your ideas as well.&#039;&#039;&#039;&lt;br /&gt;
;Note 1: Potential mentors, please feel free to add ideas to this list. Also, feel free to add your name to a project you&#039;d be willing to co-mentor.&lt;br /&gt;
;Note 2: Potential students, more project ideas can be found on our [[Features]] page.&lt;br /&gt;
&lt;br /&gt;
== Sugar Core ==&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Internationalization and Localization ||valign=top width=&amp;quot;15%&amp;quot; | Chris Leonard ||align=left valign=top|&lt;br /&gt;
;Brief explanation: A goal of Sugar Labs is to enable our users to experience Sugar in their own native language. See [[Translation_Proposal#ToDo:|Translation Proposal To Do List]] for details.&lt;br /&gt;
;Expected results: Work flow improvements for i18n&lt;br /&gt;
;Knowledge prerequisites: Some knowledge of Pootle; some scripting experience; Python&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal-12.jpeg|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Journal Rethink ||valign=top width=&amp;quot;15%&amp;quot; | Sam Parkinson ||align=left valign=top|&lt;br /&gt;
;Brief explanation: The Sugar Journal could be rethought to add more emphasis on collaboration, or adding more organisational support for creating &amp;quot;projects&amp;quot; among other things.&lt;br /&gt;
;Expected results: Working code for the journal and vague ideas (more concrete than this) defined ahead of time.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python and knowledge of Gtk+.&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[Image:Sugarlabs_mainpage_01.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Groups Rethink ||valign=top width=&amp;quot;15%&amp;quot; | Sam Parkinson ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar has a buddies/group zoom view, which is very limited.  It could be further integrated with sugar (eg. send to group, share with group, have a shared group journal) and expanded upon (having multiple groups user configured, like: a science prac group, a drama play group, etc.).&lt;br /&gt;
;Expected results: Working code for the Sugar and vague ideas (more concrete than this) defined ahead of time.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python and knowledge of Gtk+.  Knowledge of telepathy is might be helpful.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:reflect.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Reflect Activity||valign=top width=&amp;quot;15%&amp;quot; | Sam Parkinson and Walter Bender ||align=left valign=top|&lt;br /&gt;
;Brief explanation: The Sugar Journal is designed to be a place of reflection. We have the basic stub of a reflection activity that attempts to encourage more reflection and as a vehicle for sharing criticism. This idea needs more thought and coding.&lt;br /&gt;
;Expected results: A solid formulation of how the activity will work in the classroom and working code for the Reflect Activity.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python and knowledge of Gtk+.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:git_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Git backend||valign=top width=&amp;quot;15%&amp;quot; | Martin Abente Lahaye and Walter Bender ||align=left valign=top|&lt;br /&gt;
;Brief explanation: The Sugar Journal doesn&#039;t do a great job of supporting versioning or forking. This project is to build a backend for the Journal that is based on git, which does support versioning and forking. By building on top of a git hosting site we get the added benefit of network access as well.&lt;br /&gt;
;Expected results: Working code and an integration with Turtle Blocks&lt;br /&gt;
;Knowledge prerequisite: Strong background in Git and scripting languages such as Python, Ruby and JavaScript.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | || valign=top  style=&amp;quot;background:#e3e4e5;&amp;quot;  | Performance tuning on machines with limited memory || valign=top | Samuel Greenfeld||align=left valign=top |&lt;br /&gt;
;Brief explanation: The newer Sugar builds have performance issues on some old hardware with limited memory. This is keeping some Sugar deployments from upgrading. This project is to look into the performance issues and tune Sugar for low-memory devices.&lt;br /&gt;
;Expected results: build suitable for running on OLPC XO-1 hardware&lt;br /&gt;
;Knowledge prerequisite:&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | || valign=top  style=&amp;quot;background:#e3e4e5;&amp;quot;  | Re-design collaboration with web technologies || valign=top | Martin Abente Lahaye and Walter Bender ||align=left valign=top |&lt;br /&gt;
;Brief explanation: Now that JavaScript has become a first class citizen in the Sugar ecosystem, we must re-design our collaboration model to allow collaboration between web activities regardless of the platform.&lt;br /&gt;
;Knowledge prerequisite: JavaScript, web sockets, web services.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugar Activities ==&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:confusion.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Beyond Flashcards: Programming to ReadJS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Back in the 1980s, IBM had a literacy program, &amp;quot;Writing to Read&amp;quot;. The gist was that writing was a great way to spark a child&#039;s interest in reading. What if writing code could achieve a similar result? The project is to explore how programming might be incorporated into a literacy program. Like turtle, only simple sentences instead of stacks. It would be a &amp;quot;whole word&amp;quot; approach rather than a &amp;quot;phonics&amp;quot; approach: they can take &amp;quot;sentences&amp;quot; and make paragraphs that result in animations.&lt;br /&gt;
;Expected results: Working prototype&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python or JavaScript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top |  ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Covert Record, Clock, Speak and Measure to gstreamer 1.0 ||valign=top width=&amp;quot;15%&amp;quot; | &amp;lt;TBD&amp;gt; ||align=left valign=top|&lt;br /&gt;
;Brief explanation: The vast majority of Activities that use gstreamer for sound have been converted to gstreamer 1.0 because the older 0.10 is now End of Life and is no longer being developed. It also adds quite a large set of extra duplicate dependencies to Sugar distributions. There&#039;s a lot of good examples of Activities that have been converted to provide excellent examples. The gstreamer 1.0 bindings are provided by gobject-introspection so it also assists in the conversion of Activities to gtk3.&lt;br /&gt;
;Expected results: As many of the above Activities converted to use gst 1.0&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python, gobject-introspection and gstreamer&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top |  ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Covert TamTam to Csound6 ||valign=top width=&amp;quot;15%&amp;quot; | &amp;lt;TBD&amp;gt; ||align=left valign=top|&lt;br /&gt;
;Brief explanation: TamTam makes extensive use of CSound, other Activities like Memorize, Pippy, and TurtleBlocks also can make use of CSound bindings. With the introduction of CSound 6 to a number of distributions TamTam needs migration to use the newer version of CSound.&lt;br /&gt;
;Expected results: Convert TamTam to use CSound6, possibly other Activities&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python, background in CSound&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Music-Blocks.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Music Widgets||valign=top width=&amp;quot;15%&amp;quot; | Devin Ulibarri ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Development four new widgets to improve the possibilities for music&lt;br /&gt;
learning as well as overall user-experience for Music Blocks. The widgets are 1. Pitch-Staircase 2. Tempo 3. Rhythm Rulers, and 4. Free-Pitch Slider. Widgets will integrate with the current coding environment without disrupting the underlying language in any way (like the current pitch-time matrix).&lt;br /&gt;
;Expected results: Users will use these to explore musical concepts and generate desired&lt;br /&gt;
blocks from their experiments.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript, Basic knowledge of Music Theory&lt;br /&gt;
and/or physics&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugar Activities (and Ports) ==&lt;br /&gt;
&lt;br /&gt;
These are existing and new activities we&#039;d like to see enhanced. We expect that the activities will take on new UI features and pedagogical significance.&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Music-Blocks.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Music Blocks Challenges||valign=top width=&amp;quot;15%&amp;quot; | Devin Ulibarri||align=left valign=top|&lt;br /&gt;
;Brief explanation: Development of the &amp;quot;Power Piece&amp;quot; concept for teaching music and programming. (Power Pieces introduce rich musical ideas that can be studied, analyzed, transformed, and re-imagined, they are ripe for open-ended explorations.)&lt;br /&gt;
;Expected results: A well-documented series of activities for exploring musical and programming concepts using the Music Blocks activity as a foundation.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript, Music Theory&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Nutrition-icon.svg|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Nutritional Microworld||valign=top width=&amp;quot;15%&amp;quot; | w/Dr. Jessica Early||align=left valign=top|&lt;br /&gt;
;Brief explanation: We have the basic building blocks (Turtle Nutrition) for programming with food as a datatype. What we are missing is a collection of meaningful activities to use with the tool as exemplars. We want to develop a an open-ended, yet&lt;br /&gt;
relevant tool—one that invites learners to explore fundamental concepts of nutrition that are both intrinsic to nutrition yet transcendent of a specific discipline.&lt;br /&gt;
;Expected results: A well-documented series of activities for exploring nutrition that use the nutrition plugin as a basis. A series of workshops to study these ideas with children.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript, some background in Nutrition.&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Turtle-Flags.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Turtle Confusion/Flags JS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of Turtle Confusion and Turlte Flags.&lt;br /&gt;
;Expected results: A framework for creating challenges and a few exemplars.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Tux Math||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
The TuxMath activity is popular with deployments. However, the upstream version appears to be abandoned. This task would be to implement a sugar-web-activity math game comparable to TuxMath.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugar Technology ==&lt;br /&gt;
&lt;br /&gt;
Sugar is based on the Python programming language and the GTK libraries. We also support some web technologies: HTML5, CSS, and JavaScript.&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Debugging.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Unit Testing ||valign=top width=&amp;quot;15%&amp;quot; | TBD ||align=left valign=top|&lt;br /&gt;
Deep dive into unit tests. We have a framework but it provides scant coverage for Sugar core and almost no coverage for Sugar activities.&lt;br /&gt;
;Brief Description: The goal is to develop tests for many more subsystems in Sugar core and to light a fire under the developer community to write tests for Sugar activities.&lt;br /&gt;
;Expected Results: a new test suite and scads of documentation.&lt;br /&gt;
;Knowledge Prerequisite: A strong background in Python.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Redesign and recreate Sugar Labs webappearance ||valign=top width=&amp;quot;15%&amp;quot; | Tymon Radzik ||align=left valign=top|&lt;br /&gt;
Create new modern and innovative design template for our websites and apply it to all our systems. Consider, how to improve our webappearance. Currently, almost every our website looks different than other and is created in different technology. &lt;br /&gt;
;Brief Description: The goal is to create new template to be used to unify view of our websites (main page, Wiki, Planet, Traslation system, ...) and apply it to our systems. It must include storing all code in one place (like in repositories on Github), reducing number of technologies used, improving SEO, considering other solutions to be used instead of obsolete pages and general design. &lt;br /&gt;
;Expected Results: new, better webappearance of Sugar Labs, basing on innovative template. All code should be placed in one place on Github.&lt;br /&gt;
;Knowledge Prerequisite: Strong skills in HTML5, CSS3, Javascript and other core webtechnologies; experience in creating modern website design.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugar on the Ground ==&lt;br /&gt;
&lt;br /&gt;
A number of real-world issues crop up in deployments of Sugar, especially where resources are limited (bandwidth, CPU speed, battery life, local storage, etc.) These tasks are related to making Sugar more usable under such circumstances.&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal save option ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
&lt;br /&gt;
The Sugar Journal should provide a &#039;save/save as&#039; interface which should enable a user to choose whether to save the current document when an activity is closed. The interface should require a name change from &#039;current.activity&#039; to a user supplied name. If the document is derived from one currently saved in the Journal, the user should be allowed to save (overwrite) or save as (create new document) by giving a new name to the document. This could be accomplished by showing a modal dialog at close time requesting the user to supply a name or not save the document. If the document has a user supplied name, the dialog could request the user to save or to provide a new name to create a new document. &lt;br /&gt;
;Note: this approach satisfies the needs referenced in the git task. Git is a little like a hammer looking for a nail. Using git for this function will likely double the size of the data stored in the Journal (based on normal experience using git). Unfortunately, we don&#039;t have this space on the XOs. The standard save/save as gives the user the ability to manage versions by using unique names.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal as a service ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
&lt;br /&gt;
The Journal activity is currently implemented as an activity. It should be changed to a &#039;service&#039;. This means the Journal icon on the frame should be to the left of the zoom group icons to match the sequence on the keyboard. The Journal is always running as a service when the Sugar is running. It is accessible by the Journal key on the keyboard and also by the Journal button in the frame. When the view is switched to the Journal, clicking on the activity view (right most key of the zoom group) should switch the screen back to the current activity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal backup and restore ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
Sugar provides a method to backup and restore the Journal (one method to a USB key and one method to the school server). The Journal also provides a select box to enable an action to be taken for all selected objects. This mechanism should be sufficient for the USB key case. However, the school server backup currently is based on taking a snapshot of the current Journal state. This means the size of the objects in a user&#039;s Journal cannot exceed the available local store on an XO (300MB for an XO-1, 1.9GB for other models). A mechanism is needed to save on the school server all documents created by the user and to restore a selected object to the Journal from the school server. Since many documents may represent library objects (e-books, audio, image or video media), the mechanism should recognize these and not save them as user documents. However, the metadata saved should enable the system to download the library items again as needed (and, as available). &lt;br /&gt;
;For example: the mechanism may be to upload Journal documents to an OwnCloud repository. The user could then select an item in the OwnCloud repository to be downloaded to the Journal. The user could also share any item in OwnCloud with other user groups or individuals&lt;br /&gt;
;Note: This would essentially accomplish the intent of the group/buddy task. Further, OwnCloud could be provided on a school server or on the internet. as appropriate.&lt;br /&gt;
;Note: There is a Sugar interface for saving to other cloud services, such as Google Docs, Dropbox, et al. that could be exploited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal session data management ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
One goal of Sugar is to record information about user sessions. This is currently accomplished by creating statistics from the metadata stored in the Journal.&lt;br /&gt;
Unfortunately, a consequence is that the Journal view fills with essentially meaningless links to this metadata (mine fills with Terminal Activity and Log entries).&lt;br /&gt;
This makes it much harder for the user to identify meaningful Journal objects (documents, images, items from the library, ...). A mechanism is needed to that session data can be logged independently of the Journal view (i.e not shown on the screen). This logged information should be transferred to a backup repository (e.g. school server or USB drive) as soon as possible and deleted from the local store to free up space. The available reporting activities should be modified to use this new mechanism.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal quota management ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
The Journal icon provides information the amount of free space in the user&#039;s store. if this amount is less than 50MB, a dialog is shown requiring the user to switch to the Journal view and claiming that the &#039;Journal is Full&#039;. This message is, at best, misleading. The available storage can arise from several causes - the fact that an activities &#039;instance&#039; store was not deleted, the space required by installed activities, or space required by data files in /home/olpc/Library, or data stored by activities in &#039;data&#039;, &#039;instance&#039; or &#039;temp&#039;. Currently, Sugar provides no guidance or help to enable a user to deal with this problem short of reflashing the image. The goal of this task is to provide a quota management system on storage with a way for the user (e.g. by a special Sugar activity) to analyze the usage of storage and to save by usb key or school server or cloud storage large or currently unneeded items and then delete them. The system should show the user the size of items and provide updates on how much storage has been made free by his/her actions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal activity resume feature ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
In Sugar&#039;s Home View, a click on an activity icon by default resumes the most recent instance of the activity. This capability is designed into the Journal and is redundant in the Home View. A Sugar activity is a tool to enable the user to accomplish some task. If that task is not completed, the user can resume it via the Journal. If the tool is to be used on a new task, the user can launch it from the Home View. The current Home View assumes that the intent of the user is to continue the most recent task with that tool.&lt;br /&gt;
&lt;br /&gt;
This task should set the Home View default to launch a new instance of the activity. The Alt key should be set to enable resuming a selected instance of the activity.  By serendipity, this also shows the Home View with black and white icons. Icons with color signifying a resumable instance use the colors associated with the laptop. Unfortunately many of these color combinations make the icon much more difficult to distinguish than the black and white version. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Activity resume feature ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
Sugar provides a &#039;web services&#039; capability. However, these services are only available to an XO which has connection to the internet. This is not useful to a large number of users who do not have internet access. The school server (e.g. XSCE) provides an alternative to the internet for many deployments. This task is to provide a capability on the school server to support some or all of the Sugar web services (e.g. by OwnCloud or ELGG). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar offline ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
There are a number of Sugar activities which currently require access to the internet (InfoSlicer, GetBooks). These activities should have an option to function with the school server. For example, GetBooks could access books on the school server and InfoSlicer could create slices from Wikipedia on the school server as Journal objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar &amp;quot;on-boarding&amp;quot; ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
Sugar users are often new to computers and not familiar with other operating systems. We need a mechanism to allow users to more quickly develop skills in using the capabilities of the XO (&#039;onboarding&#039;). One proposal is to develop scripts which lead the user through a series of interactive steps illustrating common usage of the XO with Sugar ([https://www.sam.today/blog/sugar-onboard-design.html]). This task is to implement an interpretive system that allows &lt;br /&gt;
deployments or experienced users to create an &#039;onboard&#039; script that guides the user to carry out a task. The referenced proposal suggests some user tasks where this mechanism could be employed. Since there is no finite list of these tasks, an interpretive approach enables the scripts to be created as necessary. &lt;br /&gt;
;For example: how does a user switch to the Gnome desktop? A script could be created guiding the user through the necessary steps. How does the user make a screen shot, use Gimp in the gnome desktop to crop and resize, and then insert it as an image in a Write document? How does the user initiate or join a chat?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | 32bit Sugar on Ubuntu||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
Sugar is available on the XO and some other platforms. In particular, Sugar is available for 64-bit systems with Ubuntu 14.04 LTS installed (http://wiki.sugarlabs.org/go/Ubuntu). Unfortunately, this procedure does not work with 32-bit systems. There exists an opportunity to deploy Sugar &lt;br /&gt;
with relatively inexpensive or refurbished laptops which do not provide 64-bit support. This task is to create a comparable version of Sugar which can &lt;br /&gt;
be installed on 32-bit systems as an alternate Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | One to Many Sugar||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
The OLPC model is that each user has full possession and is the only user of an XO laptop. Therefore, Sugar assumes a 1-1 correspondence between users and XO serial numbers. However, Sugar is being used on other platforms (e.g. SOAS), where there is no obvious equivalent to a serial number. SOAS and James Cameron [citation?] have created versions of Sugar which do not assume the user is &#039;olpc&#039;, but implement a standard username/password login system. The users storage is allocated to his/her home directory. &lt;br /&gt;
&lt;br /&gt;
This task is to create a Sugar image for the XO which allows for user&#039;s to login by username and password. The basic task is to move the Activities folder to a common space so that only one copy is needed per system. This will support deployments where one set of laptops are shared across multiple classes (and users) or where there one laptop is shared between two students - one in a morning shift and the other in an afternoon shift. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugarizer ==&lt;br /&gt;
&lt;br /&gt;
[http://sugarizer.org Sugarizer] is a way to use Sugar on any device using web technologies (HTML5/JavaScript). Strictly speaking, Sugarizer is not a port of Sugar. Sugarizer is based on Sugar Web library, which mimics the Sugar UI using HTML5 and CSS3 and reproduces Sugar views (Home, List, ...). Sugarizer reimplements features of Sugar Core (datastore and journal) in JavaScript and integrates a bunch of activities written for Sugar in Sugar Web.&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Sugarizer os android.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugarizer OS ||valign=top width=&amp;quot;15%&amp;quot; | Lionel Laské and Michaël Ohayon||align=left valign=top|&lt;br /&gt;
The goal of this project is to create &amp;quot;Sugarizer OS&amp;quot;.&lt;br /&gt;
Sugarizer OS is a way to boot directly a device on Sugarizer and allow the user to use both Sugarizer activities and system native applications. Sugarizer OS is not an OS but a way to propose a full Sugar experience on a non-Sugar device.&lt;br /&gt;
&lt;br /&gt;
On Android, Sugarizer OS will take the form of an Android Launcher so it will be able to replace the standard Android launcher of the device. So the user will be able to launch both Sugarizer Activities and Android application from the Sugarizer home. The Sugarizer List View screen will let you choose which Android application icons will appear in the favorite view.&lt;br /&gt;
&lt;br /&gt;
Into Sugarizer OS the Neighborhood view will let the user see and connect to a WiFi hotspot as in Sugar. The Sugarizer OS settings will allow to access to Android settings and let the use to switch to the standard Android launcher.&lt;br /&gt;
&lt;br /&gt;
Prerequisite: Android, Java, HTML5/JavaScript.&lt;br /&gt;
&lt;br /&gt;
How to start: Clone the [https://github.com/llaske/sugarizer Sugarizer repository], then create your own APK following instructions [https://github.com/llaske/sugarizer/blob/master/README.md#build-client-for-android-or-ios here]. Think about how to adapt this APK to transform it into an Android launcher.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Dashboard server.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugarizer Server Dashboard ||valign=top width=&amp;quot;15%&amp;quot; | Lionel Laské and Michaël Ohayon ||align=left valign=top|&lt;br /&gt;
The goal of this project is to create the &amp;quot;Sugarizer Server Dashboard&amp;quot;.&lt;br /&gt;
Sugarizer Server Dashboard is a web admin console for Sugarizer Server. The Dashboard will allow to manage and analyze all activity on a Sugarizer Server. Dashboard features will include:&lt;br /&gt;
* Users: how many users has been registered on the server, how many users currently connected, top users on the server, last users connection, create/edit/remove an user.&lt;br /&gt;
* Journal: how many Journals and how many entries in Journal on the server, last Journal and last entries, size of Journals, top Journals, edit a journal (see/update/remove) entries.&lt;br /&gt;
* Application: how many applications are available on the server, change application visibility from Client, update order and way to appear in favorite view.&lt;br /&gt;
* Graphic and request: display graphics and report on previous data.&lt;br /&gt;
&lt;br /&gt;
Technology to use: HTML5/JavaScript, bootstrap, node.js, MongoDB&lt;br /&gt;
&lt;br /&gt;
How to start: Clone the [https://github.com/llaske/sugarizer Sugarizer repository], then install Sugarizer server using instructions [https://github.com/llaske/sugarizer/blob/master/README.md#server here], finally explore the  [http://sugarizer.org/apidoc/ Sugarizer Server API] and think about way to implement dashboard features.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Fototoon-moon-speak.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugarizer Activity Set ||valign=top width=&amp;quot;15%&amp;quot; | Lionel Laské and Michaël Ohayon ||align=left valign=top|&lt;br /&gt;
The goal of this project is to port some famous Sugar activities into HTML5/JavaScript Sugar Web activities that will be include into the Sugarizer Package. Three activities will be ported:&lt;br /&gt;
* Moon: Moon is a Moon phase viewer, includes Lunar phase information and eclipse data.&lt;br /&gt;
* Speak: Speak is a talking face. Anything you type will be spoken aloud using the speech synthesizer, espeak.&lt;br /&gt;
* Fototoon: Fototoon is an activity that let user create cartoons using pictures from the journal.&lt;br /&gt;
&lt;br /&gt;
Technology to use: HTML5/JavaScript&lt;br /&gt;
&lt;br /&gt;
How to start: Download and install Sugar like explain [https://wiki.sugarlabs.org/go/Downloads here] and install the existing version of activities to port: [http://activities.sugarlabs.org/us/sugar/addon/4034 Moon], [http://activities.sugarlabs.org/us/sugar/addon/4038 Speak], [http://activities.sugarlabs.org/us/sugar/addon/4253 Fototoon]. Clone the [https://github.com/llaske/sugarizer Sugarizer repository], then create an empty Sugarizer activity following instructions [https://github.com/llaske/sugarizer/blob/master/README.md#create-your-own-activity here]. Think about how to reproduce features of existing activities.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Subpages==&lt;br /&gt;
{{Special:PrefixIndex/{{PAGENAMEE}}/}}&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=97042</id>
		<title>Summer of Code/2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=97042"/>
		<updated>2016-02-29T22:16:51Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: /* Sugar Activities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Students&#039;&#039;&#039;: See our guide on [[Summer_of_Code#How_to_participate|how to participate in Google Summer of Code]] for more information.&lt;br /&gt;
&lt;br /&gt;
== Project candidates ==&lt;br /&gt;
&lt;br /&gt;
In the table below is a list of projects potential participants might contribute to in the GSoC program.&lt;br /&gt;
&lt;br /&gt;
;Note 0: These are project ideas from Sugar Labs contributors. &#039;&#039;&#039;Students, feel free to propose your ideas as well.&#039;&#039;&#039;&lt;br /&gt;
;Note 1: Potential mentors, please feel free to add ideas to this list. Also, feel free to add your name to a project you&#039;d be willing to co-mentor.&lt;br /&gt;
;Note 2: Potential students, more project ideas can be found on our [[Features]] page.&lt;br /&gt;
&lt;br /&gt;
== Sugar Core ==&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Internationalization and Localization ||valign=top width=&amp;quot;15%&amp;quot; | Chris Leonard ||align=left valign=top|&lt;br /&gt;
;Brief explanation: A goal of Sugar Labs is to enable our users to experience Sugar in their own native language. See [[Translation_Proposal#ToDo:|Translation Proposal To Do List]] for details.&lt;br /&gt;
;Expected results: Work flow improvements for i18n&lt;br /&gt;
;Knowledge prerequisites: Some knowledge of Pootle; some scripting experience; Python&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal-12.jpeg|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Journal Rethink ||valign=top width=&amp;quot;15%&amp;quot; | Sam Parkinson&amp;lt;br&amp;gt;Ignacio Rodríguez ||align=left valign=top|&lt;br /&gt;
;Brief explanation: The Sugar Journal could be rethought to add more emphasis on collaboration, or adding more organisational support for creating &amp;quot;projects&amp;quot; among other things.&lt;br /&gt;
;Expected results: Working code for the journal and vague ideas (more concrete than this) defined ahead of time.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python and knowledge of Gtk+.&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[Image:Sugarlabs_mainpage_01.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Groups Rethink ||valign=top width=&amp;quot;15%&amp;quot; | Sam Parkinson&amp;lt;br&amp;gt;Ignacio Rodríguez ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar has a buddies/group zoom view, which is very limited.  It could be further integrated with sugar (eg. send to group, share with group, have a shared group journal) and expanded upon (having multiple groups user configured, like: a science prac group, a drama play group, etc.).&lt;br /&gt;
;Expected results: Working code for the Sugar and vague ideas (more concrete than this) defined ahead of time.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python and knowledge of Gtk+.  Knowledge of telepathy is might be helpful.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:reflect.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Reflection Activity||valign=top width=&amp;quot;15%&amp;quot; | Sam Parkinson and Walter Bender ||align=left valign=top|&lt;br /&gt;
;Brief explanation: The Sugar Journal is designed to be a place of reflection. We have the basic stub of a reflection activity that attempts to encourage more reflection and as a vehicle for sharing criticism. This idea needs more thought and coding.&lt;br /&gt;
;Expected results: A solid formulation of how the activity will work in the classroom and working code for the Reflection Activity.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python and knowledge of Gtk+.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:git_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Git backend||valign=top width=&amp;quot;15%&amp;quot; | Martin Abente Lahaye and Walter Bender ||align=left valign=top|&lt;br /&gt;
;Brief explanation: The Sugar Journal doesn&#039;t do a great job of supporting versioning or forking. This project is to build a backend for the Journal that is based on git, which does support versioning and forking. By building on top of a git hosting site we get the added benefit of network access as well.&lt;br /&gt;
;Expected results: Working code and an integration with Turtle Blocks&lt;br /&gt;
;Knowledge prerequisite: Strong background in Git and scripting languages such as Python, Ruby and JavaScript.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | || valign=top  style=&amp;quot;background:#e3e4e5;&amp;quot;  | Performance tuning on machines with limited memory || valign=top | Samuel Greenfeld||align=left valign=top |&lt;br /&gt;
;Brief explanation: The newer Sugar builds have performance issues on some old hardware with limited memory. This is keeping some Sugar deployments from upgrading. This project is to look into the performance issues and tune Sugar for low-memory devices.&lt;br /&gt;
;Expected results: build suitable for running on OLPC XO-1 hardware&lt;br /&gt;
;Knowledge prerequisite:&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | || valign=top  style=&amp;quot;background:#e3e4e5;&amp;quot;  | Re-design collaboration with web technologies || valign=top | Martin Abente Lahaye and Walter Bender ||align=left valign=top |&lt;br /&gt;
;Brief explanation: Now that JavaScript has become a first class citizen in the Sugar ecosystem, we must re-design our collaboration model to allow collaboration between web activities regardless of the platform.&lt;br /&gt;
;Knowledge prerequisite: JavaScript, web sockets, web services.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugar Activities ==&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:confusion.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Beyond Flashcards: Programming to ReadJS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Back in the 1980s, IBM had a literacy program, &amp;quot;Writing to Read&amp;quot;. The gist was that writing was a great way to spark a child&#039;s interest in reading. What if writing code could achieve a similar result? The project is to explore how programming might be incorporated into a literacy program. Like turtle, only simple sentences instead of stacks. It would be a &amp;quot;whole word&amp;quot; approach rather than a &amp;quot;phonics&amp;quot; approach: they can take &amp;quot;sentences&amp;quot; and make paragraphs that result in animations.&lt;br /&gt;
;Expected results: Working prototype&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python or JavaScript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top |  ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Covert Record, Clock, Speak and Measure to gstreamer 1.0 ||valign=top width=&amp;quot;15%&amp;quot; | Ignacio Rodríguez ||align=left valign=top|&lt;br /&gt;
;Brief explanation: The vast majority of Activities that use gstreamer for sound have been converted to gstreamer 1.0 because the older 0.10 is now End of Life and is no longer being developed. It also adds quite a large set of extra duplicate dependencies to Sugar distributions. There&#039;s a lot of good examples of Activities that have been converted to provide excellent examples. The gstreamer 1.0 bindings are provided by gobject-introspection so it also assists in the conversion of Activities to gtk3.&lt;br /&gt;
;Expected results: As many of the above Activities converted to use gst 1.0&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python, gobject-introspection and gstreamer&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top |  ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Covert TamTam to Csound6 ||valign=top width=&amp;quot;15%&amp;quot; | &amp;lt;TBD&amp;gt; ||align=left valign=top|&lt;br /&gt;
;Brief explanation: TamTam makes extensive use of CSound, other Activities like Memorize, Pippy, and TurtleBlocks also can make use of CSound bindings. With the introduction of CSound 6 to a number of distributions TamTam needs migration to use the newer version of CSound.&lt;br /&gt;
;Expected results: Convert TamTam to use CSound6, possibly other Activities&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python, background in CSound&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Music-Blocks.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Music Widgets||valign=top width=&amp;quot;15%&amp;quot; | Devin Ulibarri ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Development four new widgets to improve the possibilities for music&lt;br /&gt;
learning as well as overall user-experience for Music Blocks. The widgets are 1. Pitch-Staircase 2. Tempo 3. Rhythm Rulers, and 4. Free-Pitch Slider. Widgets will integrate with the current coding environment without disrupting the underlying language in any way (like the current pitch-time matrix).&lt;br /&gt;
;Expected results: Users will use these to explore musical concepts and generate desired&lt;br /&gt;
blocks from their experiments.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript, Basic knowledge of Music Theory&lt;br /&gt;
and/or physics&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugar Activities (and Ports) ==&lt;br /&gt;
&lt;br /&gt;
These are existing and new activities we&#039;d like to see enhanced. We expect that the activities will take on new UI features and pedagogical significance.&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Music-Blocks.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Music Blocks Challenges||valign=top width=&amp;quot;15%&amp;quot; | Devin Ulibarri||align=left valign=top|&lt;br /&gt;
;Brief explanation: Development of the &amp;quot;Power Piece&amp;quot; concept for teaching music and programming. (Power Pieces introduce rich musical ideas that can be studied, analyzed, transformed, and re-imagined, they are ripe for open-ended explorations.)&lt;br /&gt;
;Expected results: A well-documented series of activities for exploring musical and programming concepts using the Music Blocks activity as a foundation.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript, Music Theory&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Nutrition-icon.svg|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Nutritional Microworld||valign=top width=&amp;quot;15%&amp;quot; | w/Dr. Jessica Early||align=left valign=top|&lt;br /&gt;
;Brief explanation: We have the basic building blocks (Turtle Nutrition) for programming with food as a datatype. What we are missing is a collection of meaningful activities to use with the tool as exemplars. We want to develop a an open-ended, yet&lt;br /&gt;
relevant tool—one that invites learners to explore fundamental concepts of nutrition that are both intrinsic to nutrition yet transcendent of a specific discipline.&lt;br /&gt;
;Expected results: A well-documented series of activities for exploring nutrition that use the nutrition plugin as a basis. A series of workshops to study these ideas with children.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript, some background in Nutrition.&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Turtle-Flags.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Turtle Confusion/Flags JS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of Turtle Confusion and Turlte Flags.&lt;br /&gt;
;Expected results: A framework for creating challenges and a few exemplars.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Tux Math||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
The TuxMath activity is popular with deployments. However, the upstream version appears to be abandoned. This task would be to implement a sugar-web-activity math game comparable to TuxMath.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugar Technology ==&lt;br /&gt;
&lt;br /&gt;
Sugar is based on the Python programming language and the GTK libraries. We also support some web technologies: HTML5, CSS, and JavaScript.&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Debugging.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Unit Testing ||valign=top width=&amp;quot;15%&amp;quot; | TBD ||align=left valign=top|&lt;br /&gt;
Deep dive into unit tests. We have a framework but it provides scant coverage for Sugar core and almost no coverage for Sugar activities.&lt;br /&gt;
;Brief Description: The goal is to develop tests for many more subsystems in Sugar core and to light a fire under the developer community to write tests for Sugar activities.&lt;br /&gt;
;Expected Results: a new test suite and scads of documentation.&lt;br /&gt;
;Knowledge Prerequisite: A strong background in Python.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugar on the Ground ==&lt;br /&gt;
&lt;br /&gt;
A number of real-world issues crop up in deployments of Sugar, especially where resources are limited (bandwidth, CPU speed, battery life, local storage, etc.) These tasks are related to making Sugar more usable under such circumstances.&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal save option ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
&lt;br /&gt;
The Sugar Journal should provide a &#039;save/save as&#039; interface which should enable a user to choose whether to save the current document when an activity is closed. The interface should require a name change from &#039;current.activity&#039; to a user supplied name. If the document is derived from one currently saved in the Journal, the user should be allowed to save (overwrite) or save as (create new document) by giving a new name to the document. This could be accomplished by showing a modal dialog at close time requesting the user to supply a name or not save the document. If the document has a user supplied name, the dialog could request the user to save or to provide a new name to create a new document. &lt;br /&gt;
;Note: this approach satisfies the needs referenced in the git task. Git is a little like a hammer looking for a nail. Using git for this function will likely double the size of the data stored in the Journal (based on normal experience using git). Unfortunately, we don&#039;t have this space on the XOs. The standard save/save as gives the user the ability to manage versions by using unique names.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal as a service ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
&lt;br /&gt;
The Journal activity is currently implemented as an activity. It should be changed to a &#039;service&#039;. This means the Journal icon on the frame should be to the left of the zoom group icons to match the sequence on the keyboard. The Journal is always running as a service when the Sugar is running. It is accessible by the Journal key on the keyboard and also by the Journal button in the frame. When the view is switched to the Journal, clicking on the activity view (right most key of the zoom group) should switch the screen back to the current activity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal backup and restore ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson&amp;lt;br&amp;gt;Ignacio Rodriguez||align=left valign=top|&lt;br /&gt;
Sugar provides a method to backup and restore the Journal (one method to a USB key and one method to the school server). The Journal also provides a select box to enable an action to be taken for all selected objects. This mechanism should be sufficient for the USB key case. However, the school server backup currently is based on taking a snapshot of the current Journal state. This means the size of the objects in a user&#039;s Journal cannot exceed the available local store on an XO (300MB for an XO-1, 1.9GB for other models). A mechanism is needed to save on the school server all documents created by the user and to restore a selected object to the Journal from the school server. Since many documents may represent library objects (e-books, audio, image or video media), the mechanism should recognize these and not save them as user documents. However, the metadata saved should enable the system to download the library items again as needed (and, as available). &lt;br /&gt;
;For example: the mechanism may be to upload Journal documents to an OwnCloud repository. The user could then select an item in the OwnCloud repository to be downloaded to the Journal. The user could also share any item in OwnCloud with other user groups or individuals&lt;br /&gt;
;Note: This would essentially accomplish the intent of the group/buddy task. Further, OwnCloud could be provided on a school server or on the internet. as appropriate.&lt;br /&gt;
;Note: There is a Sugar interface for saving to other cloud services, such as Google Docs, Dropbox, et al. that could be exploited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal session data management ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
One goal of Sugar is to record information about user sessions. This is currently accomplished by creating statistics from the metadata stored in the Journal.&lt;br /&gt;
Unfortunately, a consequence is that the Journal view fills with essentially meaningless links to this metadata (mine fills with Terminal Activity and Log entries).&lt;br /&gt;
This makes it much harder for the user to identify meaningful Journal objects (documents, images, items from the library, ...). A mechanism is needed to that session data can be logged independently of the Journal view (i.e not shown on the screen). This logged information should be transferred to a backup repository (e.g. school server or USB drive) as soon as possible and deleted from the local store to free up space. The available reporting activities should be modified to use this new mechanism.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal quota management ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
The Journal icon provides information the amount of free space in the user&#039;s store. if this amount is less than 50MB, a dialog is shown requiring the user to switch to the Journal view and claiming that the &#039;Journal is Full&#039;. This message is, at best, misleading. The available storage can arise from several causes - the fact that an activities &#039;instance&#039; store was not deleted, the space required by installed activities, or space required by data files in /home/olpc/Library, or data stored by activities in &#039;data&#039;, &#039;instance&#039; or &#039;temp&#039;. Currently, Sugar provides no guidance or help to enable a user to deal with this problem short of reflashing the image. The goal of this task is to provide a quota management system on storage with a way for the user (e.g. by a special Sugar activity) to analyze the usage of storage and to save by usb key or school server or cloud storage large or currently unneeded items and then delete them. The system should show the user the size of items and provide updates on how much storage has been made free by his/her actions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal activity resume feature ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
In Sugar&#039;s Home View, a click on an activity icon by default resumes the most recent instance of the activity. This capability is designed into the Journal and is redundant in the Home View. A Sugar activity is a tool to enable the user to accomplish some task. If that task is not completed, the user can resume it via the Journal. If the tool is to be used on a new task, the user can launch it from the Home View. The current Home View assumes that the intent of the user is to continue the most recent task with that tool.&lt;br /&gt;
&lt;br /&gt;
This task should set the Home View default to launch a new instance of the activity. The Alt key should be set to enable resuming a selected instance of the activity.  By serendipity, this also shows the Home View with black and white icons. Icons with color signifying a resumable instance use the colors associated with the laptop. Unfortunately many of these color combinations make the icon much more difficult to distinguish than the black and white version. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Activity resume feature ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson&amp;lt;br&amp;gt;Ignacio Rodriguez ||align=left valign=top|&lt;br /&gt;
Sugar provides a &#039;web services&#039; capability. However, these services are only available to an XO which has connection to the internet. This is not useful to a large number of users who do not have internet access. The school server (e.g. XSCE) provides an alternative to the internet for many deployments. This task is to provide a capability on the school server to support some or all of the Sugar web services (e.g. by OwnCloud or ELGG). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar offline ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
There are a number of Sugar activities which currently require access to the internet (InfoSlicer, GetBooks). These activities should have an option to function with the school server. For example, GetBooks could access books on the school server and InfoSlicer could create slices from Wikipedia on the school server as Journal objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar &amp;quot;on-boarding&amp;quot; ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
Sugar users are often new to computers and not familiar with other operating systems. We need a mechanism to allow users to more quickly develop skills in using the capabilities of the XO (&#039;onboarding&#039;). One proposal is to develop scripts which lead the user through a series of interactive steps illustrating common usage of the XO with Sugar ([https://www.sam.today/blog/sugar-onboard-design.html]). This task is to implement an interpretive system that allows &lt;br /&gt;
deployments or experienced users to create an &#039;onboard&#039; script that guides the user to carry out a task. The referenced proposal suggests some user tasks where this mechanism could be employed. Since there is no finite list of these tasks, an interpretive approach enables the scripts to be created as necessary. &lt;br /&gt;
;For example: how does a user switch to the Gnome desktop? A script could be created guiding the user through the necessary steps. How does the user make a screen shot, use Gimp in the gnome desktop to crop and resize, and then insert it as an image in a Write document? How does the user initiate or join a chat?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | 32bit Sugar on Ubuntu||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
Sugar is available on the XO and some other platforms. In particular, Sugar is available for 64-bit systems with Ubuntu 14.04 LTS installed (http://wiki.sugarlabs.org/go/Ubuntu). Unfortunately, this procedure does not work with 32-bit systems. There exists an opportunity to deploy Sugar &lt;br /&gt;
with relatively inexpensive or refurbished laptops which do not provide 64-bit support. This task is to create a comparable version of Sugar which can &lt;br /&gt;
be installed on 32-bit systems as an alternate Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | One to Many Sugar||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
The OLPC model is that each user has full possession and is the only user of an XO laptop. Therefore, Sugar assumes a 1-1 correspondence between users and XO serial numbers. However, Sugar is being used on other platforms (e.g. SOAS), where there is no obvious equivalent to a serial number. SOAS and James Cameron [citation?] have created versions of Sugar which do not assume the user is &#039;olpc&#039;, but implement a standard username/password login system. The users storage is allocated to his/her home directory. &lt;br /&gt;
&lt;br /&gt;
This task is to create a Sugar image for the XO which allows for user&#039;s to login by username and password. The basic task is to move the Activities folder to a common space so that only one copy is needed per system. This will support deployments where one set of laptops are shared across multiple classes (and users) or where there one laptop is shared between two students - one in a morning shift and the other in an afternoon shift. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugarizer ==&lt;br /&gt;
&lt;br /&gt;
[http://sugarizer.org Sugarizer] is a way to use Sugar on any device using web technologies (HTML5/JavaScript). Strictly speaking, Sugarizer is not a port of Sugar. Sugarizer is based on Sugar Web library, which mimics the Sugar UI using HTML5 and CSS3 and reproduces Sugar views (Home, List, ...). Sugarizer reimplements features of Sugar Core (datastore and journal) in JavaScript and integrates a bunch of activities written for Sugar in Sugar Web.&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Sugarizer os android.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugarizer OS ||valign=top width=&amp;quot;15%&amp;quot; | Lionel Laské ||align=left valign=top|&lt;br /&gt;
Sugarizer OS is a way to boot directly a device on Sugarizer and allow the user to use both Sugarizer activities and system native applications. Sugarizer OS is not an OS but a way to propose a full Sugar experience on a non-Sugar device.&lt;br /&gt;
&lt;br /&gt;
On Android, Sugarizer OS will take the form of an Android Launcher so it will be able to replace the standard Android launcher of the device. So the user will be able to launch both Sugarizer Activities and Android application from the Sugarizer home. The Sugarizer List View screen will let you choose which Android application icons will appear in the favorite view.&lt;br /&gt;
&lt;br /&gt;
Into Sugarizer OS the Neighborhood view will let the user see and connect to a WiFi hotspot as in Sugar. The Sugarizer OS settings will allow to access to Android settings and let the use to switch to the standard Android launcher.&lt;br /&gt;
&lt;br /&gt;
Prerequisite: Android, Java, HTML5/JavaScript.&lt;br /&gt;
&lt;br /&gt;
How to start: Clone the [https://github.com/llaske/sugarizer Sugarizer repository], then create your own APK following instructions [https://github.com/llaske/sugarizer/blob/master/README.md#build-client-for-android-or-ios here]. Think about how to adapt this APK to transform it into an Android launcher.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Dashboard server.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugarizer Server Dashboard ||valign=top width=&amp;quot;15%&amp;quot; | Lionel Laské ||align=left valign=top|&lt;br /&gt;
Sugarizer Server Dashboard is a web admin console for Sugarizer Server. The Dashboard will allow to manage and analyze all activity on a Sugarizer Server. Dashboard features will include:&lt;br /&gt;
* Users: how many users has been registered on the server, how many users currently connected, top users on the server, last users connection, create/edit/remove an user.&lt;br /&gt;
* Journal: how many Journals and how many entries in Journal on the server, last Journal and last entries, size of Journals, top Journals, edit a journal (see/update/remove) entries.&lt;br /&gt;
* Application: how many applications are available on the server, change application visibility from Client, update order and way to appear in favorite view.&lt;br /&gt;
* Graphic and request: display graphics and report on previous data.&lt;br /&gt;
&lt;br /&gt;
Technology to use: HTML5/JavaScript, bootstrap, node.js, MongoDB&lt;br /&gt;
&lt;br /&gt;
How to start: Clone the [https://github.com/llaske/sugarizer Sugarizer repository], then install Sugarizer server using instructions [https://github.com/llaske/sugarizer/blob/master/README.md#server here], finally explore the  [http://sugarizer.org/apidoc/ Sugarizer Server API] and think about way to implement dashboard features.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Fototoon-moon-speak.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugarizer Activity Set ||valign=top width=&amp;quot;15%&amp;quot; | Lionel Laské ||align=left valign=top|&lt;br /&gt;
The objective of this project is to port some famous Sugar activities into HTML5/JavaScript Sugar Web activities that will be include into the Sugarizer Package. Three activities will be ported:&lt;br /&gt;
* Moon: Moon is a Moon phase viewer, includes Lunar phase information and eclipse data.&lt;br /&gt;
* Speak: Speak is a talking face. Anything you type will be spoken aloud using the speech synthesizer, espeak.&lt;br /&gt;
* Fototoon: Fototoon is an activity that let user create cartoons using pictures from the journal.&lt;br /&gt;
&lt;br /&gt;
Technology to use: HTML5/JavaScript&lt;br /&gt;
&lt;br /&gt;
How to start: Download and install Sugar like explain [https://wiki.sugarlabs.org/go/Downloads here] and install the existing version of activities to port: [http://activities.sugarlabs.org/us/sugar/addon/4034 Moon], [http://activities.sugarlabs.org/us/sugar/addon/4038 Speak], [http://activities.sugarlabs.org/us/sugar/addon/4253 Fototoon]. Clone the [https://github.com/llaske/sugarizer Sugarizer repository], then create an empty Sugarizer activity following instructions [https://github.com/llaske/sugarizer/blob/master/README.md#create-your-own-activity here]. Think about how to reproduce features of existing activities.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Subpages==&lt;br /&gt;
{{Special:PrefixIndex/{{PAGENAMEE}}/}}&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=97041</id>
		<title>Summer of Code/2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=97041"/>
		<updated>2016-02-29T22:11:19Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: /* Sugar Core */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Students&#039;&#039;&#039;: See our guide on [[Summer_of_Code#How_to_participate|how to participate in Google Summer of Code]] for more information.&lt;br /&gt;
&lt;br /&gt;
== Project candidates ==&lt;br /&gt;
&lt;br /&gt;
In the table below is a list of projects potential participants might contribute to in the GSoC program.&lt;br /&gt;
&lt;br /&gt;
;Note 0: These are project ideas from Sugar Labs contributors. &#039;&#039;&#039;Students, feel free to propose your ideas as well.&#039;&#039;&#039;&lt;br /&gt;
;Note 1: Potential mentors, please feel free to add ideas to this list. Also, feel free to add your name to a project you&#039;d be willing to co-mentor.&lt;br /&gt;
;Note 2: Potential students, more project ideas can be found on our [[Features]] page.&lt;br /&gt;
&lt;br /&gt;
== Sugar Core ==&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Internationalization and Localization ||valign=top width=&amp;quot;15%&amp;quot; | Chris Leonard ||align=left valign=top|&lt;br /&gt;
;Brief explanation: A goal of Sugar Labs is to enable our users to experience Sugar in their own native language. See [[Translation_Proposal#ToDo:|Translation Proposal To Do List]] for details.&lt;br /&gt;
;Expected results: Work flow improvements for i18n&lt;br /&gt;
;Knowledge prerequisites: Some knowledge of Pootle; some scripting experience; Python&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal-12.jpeg|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Journal Rethink ||valign=top width=&amp;quot;15%&amp;quot; | Sam Parkinson&amp;lt;br&amp;gt;Ignacio Rodríguez ||align=left valign=top|&lt;br /&gt;
;Brief explanation: The Sugar Journal could be rethought to add more emphasis on collaboration, or adding more organisational support for creating &amp;quot;projects&amp;quot; among other things.&lt;br /&gt;
;Expected results: Working code for the journal and vague ideas (more concrete than this) defined ahead of time.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python and knowledge of Gtk+.&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[Image:Sugarlabs_mainpage_01.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Groups Rethink ||valign=top width=&amp;quot;15%&amp;quot; | Sam Parkinson&amp;lt;br&amp;gt;Ignacio Rodríguez ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar has a buddies/group zoom view, which is very limited.  It could be further integrated with sugar (eg. send to group, share with group, have a shared group journal) and expanded upon (having multiple groups user configured, like: a science prac group, a drama play group, etc.).&lt;br /&gt;
;Expected results: Working code for the Sugar and vague ideas (more concrete than this) defined ahead of time.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python and knowledge of Gtk+.  Knowledge of telepathy is might be helpful.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:reflect.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Reflection Activity||valign=top width=&amp;quot;15%&amp;quot; | Sam Parkinson and Walter Bender ||align=left valign=top|&lt;br /&gt;
;Brief explanation: The Sugar Journal is designed to be a place of reflection. We have the basic stub of a reflection activity that attempts to encourage more reflection and as a vehicle for sharing criticism. This idea needs more thought and coding.&lt;br /&gt;
;Expected results: A solid formulation of how the activity will work in the classroom and working code for the Reflection Activity.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python and knowledge of Gtk+.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:git_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Git backend||valign=top width=&amp;quot;15%&amp;quot; | Martin Abente Lahaye and Walter Bender ||align=left valign=top|&lt;br /&gt;
;Brief explanation: The Sugar Journal doesn&#039;t do a great job of supporting versioning or forking. This project is to build a backend for the Journal that is based on git, which does support versioning and forking. By building on top of a git hosting site we get the added benefit of network access as well.&lt;br /&gt;
;Expected results: Working code and an integration with Turtle Blocks&lt;br /&gt;
;Knowledge prerequisite: Strong background in Git and scripting languages such as Python, Ruby and JavaScript.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | || valign=top  style=&amp;quot;background:#e3e4e5;&amp;quot;  | Performance tuning on machines with limited memory || valign=top | Samuel Greenfeld||align=left valign=top |&lt;br /&gt;
;Brief explanation: The newer Sugar builds have performance issues on some old hardware with limited memory. This is keeping some Sugar deployments from upgrading. This project is to look into the performance issues and tune Sugar for low-memory devices.&lt;br /&gt;
;Expected results: build suitable for running on OLPC XO-1 hardware&lt;br /&gt;
;Knowledge prerequisite:&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | || valign=top  style=&amp;quot;background:#e3e4e5;&amp;quot;  | Re-design collaboration with web technologies || valign=top | Martin Abente Lahaye and Walter Bender ||align=left valign=top |&lt;br /&gt;
;Brief explanation: Now that JavaScript has become a first class citizen in the Sugar ecosystem, we must re-design our collaboration model to allow collaboration between web activities regardless of the platform.&lt;br /&gt;
;Knowledge prerequisite: JavaScript, web sockets, web services.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugar Activities ==&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:confusion.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Beyond Flashcards: Programming to ReadJS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Back in the 1980s, IBM had a literacy program, &amp;quot;Writing to Read&amp;quot;. The gist was that writing was a great way to spark a child&#039;s interest in reading. What if writing code could achieve a similar result? The project is to explore how programming might be incorporated into a literacy program. Like turtle, only simple sentences instead of stacks. It would be a &amp;quot;whole word&amp;quot; approach rather than a &amp;quot;phonics&amp;quot; approach: they can take &amp;quot;sentences&amp;quot; and make paragraphs that result in animations.&lt;br /&gt;
;Expected results: Working prototype&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python or JavaScript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top |  ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Covert Record, Clock, Speak and Measure to gstreamer 1.0 ||valign=top width=&amp;quot;15%&amp;quot; | &amp;lt;TBD&amp;gt; ||align=left valign=top|&lt;br /&gt;
;Brief explanation: The vast majority of Activities that use gstreamer for sound have been converted to gstreamer 1.0 because the older 0.10 is now End of Life and is no longer being developed. It also adds quite a large set of extra duplicate dependencies to Sugar distributions. There&#039;s a lot of good examples of Activities that have been converted to provide excellent examples. The gstreamer 1.0 bindings are provided by gobject-introspection so it also assists in the conversion of Activities to gtk3.&lt;br /&gt;
;Expected results: As many of the above Activities converted to use gst 1.0&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python, gobject-introspection and gstreamer&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top |  ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Covert TamTam to Csound6 ||valign=top width=&amp;quot;15%&amp;quot; | &amp;lt;TBD&amp;gt; ||align=left valign=top|&lt;br /&gt;
;Brief explanation: TamTam makes extensive use of CSound, other Activities like Memorize, Pippy, and TurtleBlocks also can make use of CSound bindings. With the introduction of CSound 6 to a number of distributions TamTam needs migration to use the newer version of CSound.&lt;br /&gt;
;Expected results: Convert TamTam to use CSound6, possibly other Activities&lt;br /&gt;
;Knowledge prerequisite: Strong background in Python, background in CSound&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Music-Blocks.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Music Widgets||valign=top width=&amp;quot;15%&amp;quot; | Devin Ulibarri ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Development four new widgets to improve the possibilities for music&lt;br /&gt;
learning as well as overall user-experience for Music Blocks. The widgets are 1. Pitch-Staircase 2. Tempo 3. Rhythm Rulers, and 4. Free-Pitch Slider. Widgets will integrate with the current coding environment without disrupting the underlying language in any way (like the current pitch-time matrix).&lt;br /&gt;
;Expected results: Users will use these to explore musical concepts and generate desired&lt;br /&gt;
blocks from their experiments.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript, Basic knowledge of Music Theory&lt;br /&gt;
and/or physics&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugar Activities (and Ports) ==&lt;br /&gt;
&lt;br /&gt;
These are existing and new activities we&#039;d like to see enhanced. We expect that the activities will take on new UI features and pedagogical significance.&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Music-Blocks.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Music Blocks Challenges||valign=top width=&amp;quot;15%&amp;quot; | Devin Ulibarri||align=left valign=top|&lt;br /&gt;
;Brief explanation: Development of the &amp;quot;Power Piece&amp;quot; concept for teaching music and programming. (Power Pieces introduce rich musical ideas that can be studied, analyzed, transformed, and re-imagined, they are ripe for open-ended explorations.)&lt;br /&gt;
;Expected results: A well-documented series of activities for exploring musical and programming concepts using the Music Blocks activity as a foundation.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript, Music Theory&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Nutrition-icon.svg|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Nutritional Microworld||valign=top width=&amp;quot;15%&amp;quot; | w/Dr. Jessica Early||align=left valign=top|&lt;br /&gt;
;Brief explanation: We have the basic building blocks (Turtle Nutrition) for programming with food as a datatype. What we are missing is a collection of meaningful activities to use with the tool as exemplars. We want to develop a an open-ended, yet&lt;br /&gt;
relevant tool—one that invites learners to explore fundamental concepts of nutrition that are both intrinsic to nutrition yet transcendent of a specific discipline.&lt;br /&gt;
;Expected results: A well-documented series of activities for exploring nutrition that use the nutrition plugin as a basis. A series of workshops to study these ideas with children.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript, some background in Nutrition.&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Turtle-Flags.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Turtle Confusion/Flags JS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of Turtle Confusion and Turlte Flags.&lt;br /&gt;
;Expected results: A framework for creating challenges and a few exemplars.&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Tux Math||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
The TuxMath activity is popular with deployments. However, the upstream version appears to be abandoned. This task would be to implement a sugar-web-activity math game comparable to TuxMath.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugar Technology ==&lt;br /&gt;
&lt;br /&gt;
Sugar is based on the Python programming language and the GTK libraries. We also support some web technologies: HTML5, CSS, and JavaScript.&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Debugging.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Unit Testing ||valign=top width=&amp;quot;15%&amp;quot; | TBD ||align=left valign=top|&lt;br /&gt;
Deep dive into unit tests. We have a framework but it provides scant coverage for Sugar core and almost no coverage for Sugar activities.&lt;br /&gt;
;Brief Description: The goal is to develop tests for many more subsystems in Sugar core and to light a fire under the developer community to write tests for Sugar activities.&lt;br /&gt;
;Expected Results: a new test suite and scads of documentation.&lt;br /&gt;
;Knowledge Prerequisite: A strong background in Python.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugar on the Ground ==&lt;br /&gt;
&lt;br /&gt;
A number of real-world issues crop up in deployments of Sugar, especially where resources are limited (bandwidth, CPU speed, battery life, local storage, etc.) These tasks are related to making Sugar more usable under such circumstances.&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal save option ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
&lt;br /&gt;
The Sugar Journal should provide a &#039;save/save as&#039; interface which should enable a user to choose whether to save the current document when an activity is closed. The interface should require a name change from &#039;current.activity&#039; to a user supplied name. If the document is derived from one currently saved in the Journal, the user should be allowed to save (overwrite) or save as (create new document) by giving a new name to the document. This could be accomplished by showing a modal dialog at close time requesting the user to supply a name or not save the document. If the document has a user supplied name, the dialog could request the user to save or to provide a new name to create a new document. &lt;br /&gt;
;Note: this approach satisfies the needs referenced in the git task. Git is a little like a hammer looking for a nail. Using git for this function will likely double the size of the data stored in the Journal (based on normal experience using git). Unfortunately, we don&#039;t have this space on the XOs. The standard save/save as gives the user the ability to manage versions by using unique names.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal as a service ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
&lt;br /&gt;
The Journal activity is currently implemented as an activity. It should be changed to a &#039;service&#039;. This means the Journal icon on the frame should be to the left of the zoom group icons to match the sequence on the keyboard. The Journal is always running as a service when the Sugar is running. It is accessible by the Journal key on the keyboard and also by the Journal button in the frame. When the view is switched to the Journal, clicking on the activity view (right most key of the zoom group) should switch the screen back to the current activity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal backup and restore ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson&amp;lt;br&amp;gt;Ignacio Rodriguez||align=left valign=top|&lt;br /&gt;
Sugar provides a method to backup and restore the Journal (one method to a USB key and one method to the school server). The Journal also provides a select box to enable an action to be taken for all selected objects. This mechanism should be sufficient for the USB key case. However, the school server backup currently is based on taking a snapshot of the current Journal state. This means the size of the objects in a user&#039;s Journal cannot exceed the available local store on an XO (300MB for an XO-1, 1.9GB for other models). A mechanism is needed to save on the school server all documents created by the user and to restore a selected object to the Journal from the school server. Since many documents may represent library objects (e-books, audio, image or video media), the mechanism should recognize these and not save them as user documents. However, the metadata saved should enable the system to download the library items again as needed (and, as available). &lt;br /&gt;
;For example: the mechanism may be to upload Journal documents to an OwnCloud repository. The user could then select an item in the OwnCloud repository to be downloaded to the Journal. The user could also share any item in OwnCloud with other user groups or individuals&lt;br /&gt;
;Note: This would essentially accomplish the intent of the group/buddy task. Further, OwnCloud could be provided on a school server or on the internet. as appropriate.&lt;br /&gt;
;Note: There is a Sugar interface for saving to other cloud services, such as Google Docs, Dropbox, et al. that could be exploited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal session data management ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
One goal of Sugar is to record information about user sessions. This is currently accomplished by creating statistics from the metadata stored in the Journal.&lt;br /&gt;
Unfortunately, a consequence is that the Journal view fills with essentially meaningless links to this metadata (mine fills with Terminal Activity and Log entries).&lt;br /&gt;
This makes it much harder for the user to identify meaningful Journal objects (documents, images, items from the library, ...). A mechanism is needed to that session data can be logged independently of the Journal view (i.e not shown on the screen). This logged information should be transferred to a backup repository (e.g. school server or USB drive) as soon as possible and deleted from the local store to free up space. The available reporting activities should be modified to use this new mechanism.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal quota management ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
The Journal icon provides information the amount of free space in the user&#039;s store. if this amount is less than 50MB, a dialog is shown requiring the user to switch to the Journal view and claiming that the &#039;Journal is Full&#039;. This message is, at best, misleading. The available storage can arise from several causes - the fact that an activities &#039;instance&#039; store was not deleted, the space required by installed activities, or space required by data files in /home/olpc/Library, or data stored by activities in &#039;data&#039;, &#039;instance&#039; or &#039;temp&#039;. Currently, Sugar provides no guidance or help to enable a user to deal with this problem short of reflashing the image. The goal of this task is to provide a quota management system on storage with a way for the user (e.g. by a special Sugar activity) to analyze the usage of storage and to save by usb key or school server or cloud storage large or currently unneeded items and then delete them. The system should show the user the size of items and provide updates on how much storage has been made free by his/her actions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Journal activity resume feature ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
In Sugar&#039;s Home View, a click on an activity icon by default resumes the most recent instance of the activity. This capability is designed into the Journal and is redundant in the Home View. A Sugar activity is a tool to enable the user to accomplish some task. If that task is not completed, the user can resume it via the Journal. If the tool is to be used on a new task, the user can launch it from the Home View. The current Home View assumes that the intent of the user is to continue the most recent task with that tool.&lt;br /&gt;
&lt;br /&gt;
This task should set the Home View default to launch a new instance of the activity. The Alt key should be set to enable resuming a selected instance of the activity.  By serendipity, this also shows the Home View with black and white icons. Icons with color signifying a resumable instance use the colors associated with the laptop. Unfortunately many of these color combinations make the icon much more difficult to distinguish than the black and white version. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar Activity resume feature ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson&amp;lt;br&amp;gt;Ignacio Rodriguez ||align=left valign=top|&lt;br /&gt;
Sugar provides a &#039;web services&#039; capability. However, these services are only available to an XO which has connection to the internet. This is not useful to a large number of users who do not have internet access. The school server (e.g. XSCE) provides an alternative to the internet for many deployments. This task is to provide a capability on the school server to support some or all of the Sugar web services (e.g. by OwnCloud or ELGG). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar offline ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
There are a number of Sugar activities which currently require access to the internet (InfoSlicer, GetBooks). These activities should have an option to function with the school server. For example, GetBooks could access books on the school server and InfoSlicer could create slices from Wikipedia on the school server as Journal objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugar &amp;quot;on-boarding&amp;quot; ||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
Sugar users are often new to computers and not familiar with other operating systems. We need a mechanism to allow users to more quickly develop skills in using the capabilities of the XO (&#039;onboarding&#039;). One proposal is to develop scripts which lead the user through a series of interactive steps illustrating common usage of the XO with Sugar ([https://www.sam.today/blog/sugar-onboard-design.html]). This task is to implement an interpretive system that allows &lt;br /&gt;
deployments or experienced users to create an &#039;onboard&#039; script that guides the user to carry out a task. The referenced proposal suggests some user tasks where this mechanism could be employed. Since there is no finite list of these tasks, an interpretive approach enables the scripts to be created as necessary. &lt;br /&gt;
;For example: how does a user switch to the Gnome desktop? A script could be created guiding the user through the necessary steps. How does the user make a screen shot, use Gimp in the gnome desktop to crop and resize, and then insert it as an image in a Write document? How does the user initiate or join a chat?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | 32bit Sugar on Ubuntu||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
Sugar is available on the XO and some other platforms. In particular, Sugar is available for 64-bit systems with Ubuntu 14.04 LTS installed (http://wiki.sugarlabs.org/go/Ubuntu). Unfortunately, this procedure does not work with 32-bit systems. There exists an opportunity to deploy Sugar &lt;br /&gt;
with relatively inexpensive or refurbished laptops which do not provide 64-bit support. This task is to create a comparable version of Sugar which can &lt;br /&gt;
be installed on 32-bit systems as an alternate Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Journal.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | One to Many Sugar||valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson ||align=left valign=top|&lt;br /&gt;
The OLPC model is that each user has full possession and is the only user of an XO laptop. Therefore, Sugar assumes a 1-1 correspondence between users and XO serial numbers. However, Sugar is being used on other platforms (e.g. SOAS), where there is no obvious equivalent to a serial number. SOAS and James Cameron [citation?] have created versions of Sugar which do not assume the user is &#039;olpc&#039;, but implement a standard username/password login system. The users storage is allocated to his/her home directory. &lt;br /&gt;
&lt;br /&gt;
This task is to create a Sugar image for the XO which allows for user&#039;s to login by username and password. The basic task is to move the Activities folder to a common space so that only one copy is needed per system. This will support deployments where one set of laptops are shared across multiple classes (and users) or where there one laptop is shared between two students - one in a morning shift and the other in an afternoon shift. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugarizer ==&lt;br /&gt;
&lt;br /&gt;
[http://sugarizer.org Sugarizer] is a way to use Sugar on any device using web technologies (HTML5/JavaScript). Strictly speaking, Sugarizer is not a port of Sugar. Sugarizer is based on Sugar Web library, which mimics the Sugar UI using HTML5 and CSS3 and reproduces Sugar views (Home, List, ...). Sugarizer reimplements features of Sugar Core (datastore and journal) in JavaScript and integrates a bunch of activities written for Sugar in Sugar Web.&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Sugarizer os android.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugarizer OS ||valign=top width=&amp;quot;15%&amp;quot; | Lionel Laské ||align=left valign=top|&lt;br /&gt;
Sugarizer OS is a way to boot directly a device on Sugarizer and allow the user to use both Sugarizer activities and system native applications. Sugarizer OS is not an OS but a way to propose a full Sugar experience on a non-Sugar device.&lt;br /&gt;
&lt;br /&gt;
On Android, Sugarizer OS will take the form of an Android Launcher so it will be able to replace the standard Android launcher of the device. So the user will be able to launch both Sugarizer Activities and Android application from the Sugarizer home. The Sugarizer List View screen will let you choose which Android application icons will appear in the favorite view.&lt;br /&gt;
&lt;br /&gt;
Into Sugarizer OS the Neighborhood view will let the user see and connect to a WiFi hotspot as in Sugar. The Sugarizer OS settings will allow to access to Android settings and let the use to switch to the standard Android launcher.&lt;br /&gt;
&lt;br /&gt;
Prerequisite: Android, Java, HTML5/JavaScript.&lt;br /&gt;
&lt;br /&gt;
How to start: Clone the [https://github.com/llaske/sugarizer Sugarizer repository], then create your own APK following instructions [https://github.com/llaske/sugarizer/blob/master/README.md#build-client-for-android-or-ios here]. Think about how to adapt this APK to transform it into an Android launcher.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Dashboard server.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugarizer Server Dashboard ||valign=top width=&amp;quot;15%&amp;quot; | Lionel Laské ||align=left valign=top|&lt;br /&gt;
Sugarizer Server Dashboard is a web admin console for Sugarizer Server. The Dashboard will allow to manage and analyze all activity on a Sugarizer Server. Dashboard features will include:&lt;br /&gt;
* Users: how many users has been registered on the server, how many users currently connected, top users on the server, last users connection, create/edit/remove an user.&lt;br /&gt;
* Journal: how many Journals and how many entries in Journal on the server, last Journal and last entries, size of Journals, top Journals, edit a journal (see/update/remove) entries.&lt;br /&gt;
* Application: how many applications are available on the server, change application visibility from Client, update order and way to appear in favorite view.&lt;br /&gt;
* Graphic and request: display graphics and report on previous data.&lt;br /&gt;
&lt;br /&gt;
Technology to use: HTML5/JavaScript, bootstrap, node.js, MongoDB&lt;br /&gt;
&lt;br /&gt;
How to start: Clone the [https://github.com/llaske/sugarizer Sugarizer repository], then install Sugarizer server using instructions [https://github.com/llaske/sugarizer/blob/master/README.md#server here], finally explore the  [http://sugarizer.org/apidoc/ Sugarizer Server API] and think about way to implement dashboard features.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Fototoon-moon-speak.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Sugarizer Activity Set ||valign=top width=&amp;quot;15%&amp;quot; | Lionel Laské ||align=left valign=top|&lt;br /&gt;
The objective of this project is to port some famous Sugar activities into HTML5/JavaScript Sugar Web activities that will be include into the Sugarizer Package. Three activities will be ported:&lt;br /&gt;
* Moon: Moon is a Moon phase viewer, includes Lunar phase information and eclipse data.&lt;br /&gt;
* Speak: Speak is a talking face. Anything you type will be spoken aloud using the speech synthesizer, espeak.&lt;br /&gt;
* Fototoon: Fototoon is an activity that let user create cartoons using pictures from the journal.&lt;br /&gt;
&lt;br /&gt;
Technology to use: HTML5/JavaScript&lt;br /&gt;
&lt;br /&gt;
How to start: Download and install Sugar like explain [https://wiki.sugarlabs.org/go/Downloads here] and install the existing version of activities to port: [http://activities.sugarlabs.org/us/sugar/addon/4034 Moon], [http://activities.sugarlabs.org/us/sugar/addon/4038 Speak], [http://activities.sugarlabs.org/us/sugar/addon/4253 Fototoon]. Clone the [https://github.com/llaske/sugarizer Sugarizer repository], then create an empty Sugarizer activity following instructions [https://github.com/llaske/sugarizer/blob/master/README.md#create-your-own-activity here]. Think about how to reproduce features of existing activities.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Subpages==&lt;br /&gt;
{{Special:PrefixIndex/{{PAGENAMEE}}/}}&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Sugar3Docs/HowToWrite&amp;diff=96752</id>
		<title>Features/Sugar3Docs/HowToWrite</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Sugar3Docs/HowToWrite&amp;diff=96752"/>
		<updated>2015-12-29T21:00:39Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: Redirected page to Features/Sugar3 Docs/How To Write&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Features/Sugar3 Docs/How To Write]]&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.108/Feature_List&amp;diff=96679</id>
		<title>0.108/Feature List</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.108/Feature_List&amp;diff=96679"/>
		<updated>2015-12-21T22:16:53Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: Change home views name has landed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;[[Category:FeatureList]]&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
! Owner !! Complete !! Name !! Summary !! Feature Page !! PRs !!Updated&lt;br /&gt;
|-&lt;br /&gt;
| Sam || || Replace GtkMenu || Replace the use of GtkMenu in palettes in the Sugar code || [[Features/Replace GtkMenu]] ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| Tch || 100% || Trigger Bundle Add || Let external scripts explicitly tell the registry to add a bundle || [[Features/Trigger Bundle Add]] || [https://github.com/sugarlabs/sugar/pull/584 584] || &lt;br /&gt;
|-&lt;br /&gt;
| Gonzalo || 100% || Publish Sugar Version || Publish an env variable to allow activities to know what Sugar version is running || [[Features/Publish Sugar Version]] || ||&lt;br /&gt;
|-&lt;br /&gt;
| Tch || 100% || Fix bundle install issues || Activity bundle directories are now touched as a signal for installation by the BundleRegistry || [[Features/Trigger Bundle Add]] || [https://github.com/sugarlabs/sugar/pull/584 584] || 31 Oct&lt;br /&gt;
|-&lt;br /&gt;
| Sam || 5% || &#039;Fix&#039; collaboration || Migrate collaboration to telepathy text channels, add abstractions, port activities || None || || 31 Oct&lt;br /&gt;
|-&lt;br /&gt;
| Ignacio &amp;lt;br&amp;gt; Code by: Ezequiel Pereira (GCI 2015) || 100% || Change home view name || Improve existing [[Features/Multiple_home_views|multiple home views]] feature to allow customisation of home view name || [[Features/Change home view name]] || [https://github.com/sugarlabs/sugar/pull/623 623] [https://github.com/sugarlabs/sugar/pull/624 624] || 21 Dec&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Merged&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Release noteworthy things:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/sugarlabs/sugar/pull/580 - When you remove the battery, Sugar does too!  The battery icon is shown/hidden from the Frame when you remove/replace the battery.&lt;br /&gt;
* https://bugs.sugarlabs.org/ticket/3672#comment:2 - View source now gives you feedback when you duplicate an activity.&lt;br /&gt;
* https://github.com/sugarlabs/sugar/pull/592 - Sugar will now power off even if some activities are unresponsive.&lt;br /&gt;
* https://github.com/sugarlabs/sugar/pull/606 - Pressing &amp;lt;alt&amp;gt;&amp;lt;shift&amp;gt;M will now launch &amp;lt;u&amp;gt;M&amp;lt;/u&amp;gt;y Settings&lt;br /&gt;
* https://github.com/sugarlabs/sugar/pull/608 - sugar-install-bundle now accepts multiple bundles - eg. &#039;&#039;sugar-install-bundle my-activity.xo your-activity.xo Downloads/*&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.108/Feature_List&amp;diff=96535</id>
		<title>0.108/Feature List</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.108/Feature_List&amp;diff=96535"/>
		<updated>2015-12-14T23:52:45Z</updated>

		<summary type="html">&lt;p&gt;Ignacio: Adding myself&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;[[Category:FeatureList]]&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
! Owner !! Complete !! Name !! Summary !! Feature Page !! PRs !!Updated&lt;br /&gt;
|-&lt;br /&gt;
| Sam || || Replace GtkMenu || Replace the use of GtkMenu in palettes in the Sugar code || [[Features/Replace GtkMenu]] ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| Tch || 100% || Trigger Bundle Add || Let external scripts explicitly tell the registry to add a bundle || [[Features/Trigger Bundle Add]] || [https://github.com/sugarlabs/sugar/pull/584 584] || &lt;br /&gt;
|-&lt;br /&gt;
| Gonzalo || 100% || Publish Sugar Version || Publish an env variable to allow activities to know what Sugar version is running || [[Features/Publish Sugar Version]] || ||&lt;br /&gt;
|-&lt;br /&gt;
| Tch || 100% || Fix bundle install issues || Activity bundle directories are now touched as a signal for installation by the BundleRegistry || [[Features/Trigger Bundle Add]] || [https://github.com/sugarlabs/sugar/pull/584 584] || 31 Oct&lt;br /&gt;
|-&lt;br /&gt;
| Sam || 5% || &#039;Fix&#039; collaboration || Migrate collaboration to telepathy text channels, add abstractions, port activities || None || || 31 Oct&lt;br /&gt;
|-&lt;br /&gt;
| Ignacio &amp;lt;br&amp;gt; Code by: Ezequiel Pereira (GCI 2015) || 100%&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Still not merged&amp;lt;/b&amp;gt; || Change home view name || Improve existing [[Features/Multiple_home_views|multiple home views]] feature to allow customisation of home view name || [[Features/Change home view name]] || [https://github.com/sugarlabs/sugar/pull/623 623] [https://github.com/sugarlabs/sugar/pull/624 624] || 11 Dec&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Release noteworthy things:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/sugarlabs/sugar/pull/580 - When you remove the battery, Sugar does too!  The battery icon is shown/hidden from the Frame when you remove/replace the battery.&lt;br /&gt;
* https://bugs.sugarlabs.org/ticket/3672#comment:2 - View source now gives you feedback when you duplicate an activity.&lt;br /&gt;
* https://github.com/sugarlabs/sugar/pull/592 - Sugar will now power off even if some activities are unresponsive.&lt;br /&gt;
* https://github.com/sugarlabs/sugar/pull/606 - Pressing &amp;lt;alt&amp;gt;&amp;lt;shift&amp;gt;M will now launch &amp;lt;u&amp;gt;M&amp;lt;/u&amp;gt;y Settings&lt;br /&gt;
* https://github.com/sugarlabs/sugar/pull/608 - sugar-install-bundle now accepts multiple bundles - eg. &#039;&#039;sugar-install-bundle my-activity.xo your-activity.xo Downloads/*&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Ignacio</name></author>
	</entry>
</feed>