<?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=Iamutkarshtiwari</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=Iamutkarshtiwari"/>
	<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/go/Special:Contributions/Iamutkarshtiwari"/>
	<updated>2026-05-14T16:33:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2017&amp;diff=100234</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=100234"/>
		<updated>2017-05-08T15:23:26Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Project Ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; 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&lt;br /&gt;
!Mentor&lt;br /&gt;
!Project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Internationalization and Localization&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; |Chris Leonard&lt;br /&gt;
| 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.  See [[Translation Team]] for framework description.&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;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |New Back-end Server for Turtle Blocks and Music Blocks&amp;lt;br&amp;gt;[[File:Git logo.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Vikram Ahuja&amp;lt;br&amp;gt;Ignacio Rodriguez&lt;br /&gt;
| 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;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Going Beyond Equal Temperament in Music Blocks&amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&lt;br /&gt;
| 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.  See also [https://github.com/walterbender/musicblocks/issues Music Blocks issues].&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;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Giving Sugar Labs Website a New Look&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Ignacio Rodriguez&amp;lt;br&amp;gt;Samson Goddy&amp;lt;br&amp;gt;Tymon Radzik&lt;br /&gt;
Hrishi Patel&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: Sugar Labs would like a new look for its [https://github.com/sugarlabs/www-sugarlabs homepage], with the goals of making it more attractive and easier to explore (See link to get more information concerning the [https://github.com/sugarlabs/www-sugarlabs/blob/master/STRUCTURE.md proposed homepage]).&lt;br /&gt;
;Expected results: Deployment of a new website for Sugar Labs&lt;br /&gt;
;Knowledge prerequisites: JavaScript, HTML, CSS, Ruby, JQuery, jeckyl, and/or django&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Maintenance of activities.sugarlabs.org (ASLO)&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Tony Anderson&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: http://activities.sugarlabs.org/ is the Sugar Labs app store, where activities are hosted and downloaded.  Some maintenance tasks are needed.  Sugar uses activities.sugarlabs.org in Software Update in My Settings, and has a link to it in the Browse default page.&lt;br /&gt;
;Expected results: Fix downloads by non-Sugar browsers; old versions are offered.  Fix downloads by new versions of Sugar; old versions are offered.  Make activity maintainer take-over easier; not easy at the moment.  Adopt the new look from the new [http://www.sugarlabs.org/ sugarlabs.org] site; theme now is quite old.  Show new activity.info metadata such as source repository.  Other problems listed in [http://bugs.sugarlabs.org bugs.sugarlabs.org] against component [https://bugs.sugarlabs.org/query?status=accepted&amp;amp;status=assigned&amp;amp;status=new&amp;amp;status=reopened&amp;amp;component=activities.sugarlabs.org&amp;amp;col=id&amp;amp;col=summary&amp;amp;col=priority&amp;amp;col=status&amp;amp;col=owner&amp;amp;col=type&amp;amp;col=milestone&amp;amp;order=priority activities.sugarlabs.org].  Semi-automate common maintenance tasks; like adding a new Sugar version.  Document future maintenance on the Wiki.&lt;br /&gt;
;Knowledge prerequisites: PHP, MySQL, Python, Apache, cron, PHP-Cake, JavaScript, HTML, CSS, and git.  See [https://github.com/sugarlabs/aslo source code].  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |School Management Backend&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: Sugar is a desktop and a collection of apps. It has great internal features for collaboration and journaling. But it doesn&#039;t have any mechanism for managing courses/curriculum/administrative functions commonly found in &amp;quot;school management systems&amp;quot;. It could be possible to overlay on top of Sugar web-services such a toolkit.&lt;br /&gt;
;Expected results: a framework, a core implementation, and documentation for expanding the implementation.&lt;br /&gt;
;Knowledge prerequisites: Python, django&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Timbre Widget for Music Blocks&amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: Ayush Kumar designed a widget for designing voices for Music Blocks (See [http://kuckuck.treehouse.su:5000/task/5948636577923072/instance/5685003230904320/]). This project would be to implement the design.&lt;br /&gt;
;Expected results: a working widget for Music Blocks for manipulating Timbre.&lt;br /&gt;
;Knowledge prerequisites: JavaScript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |{{anchor|sugdash}}Sugarizer Server Dashboard&amp;lt;br&amp;gt;[[File:Dashboard server.png|90px|thumb|center]] &lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Lionel Laské&amp;lt;br&amp;gt;Michaël Ohayon&lt;br /&gt;
|align=left valign=top |&lt;br /&gt;
&lt;br /&gt;
;Brief explanation: [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 activities written for Sugar in Sugar Web. The goal of this specific project is to create the &amp;quot;Sugarizer Server Dashboard&amp;quot;. This feature will require an enhancement of the existing Sugarizer Server API specifically to integrate a real authentication mechanism.&lt;br /&gt;
&lt;br /&gt;
;Expected results: 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;
;Knowledge prerequisites: HTML5/JavaScript, bootstrap, node.js, MongoDB&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 with existing API.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |{{anchor|sugmdm}}Sugarizer Deployement and Management Tool for Android&amp;lt;br&amp;gt;[[File:Sugarizermdmtool.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Michaël Ohayon&amp;lt;br&amp;gt;Lionel Laské&lt;br /&gt;
|align=left valign=top |&lt;br /&gt;
&lt;br /&gt;
;Brief explanation: [http://sugarizer.org Sugarizer] is a way to use Sugar on any device using web technologies. Sugarizer can be deployed on many devices including Android phones and tablets. The goal of this specific project is to create the &amp;quot;Sugarizer Deployment and Management Tool for Android&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
;Expected results: Sugarizer Server Deployment and Management Tool is a GUI Tool working on GNU/Linux, Mac and Windows to deploy and configure Android devices using ADB (Android Debug Bridge).&lt;br /&gt;
* Inventory : Collect and store devices data like serial number, os version, device name, installed applications, current Android launcher and Sugarizer availability.&lt;br /&gt;
* Application Manager : Install or remove applications using APK files.&lt;br /&gt;
* File Manager : Add / Remove files&lt;br /&gt;
* Input Manager : Click / Touch coordinates on the screen, launch applications to perform automations.&lt;br /&gt;
* Scenario Writer : Allow &#039;&#039;&#039;non developpers&#039;&#039;&#039;  to create sequences to perform all the steps previously defined.&lt;br /&gt;
&lt;br /&gt;
;Knowledge prerequisites: Java and JavaFX / Kotlin and TornadoFX &lt;br /&gt;
;How to start: Create a Java or Kotlin project using Intellij and display a window using JavaFX or TornadoFX. Then add https://github.com/vidstige/jadb and display connected android devices in the window.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |User Manual for Music Blocks&amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: We have a [https://github.com/walterbender/musicblocks/blob/master/guide/README.md Guide], but we really need something a bit more polished as a user manual.&lt;br /&gt;
;Expected results: A website and PDF document that can be bound.&lt;br /&gt;
;Knowledge prerequisites: Knowledge of music theory, writing skills&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Just say no to GTK2&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Ignacio Rodriguez&amp;lt;br&amp;gt;Sam Parkinson&lt;br /&gt;
Abhijit Patel&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: GTK2 and GST0.10 are end of life. We need to upgrade the remaining activities with these dependencies.&lt;br /&gt;
;Expected results: New versions of Turtle, Speak, Chat, Record, and a dozen others&lt;br /&gt;
;Knowledge prerequisites: Knowledge of GTK, GST, and Python&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Develop Activity&amp;lt;br&amp;gt;AKA Pippy JS, Taller del Artesano 2 &lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; |Sebastian Silva&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: We don&#039;t have a Javascript IDE for writing activities. This is a proposal to collaborate in making one. It would have templates for writing Javascript and Python.&lt;br /&gt;
;Expected results: New activity capable of making new activities, runnable in Web and Sugarizer&lt;br /&gt;
;Knowledge prerequisites: Python, Javascript, HTML5, CSS&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Debian SugarBlend&lt;br /&gt;
A.K.A: Harmonic Distribution, Deployment Platform&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; |Sebastian Silva&amp;lt;br&amp;gt;Jonas Smedegaard&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: Debian is a base for many educational derivative distribution. We would like to make a SugarBlend that is a good base for local integrators.  See https://wiki.debian.org/SugarBlend and [[Debian]].&lt;br /&gt;
;Expected results: Debian SugarBlend of upcoming Debian 9 (Stretch)&lt;br /&gt;
;Knowledge prerequisites: Debian packaging, Linux system, Shell scripting&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Sugar on Raspberry Pi&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; |Walter Bender&lt;br /&gt;
Hrishi Patel&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: Raspberry Pi is a popular tool with the Maker Movement. Sugar runs quite well on RPi3, but it is in need of some love.&lt;br /&gt;
;Expected results: An image for RPi, which boots to a Sugar desktop environment, and is suitable for inclusion on the [https://www.raspberrypi.org/downloads/ RPi download page].&lt;br /&gt;
;Knowledge prerequisites: Debian and/or Fedora packaging, Linux system, Shell scripting&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Music Blocks for Mobile&amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: Music Blocks was written for a browser, not mobile. It would be great to have a version native to mobile.&lt;br /&gt;
;Expected results: Working version on Android/and/or iOS. Some UI adjustments will be necessary.&lt;br /&gt;
;Knowledge prerequisites: Knowledge of JavaScript/Codrova/React and/or Swift.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Collab Rethink&amp;lt;br&amp;gt;&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Abhijit Patel&amp;lt;br&amp;gt;Walter Bender&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: Sugar collaboration uses a deprecated library, python-telepathy, which we no longer wish to maintain. We need to upgrade Sugar collab using something better&lt;br /&gt;
;Expected results: Working version of revised collab system.&lt;br /&gt;
* Refactored presenceservice&lt;br /&gt;
* Common Collabwrapper module for all sugar activities.&lt;br /&gt;
&lt;br /&gt;
;Knowledge prerequisites: python, prior knowledge of networking. knowledge of telepathy might be useful.&lt;br /&gt;
|&lt;br /&gt;
}|}|}&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Save-As&amp;diff=100218</id>
		<title>Features/Save-As</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Save-As&amp;diff=100218"/>
		<updated>2017-04-30T21:03:39Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Detailed Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Feature Page Incomplete]]&lt;br /&gt;
[[Category:Feature|.]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- All fields on this form are required to be accepted.&lt;br /&gt;
 We also request that you maintain the same order of sections so that all of the feature pages are uniform.  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- The actual name of your feature page should look something like: Features/Your Feature Name.  This keeps all features in the same namespace --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
Provides the &#039;save&#039; and &#039;save as&#039; capabilities common to document processing applications.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: [[User:iamutkarshtiwari| Utkarsh Tiwari]]&lt;br /&gt;
* Email: Utkarsh Tiwari &amp;lt;iamutkarshtiwari@gmail.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.112&lt;br /&gt;
* Last updated: 1st May 2017&lt;br /&gt;
* Percentage of completion: 90%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
* For a new document (start new), when the user &#039;&#039;&#039;Stops&#039;&#039;&#039; the activity, a popup provides an opportunity for the user to give the Journal entry a name. The user can choose from the &#039;Save&#039; and &#039;Don&#039;t Save&#039; options. However, an instance will appear in the Journal for statistical purpose but no changes would be saved if user selects &#039;Don&#039;t Save&#039; option.&lt;br /&gt;
* For an existing document, when the user &#039;&#039;&#039;Stops&#039;&#039;&#039; the activity, a popup provides an opportunity to give it a new name.&lt;br /&gt;
** In this case, if the user supplies a new name (different from original), a new instance is created with the new changes while the original (previous) will remain preserved. &lt;br /&gt;
** If the user saves with the same name, the document is saved replacing the original. &lt;br /&gt;
** If the user selects &#039;Don&#039;t Save&#039; option, no changes are saved (no new entry is created) and the original instance will remain preserved. &lt;br /&gt;
&lt;br /&gt;
* Provides a settings (GConf &amp;amp; GSettings) to enable or disable the feature.&lt;br /&gt;
** &#039;&#039;&#039;GConf -&#039;&#039;&#039; https://github.com/sugarlabs/sugar/pull/751&lt;br /&gt;
** &#039;&#039;&#039;GSettings -&#039;&#039;&#039; https://github.com/sugarlabs/sugar/pull/750&lt;br /&gt;
*After pressing Stop if the user feels that he needs to continue with the current work, he can &#039;&#039;&#039;dismiss&#039;&#039;&#039; the alert by pressing &#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039;Esc&#039; key&#039;&#039;&#039; on keyboard.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
&#039;&#039;What is the &#039;&#039;&#039;benefit&#039;&#039;&#039; to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Sugar become a better platform or project because of this feature?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Currently Sugar saves objects to the Journal with the name of the activity. In the original toolkit design, the name was displayed to the top left of the toolbar so that a user could enter their own name. At that time, the user had a &#039;keep&#039; button on the toolbar which enabled an object to be saved while continuing to work as found on most document based applications.&lt;br /&gt;
&lt;br /&gt;
Currently, there is no keep button because Sugar does that automatically. This change comes with a serious flaw. Sugar uses the existing jobject when an activity is opened so that the original is overwritten. For example, a TurtleBlocks program could be resumed and the user decide to do a new program. His previous program is lost.&lt;br /&gt;
&lt;br /&gt;
With this feature, the activity creates a new object cloned from the original. If the user saves the document (Turtle Blocks program) under a different name, the original remains in the Journal.&lt;br /&gt;
If the name is not changed, the object replaces the original.&lt;br /&gt;
&lt;br /&gt;
This feature is modeled on the behavior of the &#039;save&#039; and &#039;save as&#039; feature of conventional document handling programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Make sure to note here as well if this feature has been requested by a specific deployment, or if it has emerged from a bug report.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Requested by Tony Anderson. Implemented by Utkarsh Tiwari as part of GSOC 2016.&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* pull request review,&lt;br /&gt;
* documentation changes.&lt;br /&gt;
&lt;br /&gt;
Feature is implemented in activity.py (sugar and sugar3). &lt;br /&gt;
A gsetting was added to make enabling the feature optional.&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&lt;br /&gt;
Direct impact on work flow.  A visual mockup is in https://github.com/sugarlabs/sugar-toolkit/pull/4&lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
{{:{{PAGENAME}}/Testing}}&lt;br /&gt;
&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&lt;br /&gt;
When the user presses the stop button or ctrl + q, a dialog will appear giving the opportunity to name or rename the associated Journal entry. &lt;br /&gt;
&lt;br /&gt;
The user can chose not to save the object.&lt;br /&gt;
&lt;br /&gt;
If the document has been resumed from the Journal or the Home View, the user will be able to supply a new name so that this entry is added to the Journal instead of overwriting the original.&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&lt;br /&gt;
No dependencies.&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&lt;br /&gt;
None necessary, revert to previous release behaviour.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
See PR #327 at https://github.com/sugarlabs/sugar-toolkit-gtk3&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&lt;br /&gt;
Save As&lt;br /&gt;
&lt;br /&gt;
A user or deployment can enable this feature by setting &#039;save as&#039;. This feature provides a capability comparable to the &#039;save&#039; and &#039;save as&#039; capabilities offered by conventional document processing programs such as those of Libre Office.&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
* Link to the discussion on lists.sugarlabs.org: http://lists.sugarlabs.org/archive/sugar-devel/2017-April/054141.html&lt;br /&gt;
* See [[{{TALKPAGENAME}}|the discussion tab for this feature.]] &amp;lt;!-- This adds a link to the &amp;quot;discussion&amp;quot; tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page. --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Save-As&amp;diff=100217</id>
		<title>Features/Save-As</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Save-As&amp;diff=100217"/>
		<updated>2017-04-30T21:03:04Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Detailed Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Feature Page Incomplete]]&lt;br /&gt;
[[Category:Feature|.]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- All fields on this form are required to be accepted.&lt;br /&gt;
 We also request that you maintain the same order of sections so that all of the feature pages are uniform.  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- The actual name of your feature page should look something like: Features/Your Feature Name.  This keeps all features in the same namespace --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
Provides the &#039;save&#039; and &#039;save as&#039; capabilities common to document processing applications.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: [[User:iamutkarshtiwari| Utkarsh Tiwari]]&lt;br /&gt;
* Email: Utkarsh Tiwari &amp;lt;iamutkarshtiwari@gmail.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.112&lt;br /&gt;
* Last updated: 1st May 2017&lt;br /&gt;
* Percentage of completion: 90%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
* For a new document (start new), when the user &#039;&#039;&#039;Stops&#039;&#039;&#039; the activity, a popup provides an opportunity for the user to give the Journal entry a name. The user can choose from the &#039;Save&#039; and &#039;Don&#039;t Save&#039; options. However, an instance will appear in the Journal for statistical purpose but no changes would be saved if user selects &#039;Don&#039;t Save&#039; option.&lt;br /&gt;
* For an existing document, when the user &#039;&#039;&#039;Stops&#039;&#039;&#039; the activity, a popup provides an opportunity to give it a new name. I&lt;br /&gt;
** In this case, if the user supplies a new name (different from original), a new instance is created with the new changes while the original (previous) will remain preserved. &lt;br /&gt;
** If the user saves with the same name, the document is saved replacing the original. &lt;br /&gt;
** If the user selects &#039;Don&#039;t Save&#039; option, no changes are saved (no new entry is created) and the original instance will remain preserved. &lt;br /&gt;
&lt;br /&gt;
* Provides a settings (GConf &amp;amp; GSettings) to enable or disable the feature.&lt;br /&gt;
** &#039;&#039;&#039;GConf -&#039;&#039;&#039; https://github.com/sugarlabs/sugar/pull/751&lt;br /&gt;
** &#039;&#039;&#039;GSettings -&#039;&#039;&#039; https://github.com/sugarlabs/sugar/pull/750&lt;br /&gt;
*After pressing Stop if the user feels that he needs to continue with the current work, he can &#039;&#039;&#039;dismiss&#039;&#039;&#039; the alert by pressing &#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039;Esc&#039; key&#039;&#039;&#039; on keyboard.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
&#039;&#039;What is the &#039;&#039;&#039;benefit&#039;&#039;&#039; to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Sugar become a better platform or project because of this feature?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Currently Sugar saves objects to the Journal with the name of the activity. In the original toolkit design, the name was displayed to the top left of the toolbar so that a user could enter their own name. At that time, the user had a &#039;keep&#039; button on the toolbar which enabled an object to be saved while continuing to work as found on most document based applications.&lt;br /&gt;
&lt;br /&gt;
Currently, there is no keep button because Sugar does that automatically. This change comes with a serious flaw. Sugar uses the existing jobject when an activity is opened so that the original is overwritten. For example, a TurtleBlocks program could be resumed and the user decide to do a new program. His previous program is lost.&lt;br /&gt;
&lt;br /&gt;
With this feature, the activity creates a new object cloned from the original. If the user saves the document (Turtle Blocks program) under a different name, the original remains in the Journal.&lt;br /&gt;
If the name is not changed, the object replaces the original.&lt;br /&gt;
&lt;br /&gt;
This feature is modeled on the behavior of the &#039;save&#039; and &#039;save as&#039; feature of conventional document handling programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Make sure to note here as well if this feature has been requested by a specific deployment, or if it has emerged from a bug report.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Requested by Tony Anderson. Implemented by Utkarsh Tiwari as part of GSOC 2016.&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* pull request review,&lt;br /&gt;
* documentation changes.&lt;br /&gt;
&lt;br /&gt;
Feature is implemented in activity.py (sugar and sugar3). &lt;br /&gt;
A gsetting was added to make enabling the feature optional.&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&lt;br /&gt;
Direct impact on work flow.  A visual mockup is in https://github.com/sugarlabs/sugar-toolkit/pull/4&lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
{{:{{PAGENAME}}/Testing}}&lt;br /&gt;
&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&lt;br /&gt;
When the user presses the stop button or ctrl + q, a dialog will appear giving the opportunity to name or rename the associated Journal entry. &lt;br /&gt;
&lt;br /&gt;
The user can chose not to save the object.&lt;br /&gt;
&lt;br /&gt;
If the document has been resumed from the Journal or the Home View, the user will be able to supply a new name so that this entry is added to the Journal instead of overwriting the original.&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&lt;br /&gt;
No dependencies.&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&lt;br /&gt;
None necessary, revert to previous release behaviour.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
See PR #327 at https://github.com/sugarlabs/sugar-toolkit-gtk3&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&lt;br /&gt;
Save As&lt;br /&gt;
&lt;br /&gt;
A user or deployment can enable this feature by setting &#039;save as&#039;. This feature provides a capability comparable to the &#039;save&#039; and &#039;save as&#039; capabilities offered by conventional document processing programs such as those of Libre Office.&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
* Link to the discussion on lists.sugarlabs.org: http://lists.sugarlabs.org/archive/sugar-devel/2017-April/054141.html&lt;br /&gt;
* See [[{{TALKPAGENAME}}|the discussion tab for this feature.]] &amp;lt;!-- This adds a link to the &amp;quot;discussion&amp;quot; tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page. --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Save-As&amp;diff=100216</id>
		<title>Features/Save-As</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Save-As&amp;diff=100216"/>
		<updated>2017-04-30T21:00:33Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Detailed Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Feature Page Incomplete]]&lt;br /&gt;
[[Category:Feature|.]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- All fields on this form are required to be accepted.&lt;br /&gt;
 We also request that you maintain the same order of sections so that all of the feature pages are uniform.  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- The actual name of your feature page should look something like: Features/Your Feature Name.  This keeps all features in the same namespace --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
Provides the &#039;save&#039; and &#039;save as&#039; capabilities common to document processing applications.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: [[User:iamutkarshtiwari| Utkarsh Tiwari]]&lt;br /&gt;
* Email: Utkarsh Tiwari &amp;lt;iamutkarshtiwari@gmail.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.112&lt;br /&gt;
* Last updated: 1st May 2017&lt;br /&gt;
* Percentage of completion: 90%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
* For a new document (start new), when the user &#039;&#039;&#039;Stops&#039;&#039;&#039; the activity, a popup provides an opportunity for the user to give the Journal entry a name. The user can choose from the &#039;Save&#039; and &#039;Don&#039;t Save&#039; options. However, an instance will appear in the Journal for statistical purpose but no changes would be saved if user selects &#039;Don&#039;t Save&#039; option.&lt;br /&gt;
* For an existing document, when the user &#039;&#039;&#039;Stops&#039;&#039;&#039; the activity, a popup provides an opportunity to give it a new name. I&lt;br /&gt;
** In this case, if the user supplies a new name (different from original), a new instance is created with the new changes while the original (previous) will remain preserved. &lt;br /&gt;
** If the user saves with the same name, the document is saved replacing the original. &lt;br /&gt;
** If the user selects &#039;Don&#039;t Save&#039; option, no changes are saved (no new entry is created) and the original instance will remain preserved. &lt;br /&gt;
&lt;br /&gt;
* Provides a settings (GConf &amp;amp; GSettings) to enable or disable the feature.&lt;br /&gt;
** &#039;&#039;&#039;GConf -&#039;&#039;&#039; https://github.com/sugarlabs/sugar/pull/751&lt;br /&gt;
** &#039;&#039;&#039;GSettings -&#039;&#039;&#039; https://github.com/sugarlabs/sugar/pull/750&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
&#039;&#039;What is the &#039;&#039;&#039;benefit&#039;&#039;&#039; to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Sugar become a better platform or project because of this feature?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Currently Sugar saves objects to the Journal with the name of the activity. In the original toolkit design, the name was displayed to the top left of the toolbar so that a user could enter their own name. At that time, the user had a &#039;keep&#039; button on the toolbar which enabled an object to be saved while continuing to work as found on most document based applications.&lt;br /&gt;
&lt;br /&gt;
Currently, there is no keep button because Sugar does that automatically. This change comes with a serious flaw. Sugar uses the existing jobject when an activity is opened so that the original is overwritten. For example, a TurtleBlocks program could be resumed and the user decide to do a new program. His previous program is lost.&lt;br /&gt;
&lt;br /&gt;
With this feature, the activity creates a new object cloned from the original. If the user saves the document (Turtle Blocks program) under a different name, the original remains in the Journal.&lt;br /&gt;
If the name is not changed, the object replaces the original.&lt;br /&gt;
&lt;br /&gt;
This feature is modeled on the behavior of the &#039;save&#039; and &#039;save as&#039; feature of conventional document handling programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Make sure to note here as well if this feature has been requested by a specific deployment, or if it has emerged from a bug report.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Requested by Tony Anderson. Implemented by Utkarsh Tiwari as part of GSOC 2016.&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* pull request review,&lt;br /&gt;
* documentation changes.&lt;br /&gt;
&lt;br /&gt;
Feature is implemented in activity.py (sugar and sugar3). &lt;br /&gt;
A gsetting was added to make enabling the feature optional.&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&lt;br /&gt;
Direct impact on work flow.  A visual mockup is in https://github.com/sugarlabs/sugar-toolkit/pull/4&lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
{{:{{PAGENAME}}/Testing}}&lt;br /&gt;
&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&lt;br /&gt;
When the user presses the stop button or ctrl + q, a dialog will appear giving the opportunity to name or rename the associated Journal entry. &lt;br /&gt;
&lt;br /&gt;
The user can chose not to save the object.&lt;br /&gt;
&lt;br /&gt;
If the document has been resumed from the Journal or the Home View, the user will be able to supply a new name so that this entry is added to the Journal instead of overwriting the original.&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&lt;br /&gt;
No dependencies.&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&lt;br /&gt;
None necessary, revert to previous release behaviour.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
See PR #327 at https://github.com/sugarlabs/sugar-toolkit-gtk3&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&lt;br /&gt;
Save As&lt;br /&gt;
&lt;br /&gt;
A user or deployment can enable this feature by setting &#039;save as&#039;. This feature provides a capability comparable to the &#039;save&#039; and &#039;save as&#039; capabilities offered by conventional document processing programs such as those of Libre Office.&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
* Link to the discussion on lists.sugarlabs.org: http://lists.sugarlabs.org/archive/sugar-devel/2017-April/054141.html&lt;br /&gt;
* See [[{{TALKPAGENAME}}|the discussion tab for this feature.]] &amp;lt;!-- This adds a link to the &amp;quot;discussion&amp;quot; tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page. --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Google_Code_In_2016&amp;diff=99343</id>
		<title>Google Code In 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Google_Code_In_2016&amp;diff=99343"/>
		<updated>2016-11-05T07:27:50Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Mentors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;[[Category:Trac Reference]][[Category:Idea]]&lt;br /&gt;
[[Category: GCI2015]]&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 2016]. Sugar Labs community members: please feel free to add tasks below. We&#039;ll do an edit before final applications are due the first week of November 2016.&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 2015/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 we are 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 ==&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;
=== Getting started with coding ===&lt;br /&gt;
&lt;br /&gt;
Sugar development is in either Python or Javascript.&lt;br /&gt;
&lt;br /&gt;
* You will need knowledge of Python and GTK (See http://python-gtk-3-tutorial.readthedocs.org/en/latest/);&lt;br /&gt;
* or Javascript/HTML5;&lt;br /&gt;
* and then the basic of Sugar development (See http://www.flossmanuals.net/make-your-own-sugar-activities/);&lt;br /&gt;
* and to have a Sugar development environment running (See http://developer.sugarlabs.org).&lt;br /&gt;
&lt;br /&gt;
Please note that you must run [http://legacy.python.org/dev/peps/pep-0008/#introduction pep8] and pyflakes on your code &#039;&#039;before&#039;&#039; submitting your patches.&lt;br /&gt;
&lt;br /&gt;
=== Getting started with GIT ===&lt;br /&gt;
&lt;br /&gt;
Some knowledge of git is important as your work will be submitted to our git repository (https://github.com/sugarlabs). The basic mechanism is a pull request (PR), which is detailed in [http://developer.sugarlabs.org/contributing.md.html].&lt;br /&gt;
&lt;br /&gt;
GitHub provides a tutorial (See https://try.github.io/levels/1/challenges/1), although there are many others as well.&lt;br /&gt;
&lt;br /&gt;
Note that our bug tracker is http:bugs.sugarlabs.org.&lt;br /&gt;
&lt;br /&gt;
=== Getting started with Sugarizer === &lt;br /&gt;
&lt;br /&gt;
Sugar Web Framework is the JavaScript Framework for Sugar [https://github.com/sugarlabs/sugar-docs/blob/master/web-architecture.md]. Sugarizer [http://sugarizer.org] is a subset of Sugar that allow runing activities developed with Sugar Web Framework on any web browser. Sugarizer is also available as Android, iOS, Firefox OS and Chrome Web App.&lt;br /&gt;
&lt;br /&gt;
== This is a stub for 25+ example tasks new for GCI 2016. ==&lt;br /&gt;
&lt;br /&gt;
# Investigate Google Fuzzing tool (Research)&lt;br /&gt;
# Decimal places in Calculate activity (Code: Pyhton)&lt;br /&gt;
# Music Blocks examples (Documentation/Training)&lt;br /&gt;
# Space team activity (Code: Python)&lt;br /&gt;
# Bugzilla clean up (QA)&lt;br /&gt;
# Teach me how to draw activity (Code: Python)&lt;br /&gt;
# Manage order of blocks in Turtle plugins (Code: Javascript)&lt;br /&gt;
# Plugin manager for Turtle JS (Code: Javascript)&lt;br /&gt;
# Refactor pitch-time matrix code (Code: Javascript)&lt;br /&gt;
# Fix scrolling problem with pitch-time matrix (Code: Javascript)&lt;br /&gt;
# Refactor Training activity to be non-specific to Australia (Code: Python)&lt;br /&gt;
# Refactor Turtle graphics to adopt look of Javascript version (Code: Python)&lt;br /&gt;
# Improvements to Lilypond interface (Code: Javascript)&lt;br /&gt;
# Add drum icons in Music Blocks (Design)&lt;br /&gt;
# Add more synths/sound fonts to Music Blocks (Research)&lt;br /&gt;
# Add ABC import to Music Blocks (Code: Javascript)&lt;br /&gt;
# Add ABC export to Music Blocks (Code: Javascript)&lt;br /&gt;
# Add Lilypond import to Music Blocks (Code: Javascript)&lt;br /&gt;
# Refactor Planet server for Turtle Blocks (Code: Python)&lt;br /&gt;
# Research graphics caching in Turtle (Research)&lt;br /&gt;
# Wiki cleanup (Documentation)&lt;br /&gt;
# Make trash areas smaller on Turtle (Code: Javascript)&lt;br /&gt;
# Write a Turtle plugin (Code: Javascript)&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;
# Add synth lab widget to Music Blocks (Code: Javascript)&lt;br /&gt;
# Backport a web plugin from Turtle Blocks JS to Python (Code: Python)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Begin comment out this section&lt;br /&gt;
&lt;br /&gt;
== Tasks ==&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This is our preliminary list of tasks. We can add more as the contest progresses.&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;
End of commented out section --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Beginner Tasks===&lt;br /&gt;
We have several tasks that are targeting people new to Sugar and Sugar development. You are only allowed to complete two beginner tasks.&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 !! Description !! Hours !! Mentor !! Tag&lt;br /&gt;
|-&lt;br /&gt;
|Install the Sugar development environment||Following the instruction at [http://developer.sugarlabs.org/dev-environment.md.html], set up the Sugar development environment. Submit a screen-shot of the development environment running to complete this task. You can get help on our irc channel should you run into any difficulties.|| 48 || all || beginner&lt;br /&gt;
|-&lt;br /&gt;
|Install Sugar in a virtual machine||If your intention is to focus on documentation and training or outreach, then you may want to install Sugar in a virtual machine. Following the instructions at [http://wiki.sugarlabs.org/go/Sugar_Creation_Kit#Tutorials][http://wiki.sugarlabs.org/go/Sugar_on_a_Stick/Virtual_machines][http://wiki.sugarlabs.org/go/Downloads#Virtual_Machines_on_all_platforms], set up the Sugar development environment. Submit a screen-shot of the development environment running to complete this task. You can get help on our irc channel should you run into any difficulties.|| 48 || all || beginner&lt;br /&gt;
|-&lt;br /&gt;
|Create an example program in Turtle Blocks||We distribute examples with the Turtle Blocks programming environment. Create your example -- some art, some geometry, some multimedia, a simple game -- to be included with the package. Deliverable is a Turtle Blocks project file to be reviewed by Sugar Labs designers and educators. (Use either the Python version bundled with Sugar or the Javascript version at [http://turtle.sugarlabs.org Turtle Blocks JS]) One source of inspiration might be [https://www.pinterest.com/walterbender/turtle-art/]. || 48 || all || beginner&lt;br /&gt;
|-&lt;br /&gt;
|Create an example program in Music Blocks||We distribute examples with the [http://walterbender.github.io/musicblocks Music Blocks] programming environment. Create your example -- some music (and art) -- to be included with the package. Deliverable is a Music Blocks project file to be reviewed by Sugar Labs designers and educators. || 48 || all || beginner&lt;br /&gt;
|-&lt;br /&gt;
|Create a simple machine in Physics||We distribute examples with the [http://activities.sugarlabs.org/en-US/sugar/addon/4193 Physics Activity]. Create a simple machine we can include in the examples collection -- some interesting mechanical device. Deliverable is a Physics activity project file to be reviewed by Sugar Labs designers and educators. || 48 || all || beginner&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Documentation/Training===&lt;br /&gt;
Tasks related to creating/editing documents and helping others learn more&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 !! Description !! Hours !! Mentor !! Tag&lt;br /&gt;
|-&lt;br /&gt;
|Update the Sugar Labs entry in Wikipedia|| The Sugar Labs entry in Wikipedia could use some TLC. Please bring it up to date. || 48 || Walter || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Update the Sugar Labs wiki page on git||The [[Activity Team/Git Tutorial]] is out of date: we have migrated to GitHub. Please update the page to reflect the GitHub workflow. See http://developer.sugarlabs.org/contributing.md.html for more details || 48 || Walter || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Turtle Blocks Programming Guide 1|| Add live examples missing from the [https://github.com/walterbender/turtleblocksjs/blob/master/guide/README.md Guide to Programming with Turtle Blocks]. || 48 || Walter || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Turtle Blocks Programming Guide 2|| Extend the [https://github.com/walterbender/turtleblocksjs/blob/master/guide/README.md Guide to Programming with Turtle Blocks] to include more examples. || 48 || Walter || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Music Blocks Programming Guide|| Extend the [https://github.com/walterbender/musicblocks/blob/master/guide/README.md Guide to Programming with Music Blocks] to include more examples. || 48 || Walter || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Turtle Blocks Classroom Guide||Write a guide on how to use Turtle Blocks in the classroom -- a manual for teachers who might want to engage in programming. Please consult with a classroom teacher when creating the guide.|| 96 || Walter || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Music Blocks Classroom Guide||Write a guide on how to use Music Blocks in the classroom -- a manual for teachers who might want to engage in programming with Music. Please consult with a music teacher when creating the guide.|| 96 || Walter || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer Server API Documentation||Write a documentation for the REST API for Sugarizer Server. Include some GET/POST/DELETE sample inside || 48|| Lionel || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer Server Collaboration Tutorial||Write a tutorial on how to connect a Sugarizer Client to a Sugarizer Server and how to use it to do Journal sharing and collaboration || 24 || Lionel || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer wiki page||Write a Sugarizer page in the SugarLabs wiki || 24 || Lionel || Documentation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For information about how to create help pages for activities &lt;br /&gt;
&lt;br /&gt;
http://wiki.sugarlabs.org/go/Activities/Help/Contribute&lt;br /&gt;
&lt;br /&gt;
https://github.com/godiard/help-activity/blob/master/source/restructuredtext.rst&lt;br /&gt;
&lt;br /&gt;
https://github.com/godiard/help-activity/blob/master/source/collaborating.rst&lt;br /&gt;
&lt;br /&gt;
===Outreach/Research===&lt;br /&gt;
Tasks related to community management, outreach/marketing, or studying problems and recommending solutions&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 !! Description !! Hours !! Mentor !! Tag&lt;br /&gt;
|-&lt;br /&gt;
|Turtle Art Day||Organize a Turtle Art Day in your community. Details at [http://people.sugarlabs.org/walter/Guia_Ingles_10-08-2013.pdf]||96||Walter||Outreach&lt;br /&gt;
|-&lt;br /&gt;
|Promo Video||Create a 60 second promotional video on Sugar and its community.||96||Mariah||Outreach&lt;br /&gt;
|-&lt;br /&gt;
|Hangout Q&amp;amp;A||Host a Question and Answer (Q&amp;amp;A)/Information session about Sugar on Google Hangouts. Invite friends, family, peers, as well as academic and community leaders.||96||Mariah||Outreach&lt;br /&gt;
|-&lt;br /&gt;
|Local Lab Wiki||Create/update a &amp;quot;Local Lab&amp;quot; page for your area/country. Fill in the page with information on the Sugar community in your area. This could include contact information, mailing lists, events and any other information that may be relevant. ||96||Mariah||Research&lt;br /&gt;
|-&lt;br /&gt;
|How-To Guide||Create a guide for how to host your own DIY Sugar on a Stick party. The guide should include at least two promotional item designs (like a sticker, brochure, flyer). Feel free to change the name to something else. ||96||Mariah||Outreach&lt;br /&gt;
|-&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. Then, hold a workshop on the basics of using Sugar. Take pictures to document the experience. Post a blog about it.||96||Mariah||Outreach&lt;br /&gt;
|-&lt;br /&gt;
|Potential Users||Gather information on who could benefit from using or knowing about Sugar. Look at non-profit organizations, academic institutions, the home-school community. Build a database including contact information, website URLS, social media profiles, and any other relevant information.||96||Mariah||Research&lt;br /&gt;
|-&lt;br /&gt;
|Sugar Tools &amp;amp; Resources||Find the resources that people are using throughout the world to learn about or teach Sugar Activities. This can include manuals, teacher guides, YouTube videos, blogs, etc. Document what type of resource it is, the URL for the resource, the target audience of the resource and whether it is up-to-date.||96||Mariah||Research&lt;br /&gt;
|-&lt;br /&gt;
|Introduce Yourself||Write a blog post about why you are participating in Google Code-In, what you hope to learn from the GCI and how Sugar Labs can help you. Include a picture. Share blog post through social media.||48||Mariah||Outreach&lt;br /&gt;
|-&lt;br /&gt;
|Interview a GCI Peer||Interview another Sugar Labs GCI participant. Ask them questions about how they are selecting/completing tasks, any successes/struggles they are having, etc. Post on participant blog. Share blog post through social media.||48||Mariah||Outreach&lt;br /&gt;
|--&lt;br /&gt;
|Interview an Educator||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. Post about it on the blog, include a picture. Share the blog post through social media and with the educator.||48||Mariah||Outreach|&lt;br /&gt;
|-&lt;br /&gt;
|Review an Activity||Write a review about an Activity in Sugar. Explain how you use it, what kind of project you could do with it, any bugs it might have, etc. Post your review. The review can be a video review or a written review with screenshots. Share the blog post through social media.||48||Mariah||Outreach&lt;br /&gt;
|-&lt;br /&gt;
|Women in the Sugar Community||Create a 10-minute presentation celebrating at least three women within the Sugar community and/or the open-source community at large. Write a blog post about what you learned when making this presentation and include a link to the presentation.||48||Mariah||Outreach&lt;br /&gt;
|-&lt;br /&gt;
|Wrap-Up||Write a blog post about your experience as a GCI participant for Sugar Labs. Share your thoughts on what was successful and what can be improved for next year&#039;s participants. Feel free to include pictures, videos, links to work that you are most proud of. Share the post through social media.||48||Mariah||Outreach&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===User Interface===&lt;br /&gt;
Tasks related to user experience research or user interface design and interaction&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 !! Description !! Hours !! Mentor !! Tag&lt;br /&gt;
|-&lt;br /&gt;
|Icon design for Music Blocks||The icons used for the main toolbar in Music Block don&#039;t &amp;quot;sing&amp;quot; to me. This task is to design better icons both in terms of expressing the intention of the button and visual engagement of the user. || 72 || Walter, Devin || UI, design&lt;br /&gt;
|-&lt;br /&gt;
|Classroom collaboration|| Sugar provides tools for sharing and collaborating among students, e.g., peer editing of texts, chat, group programming, etc. Survey the list of collaboration-enabled activities and categorize them by whether they are learning utilities, classroom management utilities, communication, games, etc. || 72 || Walter || UI, pedagogy&lt;br /&gt;
|-&lt;br /&gt;
|Classroom management 1|| Sugar provides only a few tools for classroom management, e.g., the Share With Teacher webservice. Survey classroom services that run either as web services or native in desktop environments.|| 72 || Walter || UI, pedagogy&lt;br /&gt;
|-&lt;br /&gt;
|Classroom management 2|| Sugar provides only a few tools for classroom management, e.g., the Share With Teacher webservice. Which of the results from the Classroom management 1 task would be useful to incorporate into the Sugar ecosystem? Evaluation should include s description of the service and a sketch of how the user interaction would work. || 72 || Walter || UI, pedagogy&lt;br /&gt;
|-&lt;br /&gt;
|Sugar on a small screen|| Sugar was originally designed as a desktop environment for small computers. But these days, many children have access to smart phones rather than computers. This task is to make some sketches as to how Sugar might be redesigned for a smart phone form-factor. A series of annotated sketches should be made as part of completing this task. || 72 || Walter || UI&lt;br /&gt;
|-&lt;br /&gt;
|Programming on a small screen|| We put an emphasis on programming in Sugar. One popular programming environment is Turtle Blocks. Recently we made a Javascript version that can run in a browser (and hence on a smart phone). How should the UI change to accommodate that form-factor? A series of annotated sketches should be made as part of completing this task. || 72 || Walter || UI&lt;br /&gt;
|-&lt;br /&gt;
|End-user customization||We try to encourage our users to re-imagine Sugar as they&#039;d like it. Users can change the icon layout, the background screen, and the XO avatar. What else should be made easier to customize with minimal programming? || 72 || Walter || UI&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer marketing web page||Create a marketing web page to explain what is Sugarizer and  replace the [http://sugarizer.org current one] || 40 || Lionel || UI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Quality Assurance===&lt;br /&gt;
Tasks related to testing and ensuring code is of high quality.&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 !! Description !! Hours !! Mentor !! Tag&lt;br /&gt;
|-&lt;br /&gt;
|Behavior diff for Turtle Blocks JS|| [https://turtle.sugarlabs.org Turtle Blocks JS] is a Javascript port from the Python version of the activity. The goal of this task is to document any differences in behavior between the two versions.||72||Walter||QA&lt;br /&gt;
|-&lt;br /&gt;
|Unit tests for JS activities||We have no unit tests for our Javascript activities. This task is to investigate approaches to unit testing in Javascript||72||Walter||QA&lt;br /&gt;
|-&lt;br /&gt;
|Test Sugar on a Stick || Help test the latest Sugar on a Stick on Fedora (F24). See https://wiki.sugarlabs.org/go/Fedora_24#fedora_24, [http://dl.fedoraproject.org/pub/alt/unofficial/releases/24/ #fedora-qa (freenode IRC). Deliverable is a report of the major Sugar features, e.g., desktop, journal, collaboration, and the core activities, e.g., Write, Browse, Turtle, Chat, Speak, etc. || 48 || Satellit || QA, SoaS&lt;br /&gt;
|-&lt;br /&gt;
|fix f25 Soas|f25 Soas currently does not login to liveuser.|| see: https://bugzilla.redhat.com/show_bug.cgi?id=1363915, https://qa.fedoraproject.org/blockerbugs/milestone/25/final/buglist], Task is to fix this bug||72|| || QA&lt;br /&gt;
|-&lt;br /&gt;
|Interview a teacher|| Ultimately the quality of our work is determined by our end users. Interview a classroom teacher who is using Sugar and solicit feedback about what works, what doesn&#039;t. || 72 || Walter || QA&lt;br /&gt;
|-&lt;br /&gt;
|Interview a student|| Ultimately the quality of our work is determined by our end users. Interview a student who is using Sugar in school and solicit feedback about what works, what doesn&#039;t. || 72 || Walter || QA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Begin comment out this section&lt;br /&gt;
===Code===&lt;br /&gt;
Tasks related to writing or refactoring code&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 !! Description !! Hours !! Mentor !! Tag&lt;br /&gt;
|-&lt;br /&gt;
| Turtle Confusion in Javascript || [http://activities.sugarlabs.org/en-US/sugar/addon/4450 Turtle Confusion] presents 40 shape challenges to the learner that must be completed using basic Logo-blocks. The challenges as based on Barry Newell&#039;s 1988 book, Turtle Confusion: Logo Puzzles and Riddles. This task is to implement Turtle Confusion within the framework of the [http://turtle.sugarlabs.org JavaScript version of Turtle Blocks].|| 72 || Walter || Code, JavaScript&lt;br /&gt;
|-&lt;br /&gt;
| Turtle Blocks JS: Loudness block doesn&#039;t work on Windows || [[https://github.com/walterbender/turtleblocksjs/issues/238] Issue 238 || 72 || Walter, Amit || Code, JavaScript&lt;br /&gt;
|-&lt;br /&gt;
| Turtle Blocks JS: Cannot import images on Android || [[https://github.com/walterbender/turtleblocksjs/issues/237] Issue 237 || 72 || Walter, Amit || Code, JavaScript&lt;br /&gt;
|-&lt;br /&gt;
| Turtle Blocks JS: Camera doesn&#039;t work on Android || [[https://github.com/walterbender/turtleblocksjs/issues/236] Issue 236 || 72 || Walter, Amit || Code, JavaScript&lt;br /&gt;
|-&lt;br /&gt;
| Music Blocks Android || [https://github.com/walterbender/musicblocks/issues/51 Issue 51] does Tonejs work on Android? is there an alternative? || 72 || Walter, Devin || Code, JavaScript&lt;br /&gt;
|-&lt;br /&gt;
| Music Blocks Safari download || [https://github.com/walterbender/musicblocks/issues/37 Issue 37] Safari does not &amp;quot;download&amp;quot; the .tb files, it just opens a new window with the code in it. || 72 || Walter, Devin || Code, JavaScript&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
End of commented out section --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Unsorted tasks ==&lt;br /&gt;
=== Sugar enhancements from bugs.sugarlabs.org ===&lt;br /&gt;
Each of these open tickets is potential task-worthy.&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;
!Ticket !! Description !! Type !! Component&lt;br /&gt;
|-&lt;br /&gt;
| [http://bugs.sugarlabs.org/ticket/1646 1646] || No way to force-close (kill) an activity || enhancement || Sugar&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sugar bugs from bugs.sugarlabs.org ===&lt;br /&gt;
Each of these open tickets is potential task-worthy.&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;
!Ticket !! Description !! Type !! Component&lt;br /&gt;
|-&lt;br /&gt;
| [http://bugs.sugarlabs.org/ticket/4307 4307] || clipboard.set_with_data/set_with_owner is not introspectable || defect || Sugar&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Activity enhancements from bugs.sugarlabs.org ===&lt;br /&gt;
Each of these open tickets is potential task-worthy.&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;
!Ticket !! Description !! Component&lt;br /&gt;
|-&lt;br /&gt;
| [http://bugs.sugarlabs.org/ticket/758 758] || Port to new tube API || Read&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mentors ==&lt;br /&gt;
;NOTES TO MENTORS:&lt;br /&gt;
:Please refer to [[Google Code In 2016/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 - also org admin for GCI&lt;br /&gt;
* Sam Parkinson&lt;br /&gt;
* Ignacio Rodriguez&lt;br /&gt;
* Lionel Laské&lt;br /&gt;
* Batchu Venkat Vishal&lt;br /&gt;
* Ibiam Chihurumnaya&lt;br /&gt;
* Utkarsh Tiwari&lt;br /&gt;
* Abhijit Patel&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Google_Code_In_2016&amp;diff=99339</id>
		<title>Google Code In 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Google_Code_In_2016&amp;diff=99339"/>
		<updated>2016-11-04T19:43:33Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Mentors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;[[Category:Trac Reference]][[Category:Idea]]&lt;br /&gt;
[[Category: GCI2015]]&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 2016]. Sugar Labs community members: please feel free to add tasks below. We&#039;ll do an edit before final applications are due the first week of November 2016.&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 2015/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 we are 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 ==&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;
=== Getting started with coding ===&lt;br /&gt;
&lt;br /&gt;
Sugar development is in either Python or Javascript.&lt;br /&gt;
&lt;br /&gt;
* You will need knowledge of Python and GTK (See http://python-gtk-3-tutorial.readthedocs.org/en/latest/);&lt;br /&gt;
* or Javascript/HTML5;&lt;br /&gt;
* and then the basic of Sugar development (See http://www.flossmanuals.net/make-your-own-sugar-activities/);&lt;br /&gt;
* and to have a Sugar development environment running (See http://developer.sugarlabs.org).&lt;br /&gt;
&lt;br /&gt;
Please note that you must run [http://legacy.python.org/dev/peps/pep-0008/#introduction pep8] and pyflakes on your code &#039;&#039;before&#039;&#039; submitting your patches.&lt;br /&gt;
&lt;br /&gt;
=== Getting started with GIT ===&lt;br /&gt;
&lt;br /&gt;
Some knowledge of git is important as your work will be submitted to our git repository (https://github.com/sugarlabs). The basic mechanism is a pull request (PR), which is detailed in [http://developer.sugarlabs.org/contributing.md.html].&lt;br /&gt;
&lt;br /&gt;
GitHub provides a tutorial (See https://try.github.io/levels/1/challenges/1), although there are many others as well.&lt;br /&gt;
&lt;br /&gt;
Note that our bug tracker is http:bugs.sugarlabs.org.&lt;br /&gt;
&lt;br /&gt;
=== Getting started with Sugarizer === &lt;br /&gt;
&lt;br /&gt;
Sugar Web Framework is the JavaScript Framework for Sugar [https://github.com/sugarlabs/sugar-docs/blob/master/web-architecture.md]. Sugarizer [http://sugarizer.org] is a subset of Sugar that allow runing activities developed with Sugar Web Framework on any web browser. Sugarizer is also available as Android, iOS, Firefox OS and Chrome Web App.&lt;br /&gt;
&lt;br /&gt;
== This is a stub for 25+ example tasks new for GCI 2016. ==&lt;br /&gt;
&lt;br /&gt;
# Investigate Google Fuzzing tool (Research)&lt;br /&gt;
# Decimal places in Calculate activity (Code: Pyhton)&lt;br /&gt;
# Music Blocks examples (Documentation/Training)&lt;br /&gt;
# Space team activity (Code: Python)&lt;br /&gt;
# Bugzilla clean up (QA)&lt;br /&gt;
# Teach me how to draw activity (Code: Python)&lt;br /&gt;
# Manage order of blocks in Turtle plugins (Code: Javascript)&lt;br /&gt;
# Plugin manager for Turtle JS (Code: Javascript)&lt;br /&gt;
# Refactor pitch-time matrix code (Code: Javascript)&lt;br /&gt;
# Fix scrolling problem with pitch-time matrix (Code: Javascript)&lt;br /&gt;
# Refactor Training activity to be non-specific to Australia (Code: Python)&lt;br /&gt;
# Refactor Turtle graphics to adopt look of Javascript version (Code: Python)&lt;br /&gt;
# Improvements to Lilypond interface (Code: Javascript)&lt;br /&gt;
# Add drum icons in Music Blocks (Design)&lt;br /&gt;
# Add more synths/sound fonts to Music Blocks (Research)&lt;br /&gt;
# Add ABC import to Music Blocks (Code: Javascript)&lt;br /&gt;
# Add ABC export to Music Blocks (Code: Javascript)&lt;br /&gt;
# Add Lilypond import to Music Blocks (Code: Javascript)&lt;br /&gt;
# Refactor Planet server for Turtle Blocks (Code: Python)&lt;br /&gt;
# Research graphics caching in Turtle (Research)&lt;br /&gt;
# Wiki cleanup (Documentation)&lt;br /&gt;
# Make trash areas smaller on Turtle (Code: Javascript)&lt;br /&gt;
# Write a Turtle plugin (Code: Javascript)&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;
# Add synth lab widget to Music Blocks (Code: Javascript)&lt;br /&gt;
# Backport a web plugin from Turtle Blocks JS to Python (Code: Python)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Begin comment out this section&lt;br /&gt;
&lt;br /&gt;
== Tasks ==&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This is our preliminary list of tasks. We can add more as the contest progresses.&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;
End of commented out section --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Beginner Tasks===&lt;br /&gt;
We have several tasks that are targeting people new to Sugar and Sugar development. You are only allowed to complete two beginner tasks.&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 !! Description !! Hours !! Mentor !! Tag&lt;br /&gt;
|-&lt;br /&gt;
|Install the Sugar development environment||Following the instruction at [http://developer.sugarlabs.org/dev-environment.md.html], set up the Sugar development environment. Submit a screen-shot of the development environment running to complete this task. You can get help on our irc channel should you run into any difficulties.|| 48 || all || beginner&lt;br /&gt;
|-&lt;br /&gt;
|Install Sugar in a virtual machine||If your intention is to focus on documentation and training or outreach, then you may want to install Sugar in a virtual machine. Following the instructions at [http://wiki.sugarlabs.org/go/Sugar_Creation_Kit#Tutorials][http://wiki.sugarlabs.org/go/Sugar_on_a_Stick/Virtual_machines][http://wiki.sugarlabs.org/go/Downloads#Virtual_Machines_on_all_platforms], set up the Sugar development environment. Submit a screen-shot of the development environment running to complete this task. You can get help on our irc channel should you run into any difficulties.|| 48 || all || beginner&lt;br /&gt;
|-&lt;br /&gt;
|Create an example program in Turtle Blocks||We distribute examples with the Turtle Blocks programming environment. Create your example -- some art, some geometry, some multimedia, a simple game -- to be included with the package. Deliverable is a Turtle Blocks project file to be reviewed by Sugar Labs designers and educators. (Use either the Python version bundled with Sugar or the Javascript version at [http://turtle.sugarlabs.org Turtle Blocks JS]) One source of inspiration might be [https://www.pinterest.com/walterbender/turtle-art/]. || 48 || all || beginner&lt;br /&gt;
|-&lt;br /&gt;
|Create an example program in Music Blocks||We distribute examples with the [http://walterbender.github.io/musicblocks Music Blocks] programming environment. Create your example -- some music (and art) -- to be included with the package. Deliverable is a Music Blocks project file to be reviewed by Sugar Labs designers and educators. || 48 || all || beginner&lt;br /&gt;
|-&lt;br /&gt;
|Create a simple machine in Physics||We distribute examples with the [http://activities.sugarlabs.org/en-US/sugar/addon/4193 Physics Activity]. Create a simple machine we can include in the examples collection -- some interesting mechanical device. Deliverable is a Physics activity project file to be reviewed by Sugar Labs designers and educators. || 48 || all || beginner&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Documentation/Training===&lt;br /&gt;
Tasks related to creating/editing documents and helping others learn more&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 !! Description !! Hours !! Mentor !! Tag&lt;br /&gt;
|-&lt;br /&gt;
|Update the Sugar Labs entry in Wikipedia|| The Sugar Labs entry in Wikipedia could use some TLC. Please bring it up to date. || 48 || Walter || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Update the Sugar Labs wiki page on git||The [[Activity Team/Git Tutorial]] is out of date: we have migrated to GitHub. Please update the page to reflect the GitHub workflow. See http://developer.sugarlabs.org/contributing.md.html for more details || 48 || Walter || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Turtle Blocks Programming Guide 1|| Add live examples missing from the [https://github.com/walterbender/turtleblocksjs/blob/master/guide/README.md Guide to Programming with Turtle Blocks]. || 48 || Walter || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Turtle Blocks Programming Guide 2|| Extend the [https://github.com/walterbender/turtleblocksjs/blob/master/guide/README.md Guide to Programming with Turtle Blocks] to include more examples. || 48 || Walter || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Music Blocks Programming Guide|| Extend the [https://github.com/walterbender/musicblocks/blob/master/guide/README.md Guide to Programming with Music Blocks] to include more examples. || 48 || Walter || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Turtle Blocks Classroom Guide||Write a guide on how to use Turtle Blocks in the classroom -- a manual for teachers who might want to engage in programming. Please consult with a classroom teacher when creating the guide.|| 96 || Walter || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Music Blocks Classroom Guide||Write a guide on how to use Music Blocks in the classroom -- a manual for teachers who might want to engage in programming with Music. Please consult with a music teacher when creating the guide.|| 96 || Walter || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer Server API Documentation||Write a documentation for the REST API for Sugarizer Server. Include some GET/POST/DELETE sample inside || 48|| Lionel || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer Server Collaboration Tutorial||Write a tutorial on how to connect a Sugarizer Client to a Sugarizer Server and how to use it to do Journal sharing and collaboration || 24 || Lionel || Documentation&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer wiki page||Write a Sugarizer page in the SugarLabs wiki || 24 || Lionel || Documentation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For information about how to create help pages for activities &lt;br /&gt;
&lt;br /&gt;
http://wiki.sugarlabs.org/go/Activities/Help/Contribute&lt;br /&gt;
&lt;br /&gt;
https://github.com/godiard/help-activity/blob/master/source/restructuredtext.rst&lt;br /&gt;
&lt;br /&gt;
https://github.com/godiard/help-activity/blob/master/source/collaborating.rst&lt;br /&gt;
&lt;br /&gt;
===Outreach/Research===&lt;br /&gt;
Tasks related to community management, outreach/marketing, or studying problems and recommending solutions&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 !! Description !! Hours !! Mentor !! Tag&lt;br /&gt;
|-&lt;br /&gt;
|Turtle Art Day||Organize a Turtle Art Day in your community. Details at [http://people.sugarlabs.org/walter/Guia_Ingles_10-08-2013.pdf]||96||Walter||Outreach&lt;br /&gt;
|-&lt;br /&gt;
|Promo Video||Create a 60 second promotional video on Sugar and its community.||96||Mariah||Outreach&lt;br /&gt;
|-&lt;br /&gt;
|Hangout Q&amp;amp;A||Host a Question and Answer (Q&amp;amp;A)/Information session about Sugar on Google Hangouts. Invite friends, family, peers, as well as academic and community leaders.||96||Mariah||Outreach&lt;br /&gt;
|-&lt;br /&gt;
|Local Lab Wiki||Create/update a &amp;quot;Local Lab&amp;quot; page for your area/country. Fill in the page with information on the Sugar community in your area. This could include contact information, mailing lists, events and any other information that may be relevant. ||96||Mariah||Research&lt;br /&gt;
|-&lt;br /&gt;
|How-To Guide||Create a guide for how to host your own DIY Sugar on a Stick party. The guide should include at least two promotional item designs (like a sticker, brochure, flyer). Feel free to change the name to something else. ||96||Mariah||Outreach&lt;br /&gt;
|-&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. Then, hold a workshop on the basics of using Sugar. Take pictures to document the experience. Post a blog about it.||96||Mariah||Outreach&lt;br /&gt;
|-&lt;br /&gt;
|Potential Users||Gather information on who could benefit from using or knowing about Sugar. Look at non-profit organizations, academic institutions, the home-school community. Build a database including contact information, website URLS, social media profiles, and any other relevant information.||96||Mariah||Research&lt;br /&gt;
|-&lt;br /&gt;
|Sugar Tools &amp;amp; Resources||Find the resources that people are using throughout the world to learn about or teach Sugar Activities. This can include manuals, teacher guides, YouTube videos, blogs, etc. Document what type of resource it is, the URL for the resource, the target audience of the resource and whether it is up-to-date.||96||Mariah||Research&lt;br /&gt;
|-&lt;br /&gt;
|Introduce Yourself||Write a blog post about why you are participating in Google Code-In, what you hope to learn from the GCI and how Sugar Labs can help you. Include a picture. Share blog post through social media.||48||Mariah||Outreach&lt;br /&gt;
|-&lt;br /&gt;
|Interview a GCI Peer||Interview another Sugar Labs GCI participant. Ask them questions about how they are selecting/completing tasks, any successes/struggles they are having, etc. Post on participant blog. Share blog post through social media.||48||Mariah||Outreach&lt;br /&gt;
|--&lt;br /&gt;
|Interview an Educator||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. Post about it on the blog, include a picture. Share the blog post through social media and with the educator.||48||Mariah||Outreach|&lt;br /&gt;
|-&lt;br /&gt;
|Review an Activity||Write a review about an Activity in Sugar. Explain how you use it, what kind of project you could do with it, any bugs it might have, etc. Post your review. The review can be a video review or a written review with screenshots. Share the blog post through social media.||48||Mariah||Outreach&lt;br /&gt;
|-&lt;br /&gt;
|Women in the Sugar Community||Create a 10-minute presentation celebrating at least three women within the Sugar community and/or the open-source community at large. Write a blog post about what you learned when making this presentation and include a link to the presentation.||48||Mariah||Outreach&lt;br /&gt;
|-&lt;br /&gt;
|Wrap-Up||Write a blog post about your experience as a GCI participant for Sugar Labs. Share your thoughts on what was successful and what can be improved for next year&#039;s participants. Feel free to include pictures, videos, links to work that you are most proud of. Share the post through social media.||48||Mariah||Outreach&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===User Interface===&lt;br /&gt;
Tasks related to user experience research or user interface design and interaction&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 !! Description !! Hours !! Mentor !! Tag&lt;br /&gt;
|-&lt;br /&gt;
|Icon design for Music Blocks||The icons used for the main toolbar in Music Block don&#039;t &amp;quot;sing&amp;quot; to me. This task is to design better icons both in terms of expressing the intention of the button and visual engagement of the user. || 72 || Walter, Devin || UI, design&lt;br /&gt;
|-&lt;br /&gt;
|Classroom collaboration|| Sugar provides tools for sharing and collaborating among students, e.g., peer editing of texts, chat, group programming, etc. Survey the list of collaboration-enabled activities and categorize them by whether they are learning utilities, classroom management utilities, communication, games, etc. || 72 || Walter || UI, pedagogy&lt;br /&gt;
|-&lt;br /&gt;
|Classroom management 1|| Sugar provides only a few tools for classroom management, e.g., the Share With Teacher webservice. Survey classroom services that run either as web services or native in desktop environments.|| 72 || Walter || UI, pedagogy&lt;br /&gt;
|-&lt;br /&gt;
|Classroom management 2|| Sugar provides only a few tools for classroom management, e.g., the Share With Teacher webservice. Which of the results from the Classroom management 1 task would be useful to incorporate into the Sugar ecosystem? Evaluation should include s description of the service and a sketch of how the user interaction would work. || 72 || Walter || UI, pedagogy&lt;br /&gt;
|-&lt;br /&gt;
|Sugar on a small screen|| Sugar was originally designed as a desktop environment for small computers. But these days, many children have access to smart phones rather than computers. This task is to make some sketches as to how Sugar might be redesigned for a smart phone form-factor. A series of annotated sketches should be made as part of completing this task. || 72 || Walter || UI&lt;br /&gt;
|-&lt;br /&gt;
|Programming on a small screen|| We put an emphasis on programming in Sugar. One popular programming environment is Turtle Blocks. Recently we made a Javascript version that can run in a browser (and hence on a smart phone). How should the UI change to accommodate that form-factor? A series of annotated sketches should be made as part of completing this task. || 72 || Walter || UI&lt;br /&gt;
|-&lt;br /&gt;
|End-user customization||We try to encourage our users to re-imagine Sugar as they&#039;d like it. Users can change the icon layout, the background screen, and the XO avatar. What else should be made easier to customize with minimal programming? || 72 || Walter || UI&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer marketing web page||Create a marketing web page to explain what is Sugarizer and  replace the [http://sugarizer.org current one] || 40 || Lionel || UI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Quality Assurance===&lt;br /&gt;
Tasks related to testing and ensuring code is of high quality.&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 !! Description !! Hours !! Mentor !! Tag&lt;br /&gt;
|-&lt;br /&gt;
|Behavior diff for Turtle Blocks JS|| [https://turtle.sugarlabs.org Turtle Blocks JS] is a Javascript port from the Python version of the activity. The goal of this task is to document any differences in behavior between the two versions.||72||Walter||QA&lt;br /&gt;
|-&lt;br /&gt;
|Unit tests for JS activities||We have no unit tests for our Javascript activities. This task is to investigate approaches to unit testing in Javascript||72||Walter||QA&lt;br /&gt;
|-&lt;br /&gt;
|Test Sugar on a Stick || Help test the latest Sugar on a Stick on Fedora (F24). See https://wiki.sugarlabs.org/go/Fedora_24#fedora_24, [http://dl.fedoraproject.org/pub/alt/unofficial/releases/24/ #fedora-qa (freenode IRC). Deliverable is a report of the major Sugar features, e.g., desktop, journal, collaboration, and the core activities, e.g., Write, Browse, Turtle, Chat, Speak, etc. || 48 || Satellit || QA, SoaS&lt;br /&gt;
|-&lt;br /&gt;
|fix f25 Soas|f25 Soas currently does not login to liveuser.|| see: https://bugzilla.redhat.com/show_bug.cgi?id=1363915, https://qa.fedoraproject.org/blockerbugs/milestone/25/final/buglist], Task is to fix this bug||72|| || QA&lt;br /&gt;
|-&lt;br /&gt;
|Interview a teacher|| Ultimately the quality of our work is determined by our end users. Interview a classroom teacher who is using Sugar and solicit feedback about what works, what doesn&#039;t. || 72 || Walter || QA&lt;br /&gt;
|-&lt;br /&gt;
|Interview a student|| Ultimately the quality of our work is determined by our end users. Interview a student who is using Sugar in school and solicit feedback about what works, what doesn&#039;t. || 72 || Walter || QA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Begin comment out this section&lt;br /&gt;
===Code===&lt;br /&gt;
Tasks related to writing or refactoring code&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 !! Description !! Hours !! Mentor !! Tag&lt;br /&gt;
|-&lt;br /&gt;
| Turtle Confusion in Javascript || [http://activities.sugarlabs.org/en-US/sugar/addon/4450 Turtle Confusion] presents 40 shape challenges to the learner that must be completed using basic Logo-blocks. The challenges as based on Barry Newell&#039;s 1988 book, Turtle Confusion: Logo Puzzles and Riddles. This task is to implement Turtle Confusion within the framework of the [http://turtle.sugarlabs.org JavaScript version of Turtle Blocks].|| 72 || Walter || Code, JavaScript&lt;br /&gt;
|-&lt;br /&gt;
| Turtle Blocks JS: Loudness block doesn&#039;t work on Windows || [[https://github.com/walterbender/turtleblocksjs/issues/238] Issue 238 || 72 || Walter, Amit || Code, JavaScript&lt;br /&gt;
|-&lt;br /&gt;
| Turtle Blocks JS: Cannot import images on Android || [[https://github.com/walterbender/turtleblocksjs/issues/237] Issue 237 || 72 || Walter, Amit || Code, JavaScript&lt;br /&gt;
|-&lt;br /&gt;
| Turtle Blocks JS: Camera doesn&#039;t work on Android || [[https://github.com/walterbender/turtleblocksjs/issues/236] Issue 236 || 72 || Walter, Amit || Code, JavaScript&lt;br /&gt;
|-&lt;br /&gt;
| Music Blocks Android || [https://github.com/walterbender/musicblocks/issues/51 Issue 51] does Tonejs work on Android? is there an alternative? || 72 || Walter, Devin || Code, JavaScript&lt;br /&gt;
|-&lt;br /&gt;
| Music Blocks Safari download || [https://github.com/walterbender/musicblocks/issues/37 Issue 37] Safari does not &amp;quot;download&amp;quot; the .tb files, it just opens a new window with the code in it. || 72 || Walter, Devin || Code, JavaScript&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
End of commented out section --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Unsorted tasks ==&lt;br /&gt;
=== Sugar enhancements from bugs.sugarlabs.org ===&lt;br /&gt;
Each of these open tickets is potential task-worthy.&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;
!Ticket !! Description !! Type !! Component&lt;br /&gt;
|-&lt;br /&gt;
| [http://bugs.sugarlabs.org/ticket/1646 1646] || No way to force-close (kill) an activity || enhancement || Sugar&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sugar bugs from bugs.sugarlabs.org ===&lt;br /&gt;
Each of these open tickets is potential task-worthy.&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;
!Ticket !! Description !! Type !! Component&lt;br /&gt;
|-&lt;br /&gt;
| [http://bugs.sugarlabs.org/ticket/4307 4307] || clipboard.set_with_data/set_with_owner is not introspectable || defect || Sugar&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Activity enhancements from bugs.sugarlabs.org ===&lt;br /&gt;
Each of these open tickets is potential task-worthy.&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;
!Ticket !! Description !! Component&lt;br /&gt;
|-&lt;br /&gt;
| [http://bugs.sugarlabs.org/ticket/758 758] || Port to new tube API || Read&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mentors ==&lt;br /&gt;
;NOTES TO MENTORS:&lt;br /&gt;
:Please refer to [[Google Code In 2016/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 - also org admin for GCI&lt;br /&gt;
* Sam Parkinson&lt;br /&gt;
* Ignacio Rodriguez&lt;br /&gt;
* Lionel Laské&lt;br /&gt;
* Batchu Venkat Vishal&lt;br /&gt;
* Ibiam Chihurumnaya&lt;br /&gt;
* Utkarsh Tiwari&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=99304</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=99304"/>
		<updated>2016-10-06T19:01:13Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: &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;
The Sugar Labs Google Summer of Code 2016 projects/students/mentors:&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;
! Project !! Student !! Mentors !! Proposal !! Blog !! IRC nick&lt;br /&gt;
|-&lt;br /&gt;
|Font Editor Activity||Yash Agarwal||Dave Crossland, Eli Heuer || [https://sugarlabs.github.io/edit-fonts-activity/refined-proposal] || [http://sugarlabs.github.io/font-editor-activity/] || yagarwal&lt;br /&gt;
|-&lt;br /&gt;
|Git Backend||Vikram Ahuja||Walter Bender, Tymon Radzik || Pending || [http://vikramahujagsoc.blogspot.com/] || vikram&lt;br /&gt;
|-&lt;br /&gt;
|Journal Rethink||Abhijit Patel||Walter Bender, Sam Parkinson||[https://www.docdroid.net/hbalTLC/1458885012-journal-rethink-proposal.pdf.html] || [http://abrahmab.github.io/] || AbrahmAB&lt;br /&gt;
|-&lt;br /&gt;
|Music Widgets||Hemant Kasat||Walter Bender, Devin Ulibarri || Pending || [http://musicblocks.net/2016/06/13/multiple-rhythm-rulers/] || hemant_kasat&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer OS||Jeremie Amsellem||Lionel Laské, Michaël Ohayon || Pending || [http://lp1-eu.blogspot.fr/] || lp1&lt;br /&gt;
|-&lt;br /&gt;
|Sugar on the Ground||Utkarsh Tiwari||Tony Anderson, Sebastian Silva || [http://docdro.id/zx9U1Vd] || [https://iamutkarshtiwari.wordpress.com/about/google-summer-of-code16-with-sugar-labs-2/] || iamutkarshtiwari&lt;br /&gt;
|}&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;
;Note 3: Accepted projects are in &amp;lt;font color=&amp;quot;#00bb00&amp;quot;&amp;gt;Green&amp;lt;/font&amp;gt;&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:#00bb00;&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:#00bb00;&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;
!valign=top | [[File:freedesktop_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Make Sugar compliant with Freedesktop standards||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 13:50, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Support Freedesktop.Org Desktop Entry specification for launching non-sugar applications, icon standards, etc. Find other ways to make Sugar useful as Linux desktop. Make it easy to run Sugar Activities in regular Linux desktop.&lt;br /&gt;
;Expected results: Improved user experience for users of regular Linux apps, merged to Sugar mainline. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:html5_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Port Sugar to the Broadwayd HTML5 GTK Backend||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 14:09, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar uses GTK3. Recently GTK3 released support for a HTML5 native backend called Broadwayd. &lt;br /&gt;
;Expected results: Make it feasible to run Sugar and pure gtk3 activities thru a browser (not Sugarizer). Docker container for Sugar on Broadwayd. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux. Docker.&lt;br /&gt;
&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:#00bb00&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;
!valign=top | || valign=top width = &amp;quot;15%&amp;quot; style=&amp;quot;background:#00bb00;&amp;quot; | [[Font Editor|Font Editor Activity]]||valign=top width=&amp;quot;15%&amp;quot; | with Dave Crossland || align=left valign=top|&lt;br /&gt;
;Brief explanation: Typeface design is a cornerstone of literate cultures, with subliminal power: Typefaces carry the emotions of texts, from formal designs that speak with authority to fun designs that are silly or military or ornate. They are both artistic and functional works, and our ability to share and modify them is important for the same reasons as for software programs.  A Sugar font editor activity will empower users to create and modify fonts for their own tastes and needs. Fonts are fun to make, but we need an editor to do it. &lt;br /&gt;
&lt;br /&gt;
;Expected results: Lots of free software Python and JavaScript libraries already exist so this project offers the possibility to make real progress for users this summer.&lt;br /&gt;
;Knowledge prerequisite: Strong background in JavaScript or Python&lt;br /&gt;
: &lt;br /&gt;
: &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:#00bb00;&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:#00bb00;&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:#00bb00;&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:#00bb00;&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:#00bb00;&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>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=99261</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=99261"/>
		<updated>2016-08-01T17:00:17Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: &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;
The Sugar Labs Google Summer of Code 2016 projects/students/mentors:&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;
! Project !! Student !! Mentors !! Proposal !! Blog !! IRC nick&lt;br /&gt;
|-&lt;br /&gt;
|Font Editor Activity||Yash Agarwal||Dave Crossland, Eli Heuer || [https://sugarlabs.github.io/edit-fonts-activity/refined-proposal] || [http://sugarlabs.github.io/font-editor-activity/] || yagarwal&lt;br /&gt;
|-&lt;br /&gt;
|Git Backend||Vikram Ahuja||Walter Bender, Tymon Radzik || Pending || [http://vikramahujagsoc.blogspot.com/] || vikram&lt;br /&gt;
|-&lt;br /&gt;
|Journal Rethink||Abhijit Patel||Walter Bender, Sam Parkinson||[https://www.docdroid.net/hbalTLC/1458885012-journal-rethink-proposal.pdf.html] || [http://abrahmab.github.io/] || AbrahmAB&lt;br /&gt;
|-&lt;br /&gt;
|Music Widgets||Hemant Kasat||Walter Bender, Devin Ulibarri || Pending || [http://musicblocks.net/2016/06/13/multiple-rhythm-rulers/] || hemant_kasat&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer OS||Jeremie Amsellem||Lionel Laské, Michaël Ohayon || Pending || [http://lp1-eu.blogspot.fr/] || lp1&lt;br /&gt;
|-&lt;br /&gt;
|Sugar on the Ground||Utkarsh Tiwari||Tony Anderson, Sebastian Silva || [http://docdro.id/zx9U1Vd] || [http://iamutkarshtiwari.wordpress.com] || iamutkarshtiwari&lt;br /&gt;
|}&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;
;Note 3: Accepted projects are in &amp;lt;font color=&amp;quot;#00bb00&amp;quot;&amp;gt;Green&amp;lt;/font&amp;gt;&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:#00bb00;&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:#00bb00;&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;
!valign=top | [[File:freedesktop_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Make Sugar compliant with Freedesktop standards||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 13:50, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Support Freedesktop.Org Desktop Entry specification for launching non-sugar applications, icon standards, etc. Find other ways to make Sugar useful as Linux desktop. Make it easy to run Sugar Activities in regular Linux desktop.&lt;br /&gt;
;Expected results: Improved user experience for users of regular Linux apps, merged to Sugar mainline. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:html5_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Port Sugar to the Broadwayd HTML5 GTK Backend||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 14:09, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar uses GTK3. Recently GTK3 released support for a HTML5 native backend called Broadwayd. &lt;br /&gt;
;Expected results: Make it feasible to run Sugar and pure gtk3 activities thru a browser (not Sugarizer). Docker container for Sugar on Broadwayd. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux. Docker.&lt;br /&gt;
&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:#00bb00&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;
!valign=top | || valign=top width = &amp;quot;15%&amp;quot; style=&amp;quot;background:#00bb00;&amp;quot; | [[Font Editor|Font Editor Activity]]||valign=top width=&amp;quot;15%&amp;quot; | with Dave Crossland || align=left valign=top|&lt;br /&gt;
;Brief explanation: Typeface design is a cornerstone of literate cultures, with subliminal power: Typefaces carry the emotions of texts, from formal designs that speak with authority to fun designs that are silly or military or ornate. They are both artistic and functional works, and our ability to share and modify them is important for the same reasons as for software programs.  A Sugar font editor activity will empower users to create and modify fonts for their own tastes and needs. Fonts are fun to make, but we need an editor to do it. &lt;br /&gt;
&lt;br /&gt;
;Expected results: Lots of free software Python and JavaScript libraries already exist so this project offers the possibility to make real progress for users this summer.&lt;br /&gt;
;Knowledge prerequisite: Strong background in JavaScript or Python&lt;br /&gt;
: &lt;br /&gt;
: &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:#00bb00;&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:#00bb00;&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:#00bb00;&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:#00bb00;&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:#00bb00;&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>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=99260</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=99260"/>
		<updated>2016-08-01T16:58:06Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: &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;
The Sugar Labs Google Summer of Code 2016 projects/students/mentors:&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;
! Project !! Student !! Mentors !! Proposal !! Blog !! IRC nick&lt;br /&gt;
|-&lt;br /&gt;
|Font Editor Activity||Yash Agarwal||Dave Crossland, Eli Heuer || [https://sugarlabs.github.io/edit-fonts-activity/refined-proposal] || [http://sugarlabs.github.io/font-editor-activity/] || yagarwal&lt;br /&gt;
|-&lt;br /&gt;
|Git Backend||Vikram Ahuja||Walter Bender, Tymon Radzik || Pending || [http://vikramahujagsoc.blogspot.com/] || vikram&lt;br /&gt;
|-&lt;br /&gt;
|Journal Rethink||Abhijit Patel||Walter Bender, Sam Parkinson||[https://www.docdroid.net/hbalTLC/1458885012-journal-rethink-proposal.pdf.html] || [http://abrahmab.github.io/] || AbrahmAB&lt;br /&gt;
|-&lt;br /&gt;
|Music Widgets||Hemant Kasat||Walter Bender, Devin Ulibarri || Pending || [http://musicblocks.net/2016/06/13/multiple-rhythm-rulers/] || hemant_kasat&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer OS||Jeremie Amsellem||Lionel Laské, Michaël Ohayon || Pending || [http://lp1-eu.blogspot.fr/] || lp1&lt;br /&gt;
|-&lt;br /&gt;
|Sugar on the Ground||Utkarsh Tiwari||Tony Anderson, Sebastian Silva || [http://docdro.id/zx9U1Vd] || [http://iamutkarshtiwari.wordpress.com] || iamutkarshtiwari&lt;br /&gt;
|}&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;
;Note 3: Accepted projects are in &amp;lt;font color=&amp;quot;#00bb00&amp;quot;&amp;gt;Green&amp;lt;/font&amp;gt;&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:#00bb00;&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:#00bb00;&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;
!valign=top | [[File:freedesktop_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Make Sugar compliant with Freedesktop standards||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 13:50, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Support Freedesktop.Org Desktop Entry specification for launching non-sugar applications, icon standards, etc. Find other ways to make Sugar useful as Linux desktop. Make it easy to run Sugar Activities in regular Linux desktop.&lt;br /&gt;
;Expected results: Improved user experience for users of regular Linux apps, merged to Sugar mainline. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:html5_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Port Sugar to the Broadwayd HTML5 GTK Backend||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 14:09, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar uses GTK3. Recently GTK3 released support for a HTML5 native backend called Broadwayd. &lt;br /&gt;
;Expected results: Make it feasible to run Sugar and pure gtk3 activities thru a browser (not Sugarizer). Docker container for Sugar on Broadwayd. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux. Docker.&lt;br /&gt;
&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:#00bb00&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;
!valign=top | || valign=top width = &amp;quot;15%&amp;quot; style=&amp;quot;background:#00bb00;&amp;quot; | [[Font Editor|Font Editor Activity]]||valign=top width=&amp;quot;15%&amp;quot; | with Dave Crossland || align=left valign=top|&lt;br /&gt;
;Brief explanation: Typeface design is a cornerstone of literate cultures, with subliminal power: Typefaces carry the emotions of texts, from formal designs that speak with authority to fun designs that are silly or military or ornate. They are both artistic and functional works, and our ability to share and modify them is important for the same reasons as for software programs.  A Sugar font editor activity will empower users to create and modify fonts for their own tastes and needs. Fonts are fun to make, but we need an editor to do it. &lt;br /&gt;
&lt;br /&gt;
;Expected results: Lots of free software Python and JavaScript libraries already exist so this project offers the possibility to make real progress for users this summer.&lt;br /&gt;
;Knowledge prerequisite: Strong background in JavaScript or Python&lt;br /&gt;
: &lt;br /&gt;
: &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:#00bb00;&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:#00bb00;&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:#00bb00;&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:#00bb00;&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>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=98909</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=98909"/>
		<updated>2016-06-03T14:05:02Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: &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;
The Sugar Labs Google Summer of Code 2016 projects/students/mentors:&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;
! Project !! Student !! Mentors !! Proposal !! Blog !! IRC nick&lt;br /&gt;
|-&lt;br /&gt;
|Font Editor Activity||Yash Agarwal||Dave Crossland, Eli Heuer || [https://sugarlabs.github.io/edit-fonts-activity/refined-proposal] || [http://sugarlabs.github.io/font-editor-activity/] || yagarwal&lt;br /&gt;
|-&lt;br /&gt;
|Git Backend||Vikram Ahuja||Walter Bender, Tymon Radzik || Pending || Pending || vikram&lt;br /&gt;
|-&lt;br /&gt;
|Journal Rethink||Abhijit Patel||Walter Bender, Sam Parkinson||[https://www.docdroid.net/hbalTLC/1458885012-journal-rethink-proposal.pdf.html] || Pending || AbrahmAB&lt;br /&gt;
|-&lt;br /&gt;
|Music Widgets||Hemant Kasat||Walter Bender, Devin Ulibarri || Pending || Pending || hemant_kasat&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer OS||Jeremie Amsellem||Lionel Laské, Michaël Ohayon || Pending || Pending || lp1&lt;br /&gt;
|-&lt;br /&gt;
|Sugar on the Ground||Utkarsh Tiwari||Tony Anderson, Sebastian Silva || [http://docdro.id/zx9U1Vd] || [http://iamutkarshtiwari.wordpress.com] || iamutkrashtiwari&lt;br /&gt;
|}&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;
;Note 3: Accepted projects are in &amp;lt;font color=&amp;quot;#00bb00&amp;quot;&amp;gt;Green&amp;lt;/font&amp;gt;&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:#00bb00;&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:#00bb00;&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;
!valign=top | [[File:freedesktop_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Make Sugar compliant with Freedesktop standards||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 13:50, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Support Freedesktop.Org Desktop Entry specification for launching non-sugar applications, icon standards, etc. Find other ways to make Sugar useful as Linux desktop. Make it easy to run Sugar Activities in regular Linux desktop.&lt;br /&gt;
;Expected results: Improved user experience for users of regular Linux apps, merged to Sugar mainline. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:html5_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Port Sugar to the Broadwayd HTML5 GTK Backend||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 14:09, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar uses GTK3. Recently GTK3 released support for a HTML5 native backend called Broadwayd. &lt;br /&gt;
;Expected results: Make it feasible to run Sugar and pure gtk3 activities thru a browser (not Sugarizer). Docker container for Sugar on Broadwayd. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux. Docker.&lt;br /&gt;
&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:#00bb00&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;
!valign=top | || valign=top width = &amp;quot;15%&amp;quot; style=&amp;quot;background:#00bb00;&amp;quot; | [[Font Editor|Font Editor Activity]]||valign=top width=&amp;quot;15%&amp;quot; | with Dave Crossland || align=left valign=top|&lt;br /&gt;
;Brief explanation: Typeface design is a cornerstone of literate cultures, with subliminal power: Typefaces carry the emotions of texts, from formal designs that speak with authority to fun designs that are silly or military or ornate. They are both artistic and functional works, and our ability to share and modify them is important for the same reasons as for software programs.  A Sugar font editor activity will empower users to create and modify fonts for their own tastes and needs. Fonts are fun to make, but we need an editor to do it. &lt;br /&gt;
&lt;br /&gt;
;Expected results: Lots of free software Python and JavaScript libraries already exist so this project offers the possibility to make real progress for users this summer.&lt;br /&gt;
;Knowledge prerequisite: Strong background in JavaScript or Python&lt;br /&gt;
: &lt;br /&gt;
: &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:#00bb00;&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:#00bb00;&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:#00bb00;&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:#00bb00;&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>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=98908</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=98908"/>
		<updated>2016-06-03T14:04:20Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: &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;
The Sugar Labs Google Summer of Code 2016 projects/students/mentors:&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;
! Project !! Student !! Mentors !! Proposal !! Blog !! IRC nick&lt;br /&gt;
|-&lt;br /&gt;
|Font Editor Activity||Yash Agarwal||Dave Crossland, Eli Heuer || [https://sugarlabs.github.io/edit-fonts-activity/refined-proposal] || [http://sugarlabs.github.io/font-editor-activity/] || yagarwal&lt;br /&gt;
|-&lt;br /&gt;
|Git Backend||Vikram Ahuja||Walter Bender, Tymon Radzik || Pending || Pending || vikram&lt;br /&gt;
|-&lt;br /&gt;
|Journal Rethink||Abhijit Patel||Walter Bender, Sam Parkinson||[https://www.docdroid.net/hbalTLC/1458885012-journal-rethink-proposal.pdf.html] || Pending || AbrahmAB&lt;br /&gt;
|-&lt;br /&gt;
|Music Widgets||Hemant Kasat||Walter Bender, Devin Ulibarri || Pending || Pending || hemant_kasat&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer OS||Jeremie Amsellem||Lionel Laské, Michaël Ohayon || Pending || Pending || lp1&lt;br /&gt;
|-&lt;br /&gt;
|Sugar on the Ground||Utkarsh Tiwari||Tony Anderson, Sebastian Silva || [http://docdro.id/zx9U1Vd] || [http://imutkarshtiwari.wordpress.com] || iamutkrashtiwari&lt;br /&gt;
|}&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;
;Note 3: Accepted projects are in &amp;lt;font color=&amp;quot;#00bb00&amp;quot;&amp;gt;Green&amp;lt;/font&amp;gt;&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:#00bb00;&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:#00bb00;&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;
!valign=top | [[File:freedesktop_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Make Sugar compliant with Freedesktop standards||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 13:50, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Support Freedesktop.Org Desktop Entry specification for launching non-sugar applications, icon standards, etc. Find other ways to make Sugar useful as Linux desktop. Make it easy to run Sugar Activities in regular Linux desktop.&lt;br /&gt;
;Expected results: Improved user experience for users of regular Linux apps, merged to Sugar mainline. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:html5_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Port Sugar to the Broadwayd HTML5 GTK Backend||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 14:09, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar uses GTK3. Recently GTK3 released support for a HTML5 native backend called Broadwayd. &lt;br /&gt;
;Expected results: Make it feasible to run Sugar and pure gtk3 activities thru a browser (not Sugarizer). Docker container for Sugar on Broadwayd. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux. Docker.&lt;br /&gt;
&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:#00bb00&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;
!valign=top | || valign=top width = &amp;quot;15%&amp;quot; style=&amp;quot;background:#00bb00;&amp;quot; | [[Font Editor|Font Editor Activity]]||valign=top width=&amp;quot;15%&amp;quot; | with Dave Crossland || align=left valign=top|&lt;br /&gt;
;Brief explanation: Typeface design is a cornerstone of literate cultures, with subliminal power: Typefaces carry the emotions of texts, from formal designs that speak with authority to fun designs that are silly or military or ornate. They are both artistic and functional works, and our ability to share and modify them is important for the same reasons as for software programs.  A Sugar font editor activity will empower users to create and modify fonts for their own tastes and needs. Fonts are fun to make, but we need an editor to do it. &lt;br /&gt;
&lt;br /&gt;
;Expected results: Lots of free software Python and JavaScript libraries already exist so this project offers the possibility to make real progress for users this summer.&lt;br /&gt;
;Knowledge prerequisite: Strong background in JavaScript or Python&lt;br /&gt;
: &lt;br /&gt;
: &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:#00bb00;&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:#00bb00;&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:#00bb00;&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:#00bb00;&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>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/JS_Fiddler&amp;diff=98476</id>
		<title>Features/JS Fiddler</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/JS_Fiddler&amp;diff=98476"/>
		<updated>2016-05-14T20:03:11Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Suggested UI Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
Adds the capability to test your HTML/CSS/Javascript code inside BROWSE.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
&#039;&#039;This should link to your home wiki page so we know who you are&#039;&#039;&lt;br /&gt;
* Name: [[User:iamutkarshtiwari| Utkarsh Tiwari]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved&#039;&#039;&lt;br /&gt;
* Email: iamutkarshtiwari at gmail dot com&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.110&lt;br /&gt;
* Last updated: 30/3/2016&lt;br /&gt;
* Percentage of completion: 100%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&lt;br /&gt;
This feature allows users to test their Javascript/HTML/CSS code using the Js-Fiddler inside the Browse activity. It provides following four features-&lt;br /&gt;
&lt;br /&gt;
1- Save: Save the current text/code to the journal&amp;lt;br&amp;gt;&lt;br /&gt;
2- Open: Opens a specified document[containing text/code] previously saved in the journal&amp;lt;br&amp;gt;&lt;br /&gt;
3- Run:  Runs the code inside the console and displays the output&amp;lt;br&amp;gt;&lt;br /&gt;
4- Add image: Imports an image from the Journal to be used inside the HTML/CSS/Javascript code.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suggested UI Design==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;User Interface&#039;&#039;&#039;&lt;br /&gt;
     &lt;br /&gt;
 http://imgur.com/7R3Bz7X.gif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Initial tab&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 http://imgur.com/Cm4dC9N.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HTML code in action&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 http://imgur.com/myeAn49.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HTML + CSS code in action&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 http://imgur.com/Q74w4RM.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viewing page source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 http://imgur.com/nvKnrcD.png&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/JS_Fiddler&amp;diff=98475</id>
		<title>Features/JS Fiddler</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/JS_Fiddler&amp;diff=98475"/>
		<updated>2016-05-14T20:02:18Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Suggested UI Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
Adds the capability to test your HTML/CSS/Javascript code inside BROWSE.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
&#039;&#039;This should link to your home wiki page so we know who you are&#039;&#039;&lt;br /&gt;
* Name: [[User:iamutkarshtiwari| Utkarsh Tiwari]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved&#039;&#039;&lt;br /&gt;
* Email: iamutkarshtiwari at gmail dot com&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.110&lt;br /&gt;
* Last updated: 30/3/2016&lt;br /&gt;
* Percentage of completion: 100%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&lt;br /&gt;
This feature allows users to test their Javascript/HTML/CSS code using the Js-Fiddler inside the Browse activity. It provides following four features-&lt;br /&gt;
&lt;br /&gt;
1- Save: Save the current text/code to the journal&amp;lt;br&amp;gt;&lt;br /&gt;
2- Open: Opens a specified document[containing text/code] previously saved in the journal&amp;lt;br&amp;gt;&lt;br /&gt;
3- Run:  Runs the code inside the console and displays the output&amp;lt;br&amp;gt;&lt;br /&gt;
4- Add image: Imports an image from the Journal to be used inside the HTML/CSS/Javascript code.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suggested UI Design==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;User Interface&#039;&#039;&#039;&lt;br /&gt;
     &lt;br /&gt;
 http://imgur.com/7R3Bz7X.gif&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Initial tab&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 http://imgur.com/Cm4dC9N.png&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HTML code in action&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 http://imgur.com/myeAn49.png&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;HTML + CSS code in action&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 http://imgur.com/Q74w4RM.png&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viewing page source&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 http://imgur.com/nvKnrcD.png&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/JS_Fiddler&amp;diff=98474</id>
		<title>Features/JS Fiddler</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/JS_Fiddler&amp;diff=98474"/>
		<updated>2016-05-14T19:59:24Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
Adds the capability to test your HTML/CSS/Javascript code inside BROWSE.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
&#039;&#039;This should link to your home wiki page so we know who you are&#039;&#039;&lt;br /&gt;
* Name: [[User:iamutkarshtiwari| Utkarsh Tiwari]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved&#039;&#039;&lt;br /&gt;
* Email: iamutkarshtiwari at gmail dot com&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.110&lt;br /&gt;
* Last updated: 30/3/2016&lt;br /&gt;
* Percentage of completion: 100%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&lt;br /&gt;
This feature allows users to test their Javascript/HTML/CSS code using the Js-Fiddler inside the Browse activity. It provides following four features-&lt;br /&gt;
&lt;br /&gt;
1- Save: Save the current text/code to the journal&amp;lt;br&amp;gt;&lt;br /&gt;
2- Open: Opens a specified document[containing text/code] previously saved in the journal&amp;lt;br&amp;gt;&lt;br /&gt;
3- Run:  Runs the code inside the console and displays the output&amp;lt;br&amp;gt;&lt;br /&gt;
4- Add image: Imports an image from the Journal to be used inside the HTML/CSS/Javascript code.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suggested UI Design==&lt;br /&gt;
     &lt;br /&gt;
 http://imgur.com/gIKfapm.gif&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/JS_Fiddler&amp;diff=98473</id>
		<title>Features/JS Fiddler</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/JS_Fiddler&amp;diff=98473"/>
		<updated>2016-05-14T19:47:44Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Current status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
Adds the capability to test your Javascript code inside BROWSE.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
&#039;&#039;This should link to your home wiki page so we know who you are&#039;&#039;&lt;br /&gt;
* Name: [[User:iamutkarshtiwari| Utkarsh Tiwari]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved&#039;&#039;&lt;br /&gt;
* Email: iamutkarshtiwari at gmail dot com&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.110&lt;br /&gt;
* Last updated: 30/3/2016&lt;br /&gt;
* Percentage of completion: 100%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&lt;br /&gt;
This feature allows users to test their Javascript/HTML/CSS code using the Js-Fiddler inside the Browse activity. It provides following four features-&lt;br /&gt;
&lt;br /&gt;
1- Save: Save the current text/code to the journal&amp;lt;br&amp;gt;&lt;br /&gt;
2- Open: Opens a specified document[containing text/code] previously saved in the journal&amp;lt;br&amp;gt;&lt;br /&gt;
3- Run:  Runs the code inside the console and displays the output&amp;lt;br&amp;gt;&lt;br /&gt;
4- Add image: Imports an image from the Journal to be used inside the HTML/CSS/Javascript code.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suggested UI Design==&lt;br /&gt;
     &lt;br /&gt;
 http://imgur.com/gIKfapm.gif&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=98472</id>
		<title>0.110/Feature List</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=98472"/>
		<updated>2016-05-14T19:47:22Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Done ==&lt;br /&gt;
&lt;br /&gt;
* [[Features/Proxy_Settings]]&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
&lt;br /&gt;
* [[0.110/Feature List/Sugar ScreenshotDialogPopup|Screenshot Dialog Popup]]&lt;br /&gt;
* [[0.110/Feature_List/JS_Fiddler|Browse JS fiddler]]&lt;br /&gt;
* [[Features/Replace_GtkMenu|Replace Gtk Menu]] https://github.com/sugarlabs/sugar/pull/567 &lt;br /&gt;
** Note, no one has adopted this&lt;br /&gt;
* https://bugs.sugarlabs.org/ticket/4900 https://github.com/sugarlabs/sugar/pull/609&lt;br /&gt;
* [[Features/FreeDesktop integration|Better integrate with X11 FreeDesktop]]&lt;br /&gt;
* Faster UI perception (especially on XO-1)&lt;br /&gt;
** &amp;lt;nowiki&amp;gt;https://github.com/sugarlabs/sugar/pull/619&amp;lt;/nowiki&amp;gt; was closed, pending design discussion&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;http://wiki.sugarlabs.org/go/Lion_Activity&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Browse_JS_Fiddler&amp;diff=98471</id>
		<title>Features/Browse JS Fiddler</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Browse_JS_Fiddler&amp;diff=98471"/>
		<updated>2016-05-14T19:45:42Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: Created page with &amp;quot;== Summary ==  Adds the capability to test your Javascript code inside BROWSE.  == Owner == &amp;#039;&amp;#039;This should link to your home wiki page so we know who you are&amp;#039;&amp;#039; * Name: User:i...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
Adds the capability to test your Javascript code inside BROWSE.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
&#039;&#039;This should link to your home wiki page so we know who you are&#039;&#039;&lt;br /&gt;
* Name: [[User:iamutkarshtiwari| Utkarsh Tiwari]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved&#039;&#039;&lt;br /&gt;
* Email: iamutkarshtiwari at gmail dot com&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.110&lt;br /&gt;
* Last updated: 30/3/2016&lt;br /&gt;
* Percentage of completion: 90%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&lt;br /&gt;
This feature allows users to test their Javascript/HTML/CSS code using the Js-Fiddler inside the Browse activity. It provides following four features-&lt;br /&gt;
&lt;br /&gt;
1- Save: Save the current text/code to the journal&amp;lt;br&amp;gt;&lt;br /&gt;
2- Open: Opens a specified document[containing text/code] previously saved in the journal&amp;lt;br&amp;gt;&lt;br /&gt;
3- Run:  Runs the code inside the console and displays the output&amp;lt;br&amp;gt;&lt;br /&gt;
4- Add image: Imports an image from the Journal to be used inside the HTML/CSS/Javascript code.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suggested UI Design==&lt;br /&gt;
     &lt;br /&gt;
 http://imgur.com/gIKfapm.gif&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/JS_Fiddler&amp;diff=98326</id>
		<title>Features/JS Fiddler</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/JS_Fiddler&amp;diff=98326"/>
		<updated>2016-04-29T16:23:32Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Detailed Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
Adds the capability to test your Javascript code inside BROWSE.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
&#039;&#039;This should link to your home wiki page so we know who you are&#039;&#039;&lt;br /&gt;
* Name: [[User:iamutkarshtiwari| Utkarsh Tiwari]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved&#039;&#039;&lt;br /&gt;
* Email: iamutkarshtiwari at gmail dot com&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.110&lt;br /&gt;
* Last updated: 30/3/2016&lt;br /&gt;
* Percentage of completion: 90%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&lt;br /&gt;
This feature allows users to test their Javascript/HTML/CSS code using the Js-Fiddler inside the Browse activity. It provides following four features-&lt;br /&gt;
&lt;br /&gt;
1- Save: Save the current text/code to the journal&amp;lt;br&amp;gt;&lt;br /&gt;
2- Open: Opens a specified document[containing text/code] previously saved in the journal&amp;lt;br&amp;gt;&lt;br /&gt;
3- Run:  Runs the code inside the console and displays the output&amp;lt;br&amp;gt;&lt;br /&gt;
4- Add image: Imports an image from the Journal to be used inside the HTML/CSS/Javascript code.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Suggested UI Design==&lt;br /&gt;
     &lt;br /&gt;
 http://imgur.com/gIKfapm.gif&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=98324</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=98324"/>
		<updated>2016-04-28T21:41:36Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: &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;
The Sugar Labs Google Summer of Code 2016 projects/students/mentors:&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;
! Project !! Student !! Mentors !! Proposal !! Blog &lt;br /&gt;
|-&lt;br /&gt;
|Font Editor Activity||Yash Agarwal||Dave Crossland, Eli Heuer || Pending || [http://sugarlabs.github.io/font-editor-activity/]&lt;br /&gt;
|-&lt;br /&gt;
|Git Backend||Vikram Ahuja||Walter Bender, Tymon Radzik||Pending||Pending&lt;br /&gt;
|-&lt;br /&gt;
|Journal Rethink||Abhijit Patel||Walter Bender, Sam Parkinson||[https://www.docdroid.net/hbalTLC/1458885012-journal-rethink-proposal.pdf.html]||Pending&lt;br /&gt;
|-&lt;br /&gt;
|Music Widgets||Hemant Kasat||Walter Bender, Devin Ulibarri||Pending||Pending&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer OS||Jeremie Amsellem||Lionel Laské, Michaël Ohayon||Pending||Pending&lt;br /&gt;
|-&lt;br /&gt;
|Sugar on the Ground||Utkarsh Tiwari||Tony Anderson, Sebastian Silva|| [http://docdro.id/zx9U1Vd]||Pending&lt;br /&gt;
|}&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;
;Note 3: Accepted projects are in &amp;lt;font color=&amp;quot;#00bb00&amp;quot;&amp;gt;Green&amp;lt;/font&amp;gt;&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:#00bb00;&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:#00bb00;&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;
!valign=top | [[File:freedesktop_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Make Sugar compliant with Freedesktop standards||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 13:50, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Support Freedesktop.Org Desktop Entry specification for launching non-sugar applications, icon standards, etc. Find other ways to make Sugar useful as Linux desktop. Make it easy to run Sugar Activities in regular Linux desktop.&lt;br /&gt;
;Expected results: Improved user experience for users of regular Linux apps, merged to Sugar mainline. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:html5_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Port Sugar to the Broadwayd HTML5 GTK Backend||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 14:09, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar uses GTK3. Recently GTK3 released support for a HTML5 native backend called Broadwayd. &lt;br /&gt;
;Expected results: Make it feasible to run Sugar and pure gtk3 activities thru a browser (not Sugarizer). Docker container for Sugar on Broadwayd. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux. Docker.&lt;br /&gt;
&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:#00bb00&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;
!valign=top | || valign=top width = &amp;quot;15%&amp;quot; style=&amp;quot;background:#00bb00;&amp;quot; | [[Font Editor|Font Editor Activity]]||valign=top width=&amp;quot;15%&amp;quot; | with Dave Crossland || align=left valign=top|&lt;br /&gt;
;Brief explanation: Typeface design is a cornerstone of literate cultures, with subliminal power: Typefaces carry the emotions of texts, from formal designs that speak with authority to fun designs that are silly or military or ornate. They are both artistic and functional works, and our ability to share and modify them is important for the same reasons as for software programs.  A Sugar font editor activity will empower users to create and modify fonts for their own tastes and needs. Fonts are fun to make, but we need an editor to do it. &lt;br /&gt;
&lt;br /&gt;
;Expected results: Lots of free software Python and JavaScript libraries already exist so this project offers the possibility to make real progress for users this summer.&lt;br /&gt;
;Knowledge prerequisite: Strong background in JavaScript or Python&lt;br /&gt;
: &lt;br /&gt;
: &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:#00bb00;&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:#00bb00;&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:#00bb00;&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:#00bb00;&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>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/JS_Fiddler&amp;diff=98323</id>
		<title>Features/JS Fiddler</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/JS_Fiddler&amp;diff=98323"/>
		<updated>2016-04-28T19:21:36Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Suggested UI Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
Adds the capability to test your Javascript code inside BROWSE.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
&#039;&#039;This should link to your home wiki page so we know who you are&#039;&#039;&lt;br /&gt;
* Name: [[User:iamutkarshtiwari| Utkarsh Tiwari]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved&#039;&#039;&lt;br /&gt;
* Email: iamutkarshtiwari at gmail dot com&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.110&lt;br /&gt;
* Last updated: 30/3/2016&lt;br /&gt;
* Percentage of completion: 90%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&lt;br /&gt;
This feature allows users to test their Javascript/HTML/CSS code using the Js-Fiddler inside the Browse activity. It provides following four features-&lt;br /&gt;
&lt;br /&gt;
1- Save: Save the current text/code to the journal&lt;br /&gt;
2- Open: Opens a specified document[containing text/code] previously saved in the journal&lt;br /&gt;
3- Run:  Runs the code inside the console and displays the output&lt;br /&gt;
4- Add image: Imports an image from the Journal to be used inside the HTML/CSS/Javascript code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Suggested UI Design==&lt;br /&gt;
     &lt;br /&gt;
 http://imgur.com/gIKfapm.gif&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/JS_Fiddler&amp;diff=98322</id>
		<title>Features/JS Fiddler</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/JS_Fiddler&amp;diff=98322"/>
		<updated>2016-04-28T19:21:10Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Suggested UI Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
Adds the capability to test your Javascript code inside BROWSE.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
&#039;&#039;This should link to your home wiki page so we know who you are&#039;&#039;&lt;br /&gt;
* Name: [[User:iamutkarshtiwari| Utkarsh Tiwari]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved&#039;&#039;&lt;br /&gt;
* Email: iamutkarshtiwari at gmail dot com&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.110&lt;br /&gt;
* Last updated: 30/3/2016&lt;br /&gt;
* Percentage of completion: 90%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&lt;br /&gt;
This feature allows users to test their Javascript/HTML/CSS code using the Js-Fiddler inside the Browse activity. It provides following four features-&lt;br /&gt;
&lt;br /&gt;
1- Save: Save the current text/code to the journal&lt;br /&gt;
2- Open: Opens a specified document[containing text/code] previously saved in the journal&lt;br /&gt;
3- Run:  Runs the code inside the console and displays the output&lt;br /&gt;
4- Add image: Imports an image from the Journal to be used inside the HTML/CSS/Javascript code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Suggested UI Design==&lt;br /&gt;
     &lt;br /&gt;
               http://imgur.com/gIKfapm.gif&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/JS_Fiddler&amp;diff=98321</id>
		<title>Features/JS Fiddler</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/JS_Fiddler&amp;diff=98321"/>
		<updated>2016-04-28T19:19:35Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: Created page with &amp;quot;== Summary ==  Adds the capability to test your Javascript code inside BROWSE.  == Owner == &amp;#039;&amp;#039;This should link to your home wiki page so we know who you are&amp;#039;&amp;#039; * Name: User:i...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
Adds the capability to test your Javascript code inside BROWSE.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
&#039;&#039;This should link to your home wiki page so we know who you are&#039;&#039;&lt;br /&gt;
* Name: [[User:iamutkarshtiwari| Utkarsh Tiwari]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved&#039;&#039;&lt;br /&gt;
* Email: iamutkarshtiwari at gmail dot com&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.110&lt;br /&gt;
* Last updated: 30/3/2016&lt;br /&gt;
* Percentage of completion: 90%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&lt;br /&gt;
This feature allows users to test their Javascript/HTML/CSS code using the Js-Fiddler inside the Browse activity. It provides following four features-&lt;br /&gt;
&lt;br /&gt;
1- Save: Save the current text/code to the journal&lt;br /&gt;
2- Open: Opens a specified document[containing text/code] previously saved in the journal&lt;br /&gt;
3- Run:  Runs the code inside the console and displays the output&lt;br /&gt;
4- Add image: Imports an image from the Journal to be used inside the HTML/CSS/Javascript code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Suggested UI Design==&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=98273</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=98273"/>
		<updated>2016-04-23T20:35:34Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: &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;
The Sugar Labs Google Summer of Code 2016 projects/students/mentors:&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;
! Project !! Student !! Mentor !! Proposal !! Blog &lt;br /&gt;
|-&lt;br /&gt;
|Font Editor Activity||aku||Dave Crossland, Eli Heuer ||&lt;br /&gt;
|-&lt;br /&gt;
|Git Backend||Vikram Ahuja||Walter Bender, Tymon Radzik||&lt;br /&gt;
|-&lt;br /&gt;
|Journal Rethink||Abhijit Patel||Walter Bender, Sam Parkinson||&lt;br /&gt;
|-&lt;br /&gt;
|Music Widgets||Hemant Kasat||Walter Bender, Devin Ulibarri||&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer OS||Jeremie Amsellem||Lionel Laské, Michaël Ohayon||&lt;br /&gt;
|-&lt;br /&gt;
|Sugar on the Ground||Utkarsh Tiwari||Tony Anderson, Sebastian Silva|| [http://docdro.id/zx9U1Vd]&lt;br /&gt;
|}&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;
;Note 3: Accepted projects are in &amp;lt;font color=&amp;quot;#00bb00&amp;quot;&amp;gt;Green&amp;lt;/font&amp;gt;&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:#00bb00;&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:#00bb00;&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;
!valign=top | [[File:freedesktop_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Make Sugar compliant with Freedesktop standards||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 13:50, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Support Freedesktop.Org Desktop Entry specification for launching non-sugar applications, icon standards, etc. Find other ways to make Sugar useful as Linux desktop. Make it easy to run Sugar Activities in regular Linux desktop.&lt;br /&gt;
;Expected results: Improved user experience for users of regular Linux apps, merged to Sugar mainline. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:html5_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Port Sugar to the Broadwayd HTML5 GTK Backend||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 14:09, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar uses GTK3. Recently GTK3 released support for a HTML5 native backend called Broadwayd. &lt;br /&gt;
;Expected results: Make it feasible to run Sugar and pure gtk3 activities thru a browser (not Sugarizer). Docker container for Sugar on Broadwayd. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux. Docker.&lt;br /&gt;
&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:#00bb00&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;
!valign=top | || valign=top width = &amp;quot;15%&amp;quot; style=&amp;quot;background:#00bb00;&amp;quot; | Font Editor Activity||valign=top width=&amp;quot;15%&amp;quot; | with Dave Crossland || align=left valign=top|&lt;br /&gt;
;Brief explanation: Typeface design is a cornerstone of literate cultures, with subliminal power: Typefaces carry the emotions of texts, from formal designs that speak with authority to fun designs that are silly or military or ornate. They are both artistic and functional works, and our ability to share and modify them is important for the same reasons as for software programs.  A Sugar font editor activity will empower users to create and modify fonts for their own tastes and needs. Fonts are fun to make, but we need an editor to do it. &lt;br /&gt;
&lt;br /&gt;
;Expected results: Lots of free software Python and JavaScript libraries already exist so this project offers the possibility to make real progress for users this summer.&lt;br /&gt;
;Knowledge prerequisite: Strong background in JavaScript or Python&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:#00bb00;&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:#00bb00;&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:#00bb00;&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:#00bb00;&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>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=98264</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=98264"/>
		<updated>2016-04-23T14:04:10Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Project candidates */&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;
The Sugar Labs Google Summer of Code 2016 projects/students/mentors:&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;
! Project !! Student !! Mentor !! Blog&lt;br /&gt;
|-&lt;br /&gt;
|Font Editor Activity||aku||Dave Crossland, Eli Heuer ||&lt;br /&gt;
|-&lt;br /&gt;
|Git Backend||Vikram Ahuja||Walter Bender, Tymon Radzik||&lt;br /&gt;
|-&lt;br /&gt;
|Journal Rethink||Abhijit Patel||Walter Bender, Sam Parkinson||&lt;br /&gt;
|-&lt;br /&gt;
|Music Widgets||Hemant Kasat||Walter Bender, Devin Ulibarri||&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer OS||Jeremie Amsellem||Lionel Laské, Michaël Ohayon||&lt;br /&gt;
|-&lt;br /&gt;
|Sugar on the Ground||Utkarsh Tiwari||Tony Anderson, Sebastian Silva||&lt;br /&gt;
|}&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;
;Note 3: Accepted projects are in &amp;lt;font color=&amp;quot;#00bb00&amp;quot;&amp;gt;Green&amp;lt;/font&amp;gt;&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:#00bb00;&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:#00bb00;&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;
!valign=top | [[File:freedesktop_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Make Sugar compliant with Freedesktop standards||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 13:50, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Support Freedesktop.Org Desktop Entry specification for launching non-sugar applications, icon standards, etc. Find other ways to make Sugar useful as Linux desktop. Make it easy to run Sugar Activities in regular Linux desktop.&lt;br /&gt;
;Expected results: Improved user experience for users of regular Linux apps, merged to Sugar mainline. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:html5_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Port Sugar to the Broadwayd HTML5 GTK Backend||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 14:09, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar uses GTK3. Recently GTK3 released support for a HTML5 native backend called Broadwayd. &lt;br /&gt;
;Expected results: Make it feasible to run Sugar and pure gtk3 activities thru a browser (not Sugarizer). Docker container for Sugar on Broadwayd. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux. Docker.&lt;br /&gt;
&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:#00bb00&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;
!valign=top | || valign=top width = &amp;quot;15%&amp;quot; style=&amp;quot;background:#00bb00;&amp;quot; | Font Editor Activity||valign=top width=&amp;quot;15%&amp;quot; | with Dave Crossland || align=left valign=top|&lt;br /&gt;
;Brief explanation: Typeface design is a cornerstone of literate cultures, with subliminal power: Typefaces carry the emotions of texts, from formal designs that speak with authority to fun designs that are silly or military or ornate. They are both artistic and functional works, and our ability to share and modify them is important for the same reasons as for software programs.  A Sugar font editor activity will empower users to create and modify fonts for their own tastes and needs. Fonts are fun to make, but we need an editor to do it. &lt;br /&gt;
&lt;br /&gt;
;Expected results: Lots of free software Python and JavaScript libraries already exist so this project offers the possibility to make real progress for users this summer.&lt;br /&gt;
;Knowledge prerequisite: Strong background in JavaScript or Python&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:#00bb00;&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:#00bb00;&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:#00bb00;&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:#00bb00;&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>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=98263</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=98263"/>
		<updated>2016-04-23T14:03:32Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Sugar on the Ground */&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;
The Sugar Labs Google Summer of Code 2016 projects/students/mentors:&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;
! Project !! Student !! Mentor !! Blog&lt;br /&gt;
|-&lt;br /&gt;
|Font Editor Activity||aku||Dave Crossland, Eli Heuer ||&lt;br /&gt;
|-&lt;br /&gt;
|Git Backend||Vikram Ahuja||Walter Bender, Tymon Radzik||&lt;br /&gt;
|-&lt;br /&gt;
|Journal Rethink||Abhijit Patel||Walter Bender, Sam Parkinson||&lt;br /&gt;
|-&lt;br /&gt;
|Music Widgets||Hemant Kasat||Walter Bender, Devin Ulibarri||&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer OS||Jeremie Amsellem||Lionel Laské, Michaël Ohayon||&lt;br /&gt;
|-&lt;br /&gt;
|Sugar on the Ground||Utkarsh Tiwari||Tony Anderson, Sebastian Silva||&lt;br /&gt;
|}&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;
;Note: Accepted projects are in &amp;lt;font color=&amp;quot;#00bb00&amp;quot;&amp;gt;Green&amp;lt;/font&amp;gt;&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:#00bb00;&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:#00bb00;&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;
!valign=top | [[File:freedesktop_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Make Sugar compliant with Freedesktop standards||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 13:50, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Support Freedesktop.Org Desktop Entry specification for launching non-sugar applications, icon standards, etc. Find other ways to make Sugar useful as Linux desktop. Make it easy to run Sugar Activities in regular Linux desktop.&lt;br /&gt;
;Expected results: Improved user experience for users of regular Linux apps, merged to Sugar mainline. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:html5_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Port Sugar to the Broadwayd HTML5 GTK Backend||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 14:09, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar uses GTK3. Recently GTK3 released support for a HTML5 native backend called Broadwayd. &lt;br /&gt;
;Expected results: Make it feasible to run Sugar and pure gtk3 activities thru a browser (not Sugarizer). Docker container for Sugar on Broadwayd. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux. Docker.&lt;br /&gt;
&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:#00bb00&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;
!valign=top | || valign=top width = &amp;quot;15%&amp;quot; style=&amp;quot;background:#00bb00;&amp;quot; | Font Editor Activity||valign=top width=&amp;quot;15%&amp;quot; | with Dave Crossland || align=left valign=top|&lt;br /&gt;
;Brief explanation: Typeface design is a cornerstone of literate cultures, with subliminal power: Typefaces carry the emotions of texts, from formal designs that speak with authority to fun designs that are silly or military or ornate. They are both artistic and functional works, and our ability to share and modify them is important for the same reasons as for software programs.  A Sugar font editor activity will empower users to create and modify fonts for their own tastes and needs. Fonts are fun to make, but we need an editor to do it. &lt;br /&gt;
&lt;br /&gt;
;Expected results: Lots of free software Python and JavaScript libraries already exist so this project offers the possibility to make real progress for users this summer.&lt;br /&gt;
;Knowledge prerequisite: Strong background in JavaScript or Python&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:#00bb00;&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:#00bb00;&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:#00bb00;&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:#00bb00;&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>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=98262</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=98262"/>
		<updated>2016-04-23T14:02:25Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Sugarizer */&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;
The Sugar Labs Google Summer of Code 2016 projects/students/mentors:&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;
! Project !! Student !! Mentor !! Blog&lt;br /&gt;
|-&lt;br /&gt;
|Font Editor Activity||aku||Dave Crossland, Eli Heuer ||&lt;br /&gt;
|-&lt;br /&gt;
|Git Backend||Vikram Ahuja||Walter Bender, Tymon Radzik||&lt;br /&gt;
|-&lt;br /&gt;
|Journal Rethink||Abhijit Patel||Walter Bender, Sam Parkinson||&lt;br /&gt;
|-&lt;br /&gt;
|Music Widgets||Hemant Kasat||Walter Bender, Devin Ulibarri||&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer OS||Jeremie Amsellem||Lionel Laské, Michaël Ohayon||&lt;br /&gt;
|-&lt;br /&gt;
|Sugar on the Ground||Utkarsh Tiwari||Tony Anderson, Sebastian Silva||&lt;br /&gt;
|}&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;
;Note: Accepted projects are in &amp;lt;font color=&amp;quot;#00bb00&amp;quot;&amp;gt;Green&amp;lt;/font&amp;gt;&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:#00bb00;&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:#00bb00;&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;
!valign=top | [[File:freedesktop_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Make Sugar compliant with Freedesktop standards||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 13:50, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Support Freedesktop.Org Desktop Entry specification for launching non-sugar applications, icon standards, etc. Find other ways to make Sugar useful as Linux desktop. Make it easy to run Sugar Activities in regular Linux desktop.&lt;br /&gt;
;Expected results: Improved user experience for users of regular Linux apps, merged to Sugar mainline. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:html5_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Port Sugar to the Broadwayd HTML5 GTK Backend||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 14:09, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar uses GTK3. Recently GTK3 released support for a HTML5 native backend called Broadwayd. &lt;br /&gt;
;Expected results: Make it feasible to run Sugar and pure gtk3 activities thru a browser (not Sugarizer). Docker container for Sugar on Broadwayd. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux. Docker.&lt;br /&gt;
&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:#00bb00&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;
!valign=top | || valign=top width = &amp;quot;15%&amp;quot; style=&amp;quot;background:#00bb00;&amp;quot; | Font Editor Activity||valign=top width=&amp;quot;15%&amp;quot; | with Dave Crossland || align=left valign=top|&lt;br /&gt;
;Brief explanation: Typeface design is a cornerstone of literate cultures, with subliminal power: Typefaces carry the emotions of texts, from formal designs that speak with authority to fun designs that are silly or military or ornate. They are both artistic and functional works, and our ability to share and modify them is important for the same reasons as for software programs.  A Sugar font editor activity will empower users to create and modify fonts for their own tastes and needs. Fonts are fun to make, but we need an editor to do it. &lt;br /&gt;
&lt;br /&gt;
;Expected results: Lots of free software Python and JavaScript libraries already exist so this project offers the possibility to make real progress for users this summer.&lt;br /&gt;
;Knowledge prerequisite: Strong background in JavaScript or Python&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:#00bb00;&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>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=98261</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=98261"/>
		<updated>2016-04-23T14:01:39Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* 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;
The Sugar Labs Google Summer of Code 2016 projects/students/mentors:&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;
! Project !! Student !! Mentor !! Blog&lt;br /&gt;
|-&lt;br /&gt;
|Font Editor Activity||aku||Dave Crossland, Eli Heuer ||&lt;br /&gt;
|-&lt;br /&gt;
|Git Backend||Vikram Ahuja||Walter Bender, Tymon Radzik||&lt;br /&gt;
|-&lt;br /&gt;
|Journal Rethink||Abhijit Patel||Walter Bender, Sam Parkinson||&lt;br /&gt;
|-&lt;br /&gt;
|Music Widgets||Hemant Kasat||Walter Bender, Devin Ulibarri||&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer OS||Jeremie Amsellem||Lionel Laské, Michaël Ohayon||&lt;br /&gt;
|-&lt;br /&gt;
|Sugar on the Ground||Utkarsh Tiwari||Tony Anderson, Sebastian Silva||&lt;br /&gt;
|}&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;
;Note: Accepted projects are in &amp;lt;font color=&amp;quot;#00bb00&amp;quot;&amp;gt;Green&amp;lt;/font&amp;gt;&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:#00bb00;&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:#00bb00;&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;
!valign=top | [[File:freedesktop_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Make Sugar compliant with Freedesktop standards||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 13:50, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Support Freedesktop.Org Desktop Entry specification for launching non-sugar applications, icon standards, etc. Find other ways to make Sugar useful as Linux desktop. Make it easy to run Sugar Activities in regular Linux desktop.&lt;br /&gt;
;Expected results: Improved user experience for users of regular Linux apps, merged to Sugar mainline. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:html5_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Port Sugar to the Broadwayd HTML5 GTK Backend||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 14:09, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar uses GTK3. Recently GTK3 released support for a HTML5 native backend called Broadwayd. &lt;br /&gt;
;Expected results: Make it feasible to run Sugar and pure gtk3 activities thru a browser (not Sugarizer). Docker container for Sugar on Broadwayd. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux. Docker.&lt;br /&gt;
&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:#00bb00&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;
!valign=top | || valign=top width = &amp;quot;15%&amp;quot; style=&amp;quot;background:#00bb00;&amp;quot; | Font Editor Activity||valign=top width=&amp;quot;15%&amp;quot; | with Dave Crossland || align=left valign=top|&lt;br /&gt;
;Brief explanation: Typeface design is a cornerstone of literate cultures, with subliminal power: Typefaces carry the emotions of texts, from formal designs that speak with authority to fun designs that are silly or military or ornate. They are both artistic and functional works, and our ability to share and modify them is important for the same reasons as for software programs.  A Sugar font editor activity will empower users to create and modify fonts for their own tastes and needs. Fonts are fun to make, but we need an editor to do it. &lt;br /&gt;
&lt;br /&gt;
;Expected results: Lots of free software Python and JavaScript libraries already exist so this project offers the possibility to make real progress for users this summer.&lt;br /&gt;
;Knowledge prerequisite: Strong background in JavaScript or Python&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>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=98260</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=98260"/>
		<updated>2016-04-23T14:00:11Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* 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;
The Sugar Labs Google Summer of Code 2016 projects/students/mentors:&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;
! Project !! Student !! Mentor !! Blog&lt;br /&gt;
|-&lt;br /&gt;
|Font Editor Activity||aku||Dave Crossland, Eli Heuer ||&lt;br /&gt;
|-&lt;br /&gt;
|Git Backend||Vikram Ahuja||Walter Bender, Tymon Radzik||&lt;br /&gt;
|-&lt;br /&gt;
|Journal Rethink||Abhijit Patel||Walter Bender, Sam Parkinson||&lt;br /&gt;
|-&lt;br /&gt;
|Music Widgets||Hemant Kasat||Walter Bender, Devin Ulibarri||&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer OS||Jeremie Amsellem||Lionel Laské, Michaël Ohayon||&lt;br /&gt;
|-&lt;br /&gt;
|Sugar on the Ground||Utkarsh Tiwari||Tony Anderson, Sebastian Silva||&lt;br /&gt;
|}&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;
;Note: Accepted projects are in &amp;lt;font color=&amp;quot;#00bb00&amp;quot;&amp;gt;Green&amp;lt;/font&amp;gt;&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:#00bb00;&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:#00bb00;&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;
!valign=top | [[File:freedesktop_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Make Sugar compliant with Freedesktop standards||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 13:50, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Support Freedesktop.Org Desktop Entry specification for launching non-sugar applications, icon standards, etc. Find other ways to make Sugar useful as Linux desktop. Make it easy to run Sugar Activities in regular Linux desktop.&lt;br /&gt;
;Expected results: Improved user experience for users of regular Linux apps, merged to Sugar mainline. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:html5_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Port Sugar to the Broadwayd HTML5 GTK Backend||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 14:09, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar uses GTK3. Recently GTK3 released support for a HTML5 native backend called Broadwayd. &lt;br /&gt;
;Expected results: Make it feasible to run Sugar and pure gtk3 activities thru a browser (not Sugarizer). Docker container for Sugar on Broadwayd. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux. Docker.&lt;br /&gt;
&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;
!valign=top | || valign=top width = &amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Font Editor Activity||valign=top width=&amp;quot;15%&amp;quot; | with Dave Crossland || align=left valign=top|&lt;br /&gt;
;Brief explanation: Typeface design is a cornerstone of literate cultures, with subliminal power: Typefaces carry the emotions of texts, from formal designs that speak with authority to fun designs that are silly or military or ornate. They are both artistic and functional works, and our ability to share and modify them is important for the same reasons as for software programs.  A Sugar font editor activity will empower users to create and modify fonts for their own tastes and needs. Fonts are fun to make, but we need an editor to do it. &lt;br /&gt;
&lt;br /&gt;
;Expected results: Lots of free software Python and JavaScript libraries already exist so this project offers the possibility to make real progress for users this summer.&lt;br /&gt;
;Knowledge prerequisite: Strong background in JavaScript or Python&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>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=98259</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=98259"/>
		<updated>2016-04-23T13:55:52Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Project candidates */&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;
The Sugar Labs Google Summer of Code 2016 projects/students/mentors:&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;
! Project !! Student !! Mentor !! Blog&lt;br /&gt;
|-&lt;br /&gt;
|Font Editor Activity||aku||Dave Crossland, Eli Heuer ||&lt;br /&gt;
|-&lt;br /&gt;
|Git Backend||Vikram Ahuja||Walter Bender, Tymon Radzik||&lt;br /&gt;
|-&lt;br /&gt;
|Journal Rethink||Abhijit Patel||Walter Bender, Sam Parkinson||&lt;br /&gt;
|-&lt;br /&gt;
|Music Widgets||Hemant Kasat||Walter Bender, Devin Ulibarri||&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer OS||Jeremie Amsellem||Lionel Laské, Michaël Ohayon||&lt;br /&gt;
|-&lt;br /&gt;
|Sugar on the Ground||Utkarsh Tiwari||Tony Anderson, Sebastian Silva||&lt;br /&gt;
|}&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;
;Note: Accepted projects are in &amp;lt;font color=&amp;quot;#00bb00&amp;quot;&amp;gt;Green&amp;lt;/font&amp;gt;&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;
!valign=top | [[File:freedesktop_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Make Sugar compliant with Freedesktop standards||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 13:50, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Support Freedesktop.Org Desktop Entry specification for launching non-sugar applications, icon standards, etc. Find other ways to make Sugar useful as Linux desktop. Make it easy to run Sugar Activities in regular Linux desktop.&lt;br /&gt;
;Expected results: Improved user experience for users of regular Linux apps, merged to Sugar mainline. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:html5_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Port Sugar to the Broadwayd HTML5 GTK Backend||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 14:09, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar uses GTK3. Recently GTK3 released support for a HTML5 native backend called Broadwayd. &lt;br /&gt;
;Expected results: Make it feasible to run Sugar and pure gtk3 activities thru a browser (not Sugarizer). Docker container for Sugar on Broadwayd. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux. Docker.&lt;br /&gt;
&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;
!valign=top | || valign=top width = &amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Font Editor Activity||valign=top width=&amp;quot;15%&amp;quot; | with Dave Crossland || align=left valign=top|&lt;br /&gt;
;Brief explanation: Typeface design is a cornerstone of literate cultures, with subliminal power: Typefaces carry the emotions of texts, from formal designs that speak with authority to fun designs that are silly or military or ornate. They are both artistic and functional works, and our ability to share and modify them is important for the same reasons as for software programs.  A Sugar font editor activity will empower users to create and modify fonts for their own tastes and needs. Fonts are fun to make, but we need an editor to do it. &lt;br /&gt;
&lt;br /&gt;
;Expected results: Lots of free software Python and JavaScript libraries already exist so this project offers the possibility to make real progress for users this summer.&lt;br /&gt;
;Knowledge prerequisite: Strong background in JavaScript or Python&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>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=98258</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=98258"/>
		<updated>2016-04-23T13:30:16Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: &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;
The Sugar Labs Google Summer of Code 2016 projects/students/mentors:&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;
! Project !! Student !! Mentor !! Blog&lt;br /&gt;
|-&lt;br /&gt;
|Font Editor Activity||aku||Dave Crossland, Eli Heuer ||&lt;br /&gt;
|-&lt;br /&gt;
|Git Backend||Vikram Ahuja||Walter Bender, Tymon Radzik||&lt;br /&gt;
|-&lt;br /&gt;
|Journal Rethink||Abhijit Patel||Walter Bender, Sam Parkinson||&lt;br /&gt;
|-&lt;br /&gt;
|Music Widgets||Hemant Kasat||Walter Bender, Devin Ulibarri||&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer OS||Jeremie Amsellem||Lionel Laské, Michaël Ohayon||&lt;br /&gt;
|-&lt;br /&gt;
|Sugar on the Ground||Utkarsh Tiwari||Tony Anderson, Sebastian Silva||&lt;br /&gt;
|}&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;
!valign=top | [[File:freedesktop_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Make Sugar compliant with Freedesktop standards||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 13:50, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Support Freedesktop.Org Desktop Entry specification for launching non-sugar applications, icon standards, etc. Find other ways to make Sugar useful as Linux desktop. Make it easy to run Sugar Activities in regular Linux desktop.&lt;br /&gt;
;Expected results: Improved user experience for users of regular Linux apps, merged to Sugar mainline. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:html5_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Port Sugar to the Broadwayd HTML5 GTK Backend||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 14:09, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar uses GTK3. Recently GTK3 released support for a HTML5 native backend called Broadwayd. &lt;br /&gt;
;Expected results: Make it feasible to run Sugar and pure gtk3 activities thru a browser (not Sugarizer). Docker container for Sugar on Broadwayd. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux. Docker.&lt;br /&gt;
&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;
!valign=top | || valign=top width = &amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Font Editor Activity||valign=top width=&amp;quot;15%&amp;quot; | with Dave Crossland || align=left valign=top|&lt;br /&gt;
;Brief explanation: Typeface design is a cornerstone of literate cultures, with subliminal power: Typefaces carry the emotions of texts, from formal designs that speak with authority to fun designs that are silly or military or ornate. They are both artistic and functional works, and our ability to share and modify them is important for the same reasons as for software programs.  A Sugar font editor activity will empower users to create and modify fonts for their own tastes and needs. Fonts are fun to make, but we need an editor to do it. &lt;br /&gt;
&lt;br /&gt;
;Expected results: Lots of free software Python and JavaScript libraries already exist so this project offers the possibility to make real progress for users this summer.&lt;br /&gt;
;Knowledge prerequisite: Strong background in JavaScript or Python&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>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016&amp;diff=98257</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=98257"/>
		<updated>2016-04-23T13:29:36Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: &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;
The Sugar Labs Google Summer of Code 2016 projects/students/mentors:&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;
! Project !! Student !! Mentor !! Blog&lt;br /&gt;
|-&lt;br /&gt;
|Font Editor Activity||aku||Dave Crossland, Eli Heuer ||&lt;br /&gt;
|-&lt;br /&gt;
|Git Backend||Vikram Ahuja||Walter Bender, Tymon Radzik||&lt;br /&gt;
|-&lt;br /&gt;
|Journal Rethink||Abhijit Patel||Walter Bender, Sam Parkinson|&lt;br /&gt;
|-&lt;br /&gt;
|Music Widgets||Hemant Kasat||Walter Bender, Devin Ulibarri||&lt;br /&gt;
|-&lt;br /&gt;
|Sugarizer OS||Jeremie Amsellem||Lionel Laské, Michaël Ohayon||&lt;br /&gt;
|-&lt;br /&gt;
|Sugar on the Ground||Utkarsh Tiwari||Tony Anderson, Sebastian Silva||&lt;br /&gt;
|}&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;
!valign=top | [[File:freedesktop_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Make Sugar compliant with Freedesktop standards||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 13:50, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Support Freedesktop.Org Desktop Entry specification for launching non-sugar applications, icon standards, etc. Find other ways to make Sugar useful as Linux desktop. Make it easy to run Sugar Activities in regular Linux desktop.&lt;br /&gt;
;Expected results: Improved user experience for users of regular Linux apps, merged to Sugar mainline. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:html5_logo.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Port Sugar to the Broadwayd HTML5 GTK Backend||valign=top width=&amp;quot;15%&amp;quot; | [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 14:09, 10 March 2016 (EST) ||align=left valign=top|&lt;br /&gt;
;Brief explanation: Sugar uses GTK3. Recently GTK3 released support for a HTML5 native backend called Broadwayd. &lt;br /&gt;
;Expected results: Make it feasible to run Sugar and pure gtk3 activities thru a browser (not Sugarizer). Docker container for Sugar on Broadwayd. &lt;br /&gt;
;Knowledge prerequisite: Strong background in GTK, Python and GNU/Linux. Docker.&lt;br /&gt;
&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;
!valign=top | || valign=top width = &amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; | Font Editor Activity||valign=top width=&amp;quot;15%&amp;quot; | with Dave Crossland || align=left valign=top|&lt;br /&gt;
;Brief explanation: Typeface design is a cornerstone of literate cultures, with subliminal power: Typefaces carry the emotions of texts, from formal designs that speak with authority to fun designs that are silly or military or ornate. They are both artistic and functional works, and our ability to share and modify them is important for the same reasons as for software programs.  A Sugar font editor activity will empower users to create and modify fonts for their own tastes and needs. Fonts are fun to make, but we need an editor to do it. &lt;br /&gt;
&lt;br /&gt;
;Expected results: Lots of free software Python and JavaScript libraries already exist so this project offers the possibility to make real progress for users this summer.&lt;br /&gt;
;Knowledge prerequisite: Strong background in JavaScript or Python&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>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97984</id>
		<title>Summer of Code/2016/SugarJournalSaveOption UtkarshT</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97984"/>
		<updated>2016-04-10T20:01:23Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Miscellaneous */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About You ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My name is &amp;lt;b&amp;gt;Utkarsh Tiwari&amp;lt;/b&amp;gt;, and I am a 3rd year undergraduate student at [http://jiit.ac.in Jaypee Institute of  Information Technology], India.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My email address is &amp;lt;b&amp;gt;iamutkarshtiwari@gmail.com&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My Sugar Labs wiki username is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your IRC nickname on irc.freenode.net?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My IRC nickname is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your first language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My first language of communication is Hindi and I am also fluent in English.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where are you located, and what hours (UTC) do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Uttar Pradesh, India&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time Zone:&#039;&#039;&#039; UTC + 5:30 (India Standard Time)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Working hours:&#039;&#039;&#039; I usually tend to work in afternoons (1PM-5PM) and nights (9PM-2AM). I will remain active on irc during my working hours.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
I have only recently begun contributing to open source projects. I am one of the coordinators of the &amp;lt;b&amp;gt;OSDC&amp;lt;/b&amp;gt; ([https://www.facebook.com/groups/jiitlug/ Open Source Developers Club]) group of my college and have delivered and coordinated talks/workshops on technologies like Pygame, Using Git, JavaFx(Swing) and many more.&amp;lt;br&amp;gt;&lt;br /&gt;
I have also been contributing to &amp;lt;b&amp;gt;The Processing Foundation&amp;lt;/b&amp;gt; since December 2015 and have fixed couple of bugs and introduced some new features to their Java and Javascript based IDEs.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to the PRs I have pushed-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(Java)-&amp;gt;  [https://github.com/processing/processing/pulls?utf8=%E2%9C%93&amp;amp;q=+is%3Apr+author%3Aiamutkarshtiwari+ Features + Bugs]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(P5.js)-&amp;gt;  [https://github.com/processing/p5.js/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Aiamutkarshtiwari+is%3Amerged Bug]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why SugarLabs?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am in love(kind of obsessed! :D) with the work being done here which keeps me driving to contribute more in all the possible ways I can. It feels great seeing my activities being downloaded by kids and children from all around the world. Nothing makes me more happy than knowing that the code I write is serving the learning of millions of children.&amp;lt;br&amp;gt;It will be a great experience to work on a project that will introduce some nice feature which will make collaborative learning more easy and enjoyable!&lt;br /&gt;
I started contributing to Sugar Core since this February. Before that, I had already developed &amp;lt;b&amp;gt;6 Sugar activities&amp;lt;/b&amp;gt; and I am constantly mantaining them.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to my Sugar activities-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[http://activities.sugarlabs.org/en-US/sugar/addon/4773 Sonic Jump]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4772 Stick Hero]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4774 Flappy Birds]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4775 2 Cars]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4767 Make them fall]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4765 Buttons and Scissors]&amp;lt;br&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Github profile link - [https://github.com/iamutkarshtiwari https://github.com/iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I have also completed the &amp;lt;b&amp;gt;Hindi translations&amp;lt;/b&amp;gt; of activities listed below-&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Sugar(core)&amp;lt;br&amp;gt;&lt;br /&gt;
Turtleart&amp;lt;br&amp;gt;&lt;br /&gt;
Memorize&amp;lt;br&amp;gt;&lt;br /&gt;
Biorhythm&amp;lt;br&amp;gt;&lt;br /&gt;
TurtleblocksJS&amp;lt;br&amp;gt;&lt;br /&gt;
Paint&amp;lt;br&amp;gt;&lt;br /&gt;
Chat&amp;lt;br&amp;gt;&lt;br /&gt;
Card sort&amp;lt;br&amp;gt;&lt;br /&gt;
ImageViewer&amp;lt;br&amp;gt;&lt;br /&gt;
Physics &amp;lt;br&amp;gt; &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pootle profile link-[http://translate.sugarlabs.org/accounts/iamutkarshtiwari/ iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
P.S.- Pending translations are still under process.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am excited to work with Sugarlabs this summer! Working on a 3 months scaled project needs dedication and passion which I both possess. I am looking forward to making some significant contributions to Sugarlabs by working in collaboration with some highly skilled programmers from around the world and learn new technologies and methodologies from them to enhance my knowledge.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
We are looking for projects that will enhance the Sugar Learning Platform. Please consider how your project will have impact on children learning.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sugar on the Ground&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&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.) This project is related to making Sugar more usable under such circumstances.&lt;br /&gt;
&lt;br /&gt;
Features proposed-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal save option&amp;lt;/b&amp;gt; - This feature introduces a save facility inside Sugar where the user can save the current running activity instance by name of his choice when an activity is closed. The key is to give the user a way to do what is needed, but not to force it.&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 alert dialog at close time requesting the user to supply a name or &#039;not save&#039; the document. If the document has a user supplied name (by the standard activity toolbar icon), the dialog could request the user to save or to provide a new name to create a new document. &lt;br /&gt;
When a user resumes an activity, if the user quits, it should be saved by overwriting the previous Journal object (the current default).&lt;br /&gt;
If the user wants to ignore it, he can simply do so by selecting &#039;cancel&#039; option. &lt;br /&gt;
&lt;br /&gt;
In this way an unnecessary instance(it&#039;s data and metadata) wont be stored in the Journal thus saving significant space on XO by not storing irrelevant activity instances. &lt;br /&gt;
&lt;br /&gt;
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 feature will give the user the ability to manage versions by using unique names.&lt;br /&gt;
&lt;br /&gt;
Here are some mockups I designed-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save alert popup on close ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/p7qg61i.png&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save as alert popup ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/RxZpbxx.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Overwrite if name already exists in Journal ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/4C5Yt6v.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Saving with a new name ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
             http://imgur.com/n0GFgRj.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Screenshot save option-&amp;lt;/b&amp;gt;  Currently, Sugar simply saves a screenshot (without any notification) by naming it as &#039;Screenhot of X&#039;. With the proposed feature, while taking a screenshot user will be notified with a alert(like in Ubuntu) to provide a name for that screeshot along with the captured image of that shot. In this way user can save his screenshot as per specified name which can later help him remember why he took that snapshot.&lt;br /&gt;
&lt;br /&gt;
Here is a mockup for the proposed screenshot feature -&amp;gt; &lt;br /&gt;
             &lt;br /&gt;
             http://imgur.com/2uizzqh.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal activity resume feature-&amp;lt;/b&amp;gt; &lt;br /&gt;
Currently 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 will set the Home View default to launch a new instance on single click on an activity icon, whereas if a user &#039;Alt&#039;+&amp;quot;Click&amp;quot;ing an activity icon, should resume the latest instance of that activity. If the user wants to resume any previous activity, that can be achieved by choosing named(save as) instances in the Journal. 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;
Here is a flowchart to demonstrate the mechanism of this feature-&lt;br /&gt;
&lt;br /&gt;
              http://imgur.com/dl4cyZw.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal back and restore-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Many of Sugar deployments are to areas where the purchase of a usb stick is problematic. The real problem is that the available storage for the Journal runs out. However, a straight backup and restore cannot create space to enlarge the effective size of the Journal. The Journal on the XO should be a cache for active items and the rest should be stored on a school server (a server with a large hard drive capable of storing the Journal objects for all XOs in the deployment. OLPC, at one point, suggested a reserve of 2GB per XO (e.g. 200GB for a 100 XO deployment). A simple example would be a RAM(XO) and Secondary storage(school servers) in PCs. &lt;br /&gt;
&lt;br /&gt;
This feature will provide a way for users to deal with a full storage without significant technical skills. Currently the Journal, installed activities, and content files in /lhome/olpc/Library can contribute to filling the store. With a school server, a scheme to provide least-recently-used offload of content becomes possible. If all activities are available for download, least-recently used activities can be erased. If the Journal is stored on the school server, journal objects can be deleted locally (and later restored as needed). The motivation for the content /home/olpc/Library goes away if that content can be downloaded to the Journal as needed. The problem with the current scheme is that at best it is a sampler of the content sources (e.g. wikibooks). It would be better to put all of the content on the school server and have users download as needed. &lt;br /&gt;
&lt;br /&gt;
Here is a flowchart to demonstrate the above proposed mechanism-&amp;gt; &lt;br /&gt;
&lt;br /&gt;
               http://imgur.com/erPemnF.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; What is the timeline for development of your project? The Summer of Code work period is from mid-May  to mid-August; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it&#039;s good to have a plan at the beginning so you have an idea of where you&#039;re headed.) Note that you should probably plan to have something &amp;quot;working and 90% done&amp;quot; by the midterm evaluation (end of June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 150px;&amp;quot; | Days&lt;br /&gt;
!Task&lt;br /&gt;
|-&lt;br /&gt;
|24th April to 9th May&lt;br /&gt;
|&lt;br /&gt;
* Community bonding period. &lt;br /&gt;
* Gain consensus of the community on the designs and UI of the proposed features.&lt;br /&gt;
* Understand the working of Sugar codebase ( I already have some handson experience with Sugar)&lt;br /&gt;
* Discuss the specifications of all the features proposed with Mr.Tony Anderson and other community members.&lt;br /&gt;
|-&lt;br /&gt;
|10th May to 30th May&lt;br /&gt;
|Start developing &#039;save as&#039; alert popup.&lt;br /&gt;
* Write a new alert popup module wrapped over Alert class of Suga-toolkit-gtk3.&lt;br /&gt;
* Integrate the alert module to the Sugar activity base class.&lt;br /&gt;
* Code the automatic save feature to the resumable activities.&lt;br /&gt;
|-&lt;br /&gt;
|31 May to 1st June&lt;br /&gt;
|Send in patches to be reviewed by community.&lt;br /&gt;
Make necessary changes as per suggestions by the mentor.&lt;br /&gt;
|-&lt;br /&gt;
|2nd June to 15th June&lt;br /&gt;
|Start writing the screenshot popup alert.&lt;br /&gt;
* Code a new screenshot popup alert module include text entry, screenshot preview and interactive buttons.&lt;br /&gt;
* Make adjustments to the activity base class file and to home view to make the module compatible with them.&lt;br /&gt;
|-&lt;br /&gt;
|16th June to 17th June&lt;br /&gt;
|Send in patches for review by the mentor.&lt;br /&gt;
Make necessary modifications to the patches.&lt;br /&gt;
|-&lt;br /&gt;
|18th June to 24th June&lt;br /&gt;
|Discuss the backend working of the feature with mentor.&lt;br /&gt;
Design the layout for the user interface modications.&lt;br /&gt;
Start working on activity resume feature.&lt;br /&gt;
|-&lt;br /&gt;
|25th June to 26th June&lt;br /&gt;
|Prepare for midterm evaluation.&lt;br /&gt;
Re-evaluate the submitted patches and update the documentations.&lt;br /&gt;
&#039;Save As&#039; alert and Screenshot alert would be implemented by the midterm evaluation.&lt;br /&gt;
|-&lt;br /&gt;
|27th June to 28th June&lt;br /&gt;
|&#039;&#039;&#039;Midterm Evaluation&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|29th June to 5th July&lt;br /&gt;
|Buffer Week&lt;br /&gt;
|-&lt;br /&gt;
|6th July to 15th July&lt;br /&gt;
|Continue with the work on &#039;Activity resume&#039; feature.&lt;br /&gt;
Work on the home view to implement one Click and &amp;lt;Alt&amp;gt;Click start/resume facility.&lt;br /&gt;
|-&lt;br /&gt;
|16th July to 17th July&lt;br /&gt;
|&lt;br /&gt;
* Send in patch for review.&lt;br /&gt;
* Test the overall stability of the all the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|18th July to 19th July&lt;br /&gt;
| Would like to a day or 2 days off.&lt;br /&gt;
|-&lt;br /&gt;
|20 July to 15 July&lt;br /&gt;
|Discuss the Sugar backup-restore specifications with the mentor.&lt;br /&gt;
* Understand the current backup/restore mechanism as developed by Mr.Martin Langhoff.&lt;br /&gt;
* Redesign the resync feature and add user selection based upload to Owncloud repository.&lt;br /&gt;
* Code the automatic garbage cleanup to free up space occupied by unnecessary(least frequently used) activities.&lt;br /&gt;
* Implement the selection based download feature from the Owncloud repository.&lt;br /&gt;
* Modify the read/write access to the online cloud storage in accordance with the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|16 August to 18 August&lt;br /&gt;
|&lt;br /&gt;
* UI improvements.&lt;br /&gt;
* Improve code efficiency.&lt;br /&gt;
* Send PRs for review from community members.&lt;br /&gt;
|-&lt;br /&gt;
|19 August to 22 August&lt;br /&gt;
|&lt;br /&gt;
* Fix bugs.&lt;br /&gt;
* Document the implemented feature on respective wiki pages and describe the features.&lt;br /&gt;
* Add comments that will help further development.&lt;br /&gt;
|-&lt;br /&gt;
|23 August&lt;br /&gt;
|&#039;&#039;&#039;Final Evaluation&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The number of activities (visually attractiveǃ) that I had developed since last year shows my dedication towards Sugar community.&lt;br /&gt;
My developer profile - [http://activities.sugarlabs.org/en-US/sugar/user/13555 http://activities.sugarlabs.org/en-US/sugar/user/13555]&amp;lt;br&amp;gt;&lt;br /&gt;
I have also been contributing to The Processing Foundation since last December which made me. (commits linked above)&lt;br /&gt;
&lt;br /&gt;
I have also worked on some projects in my school, knowledge of which will help me in accomplishing the proposed tasks for this summer-&lt;br /&gt;
&lt;br /&gt;
* Design a GUI on JavaFX and Swing with basic Git features like branch, merge, diff, commit, revert, etc. alongwith Dropbox API integration to provide online repository storage- [https://github.com/iamutkarshtiwari/raptor https://github.com/iamutkarshtiwari/raptor]&lt;br /&gt;
&lt;br /&gt;
* Flappy bird design on C language-[https://github.com/iamutkarshtiwari/Flappy-Bird-on-C- https://github.com/iamutkarshtiwari/Flappy-Bird-on-C-]&lt;br /&gt;
* Snake game module on C- [https://github.com/iamutkarshtiwari/Snake-game-module]&lt;br /&gt;
&lt;br /&gt;
===You and the community===&lt;br /&gt;
* &#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Me-&lt;br /&gt;
&lt;br /&gt;
Mr. Tony Anderson-&lt;br /&gt;
&lt;br /&gt;
Mr. Walter Bender-&lt;br /&gt;
&lt;br /&gt;
Mr. Sam Parkinson-&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&lt;br /&gt;
If my mentor is not around, there would be other open source developers on IRC whom I can reach out for help. I also have a lot of seniors in my college who have been working on wide range of open source projects (like MWOS, OWASP, GSoC) and they are very helpful. So there are a lot of ways I can tackle a problem I&#039;m stuck on when my mentor isn&#039;t available. Well thoughout my previous development experience &#039;StackOverflow&#039; has been a lot useful, so I can also look up for the solution there. In worst case, I will try to look up for the solution on the internet as I usually do and tackle the problem myself.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I am planning on maintaining a wiki page every weekend regarding the project. As far daily progress is concerned, I will pass on the project links to my mentor on IRC whenever I&#039;ll find him active to get a quick review. I&#039;ll also create a thread on Mailing list to post regular updates regarding the project developments.&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* We want to make sure that you can set up a [http://developer.sugarlabs.org development environment] before the summer starts. Please do &#039;&#039;one&#039;&#039; of the following:&lt;br /&gt;
* Send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of &amp;quot;logout&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
                   http://imgur.com/kZwyivD.png&lt;br /&gt;
&lt;br /&gt;
** &#039;&#039;&#039;Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have added some long needed features to Browse activity and Sugar Journal. PRs (&amp;lt;b&amp;gt;Screenshots attached in the PR comment section &amp;lt;/b&amp;gt;) -&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added download progress tool icon to [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/24 https://github.com/sugarlabs/browse-activity/pull/24] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved autocomplete list [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/27 https://github.com/sugarlabs/browse-activity/pull/27]&amp;lt;b&amp;gt;(Merged)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved bookmark management of [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/26 https://github.com/sugarlabs/browse-activity/pull/26]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Function name typo fixed in [BROWSE]ː [https://github.com/sugarlabs/sugar/pull/664 https://github.com/sugarlabs/sugar/pull/664]&amp;lt;b&amp;gt;(Merged)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a &amp;lt;b&amp;gt;ProgressToolButton&amp;lt;/b&amp;gt; module to [SUGAR-TOOLKIT-GTK3] used in Browse(also usable in other activities)ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The above &amp;lt;b&amp;gt;ProgressToolButton module&amp;lt;/b&amp;gt; was used by Mr. James Cameron in one of his patches for Clock Activityː [https://github.com/godiard/clock-activity/pull/2 https://github.com/godiard/clock-activity/pull/2] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a toolbutton to BookmarkTray for Browse-activity in [SUGAR-TOOLKIT-GTK3]ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added keyboard accessibility to [JOURNAL]ː  [https://github.com/sugarlabs/sugar/pull/667 https://github.com/sugarlabs/sugar/pull/667]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When I was child, most of my learning was because the games(chinese checkers, scribble, puzzles, etc) I used to play my at my school. Since I am pretty good at geometry, my teacher being impressed with my skills once asked me to help her teach other students to draw different geometrical figures using basic tools like-compass, protractor, divider and set-squares. It made me feel really nice helping others with their learning. I owe my logical thinking to the games I used to play when I was a kid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&lt;br /&gt;
I am pretty good at taking up challenging tasks(I introduced some cool features in Sugar that have been requested since a long time ;)) which seem difficult to others. After the completion of my project I would like to continue with my work on adding keyboard accessibility to Journal and download manager improvement in Browse. I am also planning to write an API (as suggested by Mr.Sam Parkinson) to extend keyboard accessibility to Sugar which would help kids to operate Sugar even without a mouse or some other pointing device. I would also like to mentor a student in GCI 2017 for Sugarlabs.&lt;br /&gt;
&lt;br /&gt;
Please include the category tag at the bottom of your page the Category tag for 2016 GSoC applications.&lt;br /&gt;
&lt;br /&gt;
[[Category:2016 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Sugar_Screenshot_Dialog_Popup&amp;diff=97858</id>
		<title>Features/Sugar Screenshot Dialog Popup</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Sugar_Screenshot_Dialog_Popup&amp;diff=97858"/>
		<updated>2016-03-29T21:51:15Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: Created page with &amp;quot;== Summary ==  An attempt to adding a screenshot popup modal dialog in Sugar.  == Owner == &amp;#039;&amp;#039;This should link to your home wiki page so we know who you are&amp;#039;&amp;#039; * Name: User:ia...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
An attempt to adding a screenshot popup modal dialog in Sugar.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
&#039;&#039;This should link to your home wiki page so we know who you are&#039;&#039;&lt;br /&gt;
* Name: [[User:iamutkarshtiwari| Utkarsh Tiwari]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved&#039;&#039;&lt;br /&gt;
* Email: iamutkarshtiwari at gmail dot com&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.110&lt;br /&gt;
* Last updated: 30/3/2016&lt;br /&gt;
* Percentage of completion: 05%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&lt;br /&gt;
Currently in Sugar, a user can capture a screenshot by pressing &#039;Alt + &#039;1&#039; combination and as a result the Journal save that screenshot by the default naming convention - &amp;quot;Screenshot of X&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
With this modal dialog, the user could specify the name for that screenshot by providing a string in the text box beside the preview icon.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
User can now specify names to snapshots and later remember why they took it.&lt;br /&gt;
&lt;br /&gt;
==Suggested UI Design==&lt;br /&gt;
&lt;br /&gt;
                 http://imgur.com/2uizzqh.png&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=97857</id>
		<title>0.110/Feature List</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=97857"/>
		<updated>2016-03-29T21:51:06Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Suggested UI Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=97856</id>
		<title>0.110/Feature List</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=97856"/>
		<updated>2016-03-29T21:50:49Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Benefit to Sugar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Suggested UI Design==&lt;br /&gt;
&lt;br /&gt;
                 http://imgur.com/2uizzqh.png&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=97855</id>
		<title>0.110/Feature List</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=97855"/>
		<updated>2016-03-29T21:50:38Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Detailed Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Benefit to Sugar ==&lt;br /&gt;
User can now specify names to snapshots and later remember why they took it.&lt;br /&gt;
&lt;br /&gt;
==Suggested UI Design==&lt;br /&gt;
&lt;br /&gt;
                 http://imgur.com/2uizzqh.png&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=97854</id>
		<title>0.110/Feature List</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=97854"/>
		<updated>2016-03-29T21:50:20Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Current status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Detailed Description ==&lt;br /&gt;
&lt;br /&gt;
Currently in Sugar, a user can capture a screenshot by pressing &#039;Alt + &#039;1&#039; combination and as a result the Journal save that screenshot by the default naming convention - &amp;quot;Screenshot of X&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
With this modal dialog, the user could specify the name for that screenshot by providing a string in the text box beside the preview icon.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
User can now specify names to snapshots and later remember why they took it.&lt;br /&gt;
&lt;br /&gt;
==Suggested UI Design==&lt;br /&gt;
&lt;br /&gt;
                 http://imgur.com/2uizzqh.png&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=97853</id>
		<title>0.110/Feature List</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=97853"/>
		<updated>2016-03-29T21:50:02Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Owner */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Current status ==&lt;br /&gt;
* Targeted release: 0.110&lt;br /&gt;
* Last updated: 30/3/2016&lt;br /&gt;
* Percentage of completion: 05%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&lt;br /&gt;
Currently in Sugar, a user can capture a screenshot by pressing &#039;Alt + &#039;1&#039; combination and as a result the Journal save that screenshot by the default naming convention - &amp;quot;Screenshot of X&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
With this modal dialog, the user could specify the name for that screenshot by providing a string in the text box beside the preview icon.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
User can now specify names to snapshots and later remember why they took it.&lt;br /&gt;
&lt;br /&gt;
==Suggested UI Design==&lt;br /&gt;
&lt;br /&gt;
                 http://imgur.com/2uizzqh.png&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=97852</id>
		<title>0.110/Feature List</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=97852"/>
		<updated>2016-03-29T21:49:42Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Owner ==&lt;br /&gt;
&#039;&#039;This should link to your home wiki page so we know who you are&#039;&#039;&lt;br /&gt;
* Name: [[User:iamutkarshtiwari| Utkarsh Tiwari]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved&#039;&#039;&lt;br /&gt;
* Email: iamutkarshtiwari at gmail dot com&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.110&lt;br /&gt;
* Last updated: 30/3/2016&lt;br /&gt;
* Percentage of completion: 05%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&lt;br /&gt;
Currently in Sugar, a user can capture a screenshot by pressing &#039;Alt + &#039;1&#039; combination and as a result the Journal save that screenshot by the default naming convention - &amp;quot;Screenshot of X&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
With this modal dialog, the user could specify the name for that screenshot by providing a string in the text box beside the preview icon.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
User can now specify names to snapshots and later remember why they took it.&lt;br /&gt;
&lt;br /&gt;
==Suggested UI Design==&lt;br /&gt;
&lt;br /&gt;
                 http://imgur.com/2uizzqh.png&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=97851</id>
		<title>0.110/Feature List</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=97851"/>
		<updated>2016-03-29T21:07:32Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: Screenshot feature&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
An attempt to adding a screenshot popup modal dialog in Sugar.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
&#039;&#039;This should link to your home wiki page so we know who you are&#039;&#039;&lt;br /&gt;
* Name: [[User:iamutkarshtiwari| Utkarsh Tiwari]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved&#039;&#039;&lt;br /&gt;
* Email: iamutkarshtiwari at gmail dot com&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.110&lt;br /&gt;
* Last updated: 30/3/2016&lt;br /&gt;
* Percentage of completion: 05%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&lt;br /&gt;
Currently in Sugar, a user can capture a screenshot by pressing &#039;Alt + &#039;1&#039; combination and as a result the Journal save that screenshot by the default naming convention - &amp;quot;Screenshot of X&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
With this modal dialog, the user could specify the name for that screenshot by providing a string in the text box beside the preview icon.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
User can now specify names to snapshots and later remember why they took it.&lt;br /&gt;
&lt;br /&gt;
==Suggested UI Design==&lt;br /&gt;
&lt;br /&gt;
                 http://imgur.com/2uizzqh.png&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=97850</id>
		<title>0.110/Feature List</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.110/Feature_List&amp;diff=97850"/>
		<updated>2016-03-29T20:56:02Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: Created page with &amp;quot;== Summary ==  An attempt to adding a screenshot popup modal dialog in Sugar.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
An attempt to adding a screenshot popup modal dialog in Sugar.&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97438</id>
		<title>Summer of Code/2016/SugarJournalSaveOption UtkarshT</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97438"/>
		<updated>2016-03-23T23:31:13Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* About your project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About You ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My name is &amp;lt;b&amp;gt;Utkarsh Tiwari&amp;lt;/b&amp;gt;, and I am a 3rd year undergraduate student at [http://jiit.ac.in Jaypee Institute of  Information Technology], India.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My email address is &amp;lt;b&amp;gt;iamutkarshtiwari@gmail.com&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My Sugar Labs wiki username is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your IRC nickname on irc.freenode.net?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My IRC nickname is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your first language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My first language of communication is Hindi and I am also fluent in English.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where are you located, and what hours (UTC) do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Uttar Pradesh, India&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time Zone:&#039;&#039;&#039; UTC + 5:30 (India Standard Time)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Working hours:&#039;&#039;&#039; I usually tend to work in afternoons (1PM-5PM) and nights (9PM-2AM). I will remain active on irc during my working hours.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
I have only recently begun contributing to open source projects. I am one of the coordinators of the &amp;lt;b&amp;gt;OSDC&amp;lt;/b&amp;gt; ([https://www.facebook.com/groups/jiitlug/ Open Source Developers Club]) group of my college and have delivered and coordinated talks/workshops on technologies like Pygame, Using Git, JavaFx(Swing) and many more.&amp;lt;br&amp;gt;&lt;br /&gt;
I have also been contributing to &amp;lt;b&amp;gt;The Processing Foundation&amp;lt;/b&amp;gt; since December 2015 and have fixed couple of bugs and introduced some new features to their Java and Javascript based IDEs.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to the PRs I have pushed-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(Java)-&amp;gt;  [https://github.com/processing/processing/pulls?utf8=%E2%9C%93&amp;amp;q=+is%3Apr+author%3Aiamutkarshtiwari+ Features + Bugs]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(P5.js)-&amp;gt;  [https://github.com/processing/p5.js/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Aiamutkarshtiwari+is%3Amerged Bug]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why SugarLabs?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am in love(kind of obsessed! :D) with the work being done here which keeps me driving to contribute more in all the possible ways I can. It feels great seeing my activities being downloaded by kids and children from all around the world. Nothing makes me more happy than knowing that the code I write is serving the learning of millions of children.&amp;lt;br&amp;gt;It will be a great experience to work on a project that will introduce some nice feature which will make collaborative learning more easy and enjoyable!&lt;br /&gt;
I started contributing to Sugar Core since this February. Before that, I had already developed &amp;lt;b&amp;gt;6 Sugar activities&amp;lt;/b&amp;gt; and I am constantly mantaining them.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to my Sugar activities-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[http://activities.sugarlabs.org/en-US/sugar/addon/4773 Sonic Jump]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4772 Stick Hero]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4774 Flappy Birds]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4775 2 Cars]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4767 Make them fall]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4765 Buttons and Scissors]&amp;lt;br&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Github profile link - [https://github.com/iamutkarshtiwari https://github.com/iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I have also completed the &amp;lt;b&amp;gt;Hindi translations&amp;lt;/b&amp;gt; of activities listed below-&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Sugar(core)&amp;lt;br&amp;gt;&lt;br /&gt;
Turtleart&amp;lt;br&amp;gt;&lt;br /&gt;
Memorize&amp;lt;br&amp;gt;&lt;br /&gt;
Biorhythm&amp;lt;br&amp;gt;&lt;br /&gt;
TurtleblocksJS&amp;lt;br&amp;gt;&lt;br /&gt;
Paint&amp;lt;br&amp;gt;&lt;br /&gt;
Chat&amp;lt;br&amp;gt;&lt;br /&gt;
Card sort&amp;lt;br&amp;gt;&lt;br /&gt;
ImageViewer&amp;lt;br&amp;gt;&lt;br /&gt;
Physics &amp;lt;br&amp;gt; &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pootle profile link-[http://translate.sugarlabs.org/accounts/iamutkarshtiwari/ iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
P.S.- Pending translations are still under process.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am excited to work with Sugarlabs this summer! Working on a 3 months scaled project needs dedication and passion which I both possess. I am looking forward to making some significant contributions to Sugarlabs by working in collaboration with some highly skilled programmers from around the world and learn new technologies and methodologies from them to enhance my knowledge.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
We are looking for projects that will enhance the Sugar Learning Platform. Please consider how your project will have impact on children learning.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sugar on the Ground&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&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.) This project is related to making Sugar more usable under such circumstances.&lt;br /&gt;
&lt;br /&gt;
Features proposed-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal save option&amp;lt;/b&amp;gt; - This feature introduces a save facility inside Sugar where the user can save the current running activity instance by name of his choice when an activity is closed. The key is to give the user a way to do what is needed, but not to force it.&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 alert dialog at close time requesting the user to supply a name or &#039;not save&#039; the document. If the document has a user supplied name (by the standard activity toolbar icon), the dialog could request the user to save or to provide a new name to create a new document. &lt;br /&gt;
When a user resumes an activity, if the user quits, it should be saved by overwriting the previous Journal object (the current default).&lt;br /&gt;
If the user wants to ignore it, he can simply do so by selecting &#039;cancel&#039; option. &lt;br /&gt;
&lt;br /&gt;
In this way an unnecessary instance(it&#039;s data and metadata) wont be stored in the Journal thus saving significant space on XO by not storing irrelevant activity instances. &lt;br /&gt;
&lt;br /&gt;
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 feature will give the user the ability to manage versions by using unique names.&lt;br /&gt;
&lt;br /&gt;
Here are some mockups I designed-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save alert popup on close ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/p7qg61i.png&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save as alert popup ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/RxZpbxx.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Overwrite if name already exists in Journal ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/4C5Yt6v.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Saving with a new name ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
             http://imgur.com/n0GFgRj.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Screenshot save option-&amp;lt;/b&amp;gt;  Currently, Sugar simply saves a screenshot (without any notification) by naming it as &#039;Screenhot of X&#039;. With the proposed feature, while taking a screenshot user will be notified with a alert(like in Ubuntu) to provide a name for that screeshot along with the captured image of that shot. In this way user can save his screenshot as per specified name which can later help him remember why he took that snapshot.&lt;br /&gt;
&lt;br /&gt;
Here is a mockup for the proposed screenshot feature -&amp;gt; &lt;br /&gt;
             &lt;br /&gt;
             http://imgur.com/2uizzqh.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal activity resume feature-&amp;lt;/b&amp;gt; &lt;br /&gt;
Currently 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 will set the Home View default to launch a new instance on single click on an activity icon, whereas if a user &#039;Alt&#039;+&amp;quot;Click&amp;quot;ing an activity icon, should resume the latest instance of that activity. If the user wants to resume any previous activity, that can be achieved by choosing named(save as) instances in the Journal. 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;
Here is a flowchart to demonstrate the mechanism of this feature-&lt;br /&gt;
&lt;br /&gt;
              http://imgur.com/dl4cyZw.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal back and restore-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Many of Sugar deployments are to areas where the purchase of a usb stick is problematic. The real problem is that the available storage for the Journal runs out. However, a straight backup and restore cannot create space to enlarge the effective size of the Journal. The Journal on the XO should be a cache for active items and the rest should be stored on a school server (a server with a large hard drive capable of storing the Journal objects for all XOs in the deployment. OLPC, at one point, suggested a reserve of 2GB per XO (e.g. 200GB for a 100 XO deployment). A simple example would be a RAM(XO) and Secondary storage(school servers) in PCs. &lt;br /&gt;
&lt;br /&gt;
This feature will provide a way for users to deal with a full storage without significant technical skills. Currently the Journal, installed activities, and content files in /lhome/olpc/Library can contribute to filling the store. With a school server, a scheme to provide least-recently-used offload of content becomes possible. If all activities are available for download, least-recently used activities can be erased. If the Journal is stored on the school server, journal objects can be deleted locally (and later restored as needed). The motivation for the content /home/olpc/Library goes away if that content can be downloaded to the Journal as needed. The problem with the current scheme is that at best it is a sampler of the content sources (e.g. wikibooks). It would be better to put all of the content on the school server and have users download as needed. &lt;br /&gt;
&lt;br /&gt;
Here is a flowchart to demonstrate the above proposed mechanism-&amp;gt; &lt;br /&gt;
&lt;br /&gt;
               http://imgur.com/erPemnF.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; What is the timeline for development of your project? The Summer of Code work period is from mid-May  to mid-August; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it&#039;s good to have a plan at the beginning so you have an idea of where you&#039;re headed.) Note that you should probably plan to have something &amp;quot;working and 90% done&amp;quot; by the midterm evaluation (end of June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 150px;&amp;quot; | Days&lt;br /&gt;
!Task&lt;br /&gt;
|-&lt;br /&gt;
|24th April to 9th May&lt;br /&gt;
|&lt;br /&gt;
* Community bonding period. &lt;br /&gt;
* Gain consensus of the community on the designs and UI of the proposed features.&lt;br /&gt;
* Understand the working of Sugar codebase ( I already have some handson experience with Sugar)&lt;br /&gt;
* Discuss the specifications of all the features proposed with Mr.Tony Anderson and other community members.&lt;br /&gt;
|-&lt;br /&gt;
|10th May to 30th May&lt;br /&gt;
|Start developing &#039;save as&#039; alert popup.&lt;br /&gt;
* Write a new alert popup module wrapped over Alert class of Suga-toolkit-gtk3.&lt;br /&gt;
* Integrate the alert module to the Sugar activity base class.&lt;br /&gt;
* Code the automatic save feature to the resumable activities.&lt;br /&gt;
|-&lt;br /&gt;
|31 May to 1st June&lt;br /&gt;
|Send in patches to be reviewed by community.&lt;br /&gt;
Make necessary changes as per suggestions by the mentor.&lt;br /&gt;
|-&lt;br /&gt;
|2nd June to 15th June&lt;br /&gt;
|Start writing the screenshot popup alert.&lt;br /&gt;
* Code a new screenshot popup alert module include text entry, screenshot preview and interactive buttons.&lt;br /&gt;
* Make adjustments to the activity base class file and to home view to make the module compatible with them.&lt;br /&gt;
|-&lt;br /&gt;
|16th June to 17th June&lt;br /&gt;
|Send in patches for review by the mentor.&lt;br /&gt;
Make necessary modifications to the patches.&lt;br /&gt;
|-&lt;br /&gt;
|18th June to 24th June&lt;br /&gt;
|Discuss the backend working of the feature with mentor.&lt;br /&gt;
Design the layout for the user interface modications.&lt;br /&gt;
Start working on activity resume feature.&lt;br /&gt;
|-&lt;br /&gt;
|25th June to 26th June&lt;br /&gt;
|Prepare for midterm evaluation.&lt;br /&gt;
Re-evaluate the submitted patches and update the documentations.&lt;br /&gt;
&#039;Save As&#039; alert and Screenshot alert would be implemented by the midterm evaluation.&lt;br /&gt;
|-&lt;br /&gt;
|27th June to 28th June&lt;br /&gt;
|&#039;&#039;&#039;Midterm Evaluation&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|29th June to 5th July&lt;br /&gt;
|Buffer Week&lt;br /&gt;
|-&lt;br /&gt;
|6th July to 15th July&lt;br /&gt;
|Continue with the work on &#039;Activity resume&#039; feature.&lt;br /&gt;
Work on the home view to implement one Click and &amp;lt;Alt&amp;gt;Click start/resume facility.&lt;br /&gt;
|-&lt;br /&gt;
|16th July to 17th July&lt;br /&gt;
|&lt;br /&gt;
* Send in patch for review.&lt;br /&gt;
* Test the overall stability of the all the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|18th July to 19th July&lt;br /&gt;
| Would like to a day or 2 days off.&lt;br /&gt;
|-&lt;br /&gt;
|20 July to 15 July&lt;br /&gt;
|Discuss the Sugar backup-restore specifications with the mentor.&lt;br /&gt;
* Understand the current backup/restore mechanism as developed by Mr.Martin Langhoff.&lt;br /&gt;
* Redesign the resync feature and add user selection based upload to Owncloud repository.&lt;br /&gt;
* Code the automatic garbage cleanup to free up space occupied by unnecessary(least frequently used) activities.&lt;br /&gt;
* Implement the selection based download feature from the Owncloud repository.&lt;br /&gt;
* Modify the read/write access to the online cloud storage in accordance with the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|16 August to 18 August&lt;br /&gt;
|&lt;br /&gt;
* UI improvements.&lt;br /&gt;
* Improve code efficiency.&lt;br /&gt;
* Send PRs for review from community members.&lt;br /&gt;
|-&lt;br /&gt;
|19 August to 22 August&lt;br /&gt;
|&lt;br /&gt;
* Fix bugs.&lt;br /&gt;
* Document the implemented feature on respective wiki pages and describe the features.&lt;br /&gt;
* Add comments that will help further development.&lt;br /&gt;
|-&lt;br /&gt;
|23 August&lt;br /&gt;
|&#039;&#039;&#039;Final Evaluation&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The number of activities (visually attractiveǃ) that I had developed since last year shows my dedication towards Sugar community.&lt;br /&gt;
My developer profile - [http://activities.sugarlabs.org/en-US/sugar/user/13555 http://activities.sugarlabs.org/en-US/sugar/user/13555]&amp;lt;br&amp;gt;&lt;br /&gt;
I have also been contributing to The Processing Foundation since last December which made me. (commits linked above)&lt;br /&gt;
&lt;br /&gt;
I have also worked on some projects in my school, knowledge of which will help me in accomplishing the proposed tasks for this summer-&lt;br /&gt;
&lt;br /&gt;
* Design a GUI on JavaFX and Swing with basic Git features like branch, merge, diff, commit, revert, etc. alongwith Dropbox API integration to provide online repository storage- [https://github.com/iamutkarshtiwari/raptor https://github.com/iamutkarshtiwari/raptor]&lt;br /&gt;
&lt;br /&gt;
* Flappy bird design on C language-[https://github.com/iamutkarshtiwari/Flappy-Bird-on-C- https://github.com/iamutkarshtiwari/Flappy-Bird-on-C-]&lt;br /&gt;
* Snake game module on C- [https://github.com/iamutkarshtiwari/Snake-game-module]&lt;br /&gt;
&lt;br /&gt;
===You and the community===&lt;br /&gt;
* &#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Me-&lt;br /&gt;
&lt;br /&gt;
Mr. Tony Anderson-&lt;br /&gt;
&lt;br /&gt;
Mr. Walter Bender-&lt;br /&gt;
&lt;br /&gt;
Mr. Sam Parkinson-&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&lt;br /&gt;
If my mentor is not around, there would be other open source developers on IRC whom I can reach out for help. I also have a lot of seniors in my college who have been working on wide range of open source projects (like MWOS, OWASP, GSoC) and they are very helpful. So there are a lot of ways I can tackle a problem I&#039;m stuck on when my mentor isn&#039;t available. Well thoughout my previous development experience &#039;StackOverflow&#039; has been a lot useful, so I can also look up for the solution there. In worst case, I will try to look up for the solution on the internet as I usually do and tackle the problem myself.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I am planning on maintaining a wiki page every weekend regarding the project. As far daily progress is concerned, I will pass on the project links to my mentor on IRC whenever I&#039;ll find him active to get a quick review. I&#039;ll also create a thread on Mailing list to post regular updates regarding the project developments.&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* We want to make sure that you can set up a [http://developer.sugarlabs.org development environment] before the summer starts. Please do &#039;&#039;one&#039;&#039; of the following:&lt;br /&gt;
* Send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of &amp;quot;logout&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
                   http://imgur.com/kZwyivD.png&lt;br /&gt;
&lt;br /&gt;
** &#039;&#039;&#039;Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have added some long needed features to Browse activity and Sugar Journal. PRs (&amp;lt;b&amp;gt;Screenshots attached in the PR comment section &amp;lt;/b&amp;gt;) -&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added download progress tool icon to [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/24 https://github.com/sugarlabs/browse-activity/pull/24] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved autocomplete list [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/27 https://github.com/sugarlabs/browse-activity/pull/27]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved bookmark management of [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/26 https://github.com/sugarlabs/browse-activity/pull/26]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Function name typo fixed in [BROWSE]ː [https://github.com/sugarlabs/sugar/pull/664 https://github.com/sugarlabs/sugar/pull/664]&amp;lt;b&amp;gt;(Merged)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a &amp;lt;b&amp;gt;ProgressToolButton&amp;lt;/b&amp;gt; module to [SUGAR-TOOLKIT-GTK3] used in Browse(also usable in other activities)ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The above &amp;lt;b&amp;gt;ProgressToolButton module&amp;lt;/b&amp;gt; was used by Mr. James Cameron in one of his patches for Clock Activityː [https://github.com/godiard/clock-activity/pull/2 https://github.com/godiard/clock-activity/pull/2] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a toolbutton to BookmarkTray for Browse-activity in [SUGAR-TOOLKIT-GTK3]ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added keyboard accessibility to [JOURNAL]ː  [https://github.com/sugarlabs/sugar/pull/667 https://github.com/sugarlabs/sugar/pull/667]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When I was child, most of my learning was because the games(chinese checkers, scribble, puzzles, etc) I used to play my at my school. Since I am pretty good at geometry, my teacher being impressed with my skills once asked me to help her teach other students to draw different geometrical figures using basic tools like-compass, protractor, divider and set-squares. It made me feel really nice helping others with their learning. I owe my logical thinking to the games I used to play when I was a kid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&lt;br /&gt;
I am pretty good at taking up challenging tasks(I introduced some cool features in Sugar that have been requested since a long time ;)) which seem difficult to others. After the completion of my project I would like to continue with my work on adding keyboard accessibility to Journal and download manager improvement in Browse. I am also planning to write an API (as suggested by Mr.Sam Parkinson) to extend keyboard accessibility to Sugar which would help kids to operate Sugar even without a mouse or some other pointing device. I would also like to mentor a student in GCI 2017 for Sugarlabs.&lt;br /&gt;
&lt;br /&gt;
Please include the category tag at the bottom of your page the Category tag for 2016 GSoC applications.&lt;br /&gt;
&lt;br /&gt;
[[Category:2016 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97437</id>
		<title>Summer of Code/2016/SugarJournalSaveOption UtkarshT</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97437"/>
		<updated>2016-03-23T23:25:27Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* About You */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About You ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My name is &amp;lt;b&amp;gt;Utkarsh Tiwari&amp;lt;/b&amp;gt;, and I am a 3rd year undergraduate student at [http://jiit.ac.in Jaypee Institute of  Information Technology], India.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My email address is &amp;lt;b&amp;gt;iamutkarshtiwari@gmail.com&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My Sugar Labs wiki username is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your IRC nickname on irc.freenode.net?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My IRC nickname is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your first language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My first language of communication is Hindi and I am also fluent in English.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where are you located, and what hours (UTC) do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Uttar Pradesh, India&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time Zone:&#039;&#039;&#039; UTC + 5:30 (India Standard Time)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Working hours:&#039;&#039;&#039; I usually tend to work in afternoons (1PM-5PM) and nights (9PM-2AM). I will remain active on irc during my working hours.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
I have only recently begun contributing to open source projects. I am one of the coordinators of the &amp;lt;b&amp;gt;OSDC&amp;lt;/b&amp;gt; ([https://www.facebook.com/groups/jiitlug/ Open Source Developers Club]) group of my college and have delivered and coordinated talks/workshops on technologies like Pygame, Using Git, JavaFx(Swing) and many more.&amp;lt;br&amp;gt;&lt;br /&gt;
I have also been contributing to &amp;lt;b&amp;gt;The Processing Foundation&amp;lt;/b&amp;gt; since December 2015 and have fixed couple of bugs and introduced some new features to their Java and Javascript based IDEs.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to the PRs I have pushed-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(Java)-&amp;gt;  [https://github.com/processing/processing/pulls?utf8=%E2%9C%93&amp;amp;q=+is%3Apr+author%3Aiamutkarshtiwari+ Features + Bugs]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(P5.js)-&amp;gt;  [https://github.com/processing/p5.js/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Aiamutkarshtiwari+is%3Amerged Bug]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why SugarLabs?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am in love(kind of obsessed! :D) with the work being done here which keeps me driving to contribute more in all the possible ways I can. It feels great seeing my activities being downloaded by kids and children from all around the world. Nothing makes me more happy than knowing that the code I write is serving the learning of millions of children.&amp;lt;br&amp;gt;It will be a great experience to work on a project that will introduce some nice feature which will make collaborative learning more easy and enjoyable!&lt;br /&gt;
I started contributing to Sugar Core since this February. Before that, I had already developed &amp;lt;b&amp;gt;6 Sugar activities&amp;lt;/b&amp;gt; and I am constantly mantaining them.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to my Sugar activities-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[http://activities.sugarlabs.org/en-US/sugar/addon/4773 Sonic Jump]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4772 Stick Hero]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4774 Flappy Birds]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4775 2 Cars]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4767 Make them fall]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4765 Buttons and Scissors]&amp;lt;br&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Github profile link - [https://github.com/iamutkarshtiwari https://github.com/iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I have also completed the &amp;lt;b&amp;gt;Hindi translations&amp;lt;/b&amp;gt; of activities listed below-&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Sugar(core)&amp;lt;br&amp;gt;&lt;br /&gt;
Turtleart&amp;lt;br&amp;gt;&lt;br /&gt;
Memorize&amp;lt;br&amp;gt;&lt;br /&gt;
Biorhythm&amp;lt;br&amp;gt;&lt;br /&gt;
TurtleblocksJS&amp;lt;br&amp;gt;&lt;br /&gt;
Paint&amp;lt;br&amp;gt;&lt;br /&gt;
Chat&amp;lt;br&amp;gt;&lt;br /&gt;
Card sort&amp;lt;br&amp;gt;&lt;br /&gt;
ImageViewer&amp;lt;br&amp;gt;&lt;br /&gt;
Physics &amp;lt;br&amp;gt; &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pootle profile link-[http://translate.sugarlabs.org/accounts/iamutkarshtiwari/ iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
P.S.- Pending translations are still under process.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am excited to work with Sugarlabs this summer! Working on a 3 months scaled project needs dedication and passion which I both possess. I am looking forward to making some significant contributions to Sugarlabs by working in collaboration with some highly skilled programmers from around the world and learn new technologies and methodologies from them to enhance my knowledge.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
We are looking for projects that will enhance the Sugar Learning Platform. Please consider how your project will have impact on children learning.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sugar on the Ground&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&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.) This project is related to making Sugar more usable under such circumstances.&lt;br /&gt;
&lt;br /&gt;
Features proposed-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal save option&amp;lt;/b&amp;gt; - This feature introduces a save facility inside Sugar where the user can save the current running activity instance by name of his choice when an activity is closed. The key is to give the user a way to do what is needed, but not to force it.&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 alert dialog at close time requesting the user to supply a name or &#039;not save&#039; the document. If the document has a user supplied name (by the standard activity toolbar icon), the dialog could request the user to save or to provide a new name to create a new document. &lt;br /&gt;
When a user resumes an activity, if the user quits, it should be saved by overwriting the previous Journal object (the current default).&lt;br /&gt;
If the user wants to ignore it, he can simply do so by selecting &#039;cancel&#039; option. &lt;br /&gt;
&lt;br /&gt;
In this way an unnecessary instance(it&#039;s data and metadata) wont be stored in the Journal thus saving significant space on XO by not storing irrelevant activity instances. &lt;br /&gt;
&lt;br /&gt;
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 feature will give the user the ability to manage versions by using unique names.&lt;br /&gt;
&lt;br /&gt;
Here are some mockups I designed-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save alert popup on close ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/p7qg61i.png&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save as alert popup ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/RxZpbxx.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Overwrite if name already exists in Journal ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/4C5Yt6v.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Saving with a new name ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
             http://imgur.com/n0GFgRj.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Screenshot save option-&amp;lt;/b&amp;gt;  Currently, Sugar simply saves a screenshot (without any notification) by naming it as &#039;Screenhot of X&#039;. With the proposed feature, while taking a screenshot user will be notified with a alert(like in Ubuntu) to provide a name for that screeshot along with the captured image of that shot. In this way user can save his screenshot as per specified name which can later help him remember why he took that snapshot.&lt;br /&gt;
&lt;br /&gt;
Here is a mockup for the proposed screenshot feature -&amp;gt; &lt;br /&gt;
             &lt;br /&gt;
             http://imgur.com/2uizzqh.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal activity resume feature-&amp;lt;/b&amp;gt; &lt;br /&gt;
Currently 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 will set the Home View default to launch a new instance on single click on an activity icon, whereas if a user &#039;Alt&#039;+&amp;quot;Click&amp;quot;ing an activity icon, should resume the latest instance of that activity. If the user wants to resume any previous activity, that can be achieved by choosing named(save as) instances in the Journal. 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;
Here is a flowchart to demonstrate the mechanism of this feature-&lt;br /&gt;
&lt;br /&gt;
              http://imgur.com/dl4cyZw.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal back and restore-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Many of Sugar deployments are to areas where the purchase of a usb stick is problematic. The real problem is that the available storage for the Journal runs out. However, a straight backup and restore cannot create space to enlarge the effective size of the Journal. The Journal on the XO should be a cache for active items and the rest should be stored on a school server (a server with a large hard drive capable of storing the Journal objects for all XOs in the deployment. OLPC, at one point, suggested a reserve of 2GB per XO (e.g. 200GB for a 100 XO deployment). A simple example would be a RAM(XO) and Secondary storage(school servers) in PCs. &lt;br /&gt;
&lt;br /&gt;
This feature will provide a way for users to deal with a full storage without significant technical skills. Currently the Journal, installed activities, and content files in /lhome/olpc/Library can contribute to filling the store. With a school server, a scheme to provide least-recently-used offload of content becomes possible. If all activities are available for download, least-recently used activities can be erased. If the Journal is stored on the school server, journal objects can be deleted locally (and later restored as needed). The motivation for the content /home/olpc/Library goes away if that content can be downloaded to the Journal as needed. The problem with the current scheme is that at best it is a sampler of the content sources (e.g. wikibooks). It would be better to put all of the content on the school server and have users download as needed. &lt;br /&gt;
&lt;br /&gt;
Here is a flowchart to demonstrate the above proposed mechanism-&amp;gt; &lt;br /&gt;
&lt;br /&gt;
               http://imgur.com/erPemnF.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; What is the timeline for development of your project? The Summer of Code work period is from mid-May  to mid-August; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it&#039;s good to have a plan at the beginning so you have an idea of where you&#039;re headed.) Note that you should probably plan to have something &amp;quot;working and 90% done&amp;quot; by the midterm evaluation (end of June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 150px;&amp;quot; | Days&lt;br /&gt;
!Task&lt;br /&gt;
|-&lt;br /&gt;
|24th April to 9th May&lt;br /&gt;
|&lt;br /&gt;
* Community bonding period. &lt;br /&gt;
* Gain consensus of the community on the designs and UI of the proposed features.&lt;br /&gt;
* Understand the working of Sugar codebase ( I already have some handson experience with Sugar)&lt;br /&gt;
* Discuss the specifications of all the features proposed with Mr.Tony Anderson and other community members.&lt;br /&gt;
|-&lt;br /&gt;
|10th May to 30th May&lt;br /&gt;
|Start developing &#039;save as&#039; alert popup.&lt;br /&gt;
* Write a new alert popup module wrapped over Alert class of Suga-toolkit-gtk3.&lt;br /&gt;
* Integrate the alert module to the Sugar activity base class.&lt;br /&gt;
* Code the automatic save feature to the resumable activities.&lt;br /&gt;
|-&lt;br /&gt;
|31 May to 1st June&lt;br /&gt;
|Send in patches to be reviewed by community.&lt;br /&gt;
Make necessary changes as per suggestions by the mentor.&lt;br /&gt;
|-&lt;br /&gt;
|2nd June to 15th June&lt;br /&gt;
|Start writing the screenshot popup alert.&lt;br /&gt;
* Code a new screenshot popup alert module include text entry, screenshot preview and interactive buttons.&lt;br /&gt;
* Make adjustments to the activity base class file and to home view to make the module compatible with them.&lt;br /&gt;
|-&lt;br /&gt;
|16th June to 17th June&lt;br /&gt;
|Send in patches for review by the mentor.&lt;br /&gt;
Make necessary modifications to the patches.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18th June to 24th June&lt;br /&gt;
|Discuss the backend working of the feature with mentor.&lt;br /&gt;
Design the layout for the user interface modications.&lt;br /&gt;
Start working on activity resume feature.&lt;br /&gt;
|-&lt;br /&gt;
|25th June to 26th June&lt;br /&gt;
|Prepare for midterm evaluation.&lt;br /&gt;
Re-evaluate the submitted patches and update the documentations.&lt;br /&gt;
&#039;Save As&#039; alert and Screenshot alert would be implemented by the midterm evaluation.&lt;br /&gt;
|-&lt;br /&gt;
|27th June to 28th June&lt;br /&gt;
|&#039;&#039;&#039;Midterm Evaluation&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|29th June to 5th July&lt;br /&gt;
|Buffer Week&lt;br /&gt;
|-&lt;br /&gt;
|6th July to 15th July&lt;br /&gt;
|Continue with the work on &#039;Activity resume&#039; feature.&lt;br /&gt;
Work on the home view to implement one Click and &amp;lt;Alt&amp;gt;Click start/resume facility.&lt;br /&gt;
|-&lt;br /&gt;
|16th July to 17th July&lt;br /&gt;
|&lt;br /&gt;
* Send in patch for review.&lt;br /&gt;
* Test the overall stability of the all the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|18th July to 19th July&lt;br /&gt;
| Would like to a day or 2 days off.&lt;br /&gt;
|-&lt;br /&gt;
|20 July to 15 July&lt;br /&gt;
|Discuss the Sugar backup-restore specifications with the mentor.&lt;br /&gt;
* Understand the current backup/restore mechanism as developed by Mr.Martin Langhoff.&lt;br /&gt;
* Redesign the resync feature and add user selection based upload to Owncloud repository.&lt;br /&gt;
* Code the automatic garbage cleanup to free up space occupied by unnecessary(least frequently used) activities.&lt;br /&gt;
* Implement the selection based download feature from the Owncloud repository.&lt;br /&gt;
* Modify the read/write access to the online cloud storage in accordance with the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|16 August to 18 August&lt;br /&gt;
|&lt;br /&gt;
* UI improvements.&lt;br /&gt;
* Improve code efficiency.&lt;br /&gt;
* Send PRs for review from community members.&lt;br /&gt;
|-&lt;br /&gt;
|19 August to 22 August&lt;br /&gt;
|&lt;br /&gt;
* Fix bugs.&lt;br /&gt;
* Document the implemented feature on respective wiki pages and describe the features.&lt;br /&gt;
* Add comments that will help further development.&lt;br /&gt;
|-&lt;br /&gt;
|23 August&lt;br /&gt;
|&#039;&#039;&#039;Final Evaluation&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The number of activities (visually attractiveǃ) that I had developed since last year shows my dedication towards Sugar community.&lt;br /&gt;
My developer profile - [http://activities.sugarlabs.org/en-US/sugar/user/13555 http://activities.sugarlabs.org/en-US/sugar/user/13555]&amp;lt;br&amp;gt;&lt;br /&gt;
I have also been contributing to The Processing Foundation since last December which made me. (commits linked above)&lt;br /&gt;
&lt;br /&gt;
I have also worked on some projects in my school, knowledge of which will help me in accomplishing the proposed tasks for this summer-&lt;br /&gt;
&lt;br /&gt;
* Design a GUI on JavaFX and Swing with basic Git features like branch, merge, diff, commit, revert, etc. alongwith Dropbox API integration to provide online repository storage- [https://github.com/iamutkarshtiwari/raptor https://github.com/iamutkarshtiwari/raptor]&lt;br /&gt;
&lt;br /&gt;
* Flappy bird design on C language-[https://github.com/iamutkarshtiwari/Flappy-Bird-on-C- https://github.com/iamutkarshtiwari/Flappy-Bird-on-C-]&lt;br /&gt;
* Snake game module on C- [https://github.com/iamutkarshtiwari/Snake-game-module]&lt;br /&gt;
&lt;br /&gt;
===You and the community===&lt;br /&gt;
* &#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Me-&lt;br /&gt;
&lt;br /&gt;
Mr. Tony Anderson-&lt;br /&gt;
&lt;br /&gt;
Mr. Walter Bender-&lt;br /&gt;
&lt;br /&gt;
Mr. Sam Parkinson-&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&lt;br /&gt;
If my mentor is not around, there would be other open source developers on IRC whom I can reach out for help. I also have a lot of seniors in my college who have been working on wide range of open source projects (like MWOS, OWASP, GSoC) and they are very helpful. So there are a lot of ways I can tackle a problem I&#039;m stuck on when my mentor isn&#039;t available. Well thoughout my previous development experience &#039;StackOverflow&#039; has been a lot useful, so I can also look up for the solution there. In worst case, I will try to look up for the solution on the internet as I usually do and tackle the problem myself.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I am planning on maintaining a wiki page every weekend regarding the project. As far daily progress is concerned, I will pass on the project links to my mentor on IRC whenever I&#039;ll find him active to get a quick review. I&#039;ll also create a thread on Mailing list to post regular updates regarding the project developments.&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* We want to make sure that you can set up a [http://developer.sugarlabs.org development environment] before the summer starts. Please do &#039;&#039;one&#039;&#039; of the following:&lt;br /&gt;
* Send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of &amp;quot;logout&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
                   http://imgur.com/kZwyivD.png&lt;br /&gt;
&lt;br /&gt;
** &#039;&#039;&#039;Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have added some long needed features to Browse activity and Sugar Journal. PRs (&amp;lt;b&amp;gt;Screenshots attached in the PR comment section &amp;lt;/b&amp;gt;) -&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added download progress tool icon to [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/24 https://github.com/sugarlabs/browse-activity/pull/24] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved autocomplete list [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/27 https://github.com/sugarlabs/browse-activity/pull/27]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved bookmark management of [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/26 https://github.com/sugarlabs/browse-activity/pull/26]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Function name typo fixed in [BROWSE]ː [https://github.com/sugarlabs/sugar/pull/664 https://github.com/sugarlabs/sugar/pull/664]&amp;lt;b&amp;gt;(Merged)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a &amp;lt;b&amp;gt;ProgressToolButton&amp;lt;/b&amp;gt; module to [SUGAR-TOOLKIT-GTK3] used in Browse(also usable in other activities)ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The above &amp;lt;b&amp;gt;ProgressToolButton module&amp;lt;/b&amp;gt; was used by Mr. James Cameron in one of his patches for Clock Activityː [https://github.com/godiard/clock-activity/pull/2 https://github.com/godiard/clock-activity/pull/2] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a toolbutton to BookmarkTray for Browse-activity in [SUGAR-TOOLKIT-GTK3]ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added keyboard accessibility to [JOURNAL]ː  [https://github.com/sugarlabs/sugar/pull/667 https://github.com/sugarlabs/sugar/pull/667]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When I was child, most of my learning was because the games(chinese checkers, scribble, puzzles, etc) I used to play my at my school. Since I am pretty good at geometry, my teacher being impressed with my skills once asked me to help her teach other students to draw different geometrical figures using basic tools like-compass, protractor, divider and set-squares. It made me feel really nice helping others with their learning. I owe my logical thinking to the games I used to play when I was a kid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&lt;br /&gt;
I am pretty good at taking up challenging tasks(I introduced some cool features in Sugar that have been requested since a long time ;)) which seem difficult to others. After the completion of my project I would like to continue with my work on adding keyboard accessibility to Journal and download manager improvement in Browse. I am also planning to write an API (as suggested by Mr.Sam Parkinson) to extend keyboard accessibility to Sugar which would help kids to operate Sugar even without a mouse or some other pointing device. I would also like to mentor a student in GCI 2017 for Sugarlabs.&lt;br /&gt;
&lt;br /&gt;
Please include the category tag at the bottom of your page the Category tag for 2016 GSoC applications.&lt;br /&gt;
&lt;br /&gt;
[[Category:2016 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97436</id>
		<title>Summer of Code/2016/SugarJournalSaveOption UtkarshT</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97436"/>
		<updated>2016-03-23T23:22:54Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* About your project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About You ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My name is &amp;lt;b&amp;gt;Utkarsh Tiwari&amp;lt;/b&amp;gt;, and I am a 3rd year undergraduate student at [http://jiit.ac.in Jaypee Institute of  Information Technology], India.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My email address is &amp;lt;b&amp;gt;iamutkarshtiwari@gmail.com&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My Sugar Labs wiki username is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your IRC nickname on irc.freenode.net?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My IRC nickname is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your first language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My first language of communication is Hindi and I am also fluent in English.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where are you located, and what hours (UTC) do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Uttar Pradesh, India&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time Zone:&#039;&#039;&#039; UTC + 5:30 (India Standard Time)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Working hours:&#039;&#039;&#039; I usually tend to work in afternoons (1PM-5PM) and nights (9PM-2AM). I will remain active on irc during my working hours.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
I have only recently begun contributing to open source projects. I am one of the coordinators of the &amp;lt;b&amp;gt;OSDC&amp;lt;/b&amp;gt; ([https://www.facebook.com/groups/jiitlug/ Open Source Developers Club]) group of my college and have delivered and coordinated talks/workshops on technologies like Pygame, Using Git, JavaFx(Swing) and many more.&amp;lt;br&amp;gt;&lt;br /&gt;
I have also been contributing to &amp;lt;b&amp;gt;The Processing Foundation&amp;lt;/b&amp;gt; since December 2015 and have fixed couple of bugs and introduced some new features to their Java and Javascript based IDEs.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to the PRs I have pushed-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(Java)-&amp;gt;  [https://github.com/processing/processing/pulls?utf8=%E2%9C%93&amp;amp;q=+is%3Apr+author%3Aiamutkarshtiwari+ Features + Bugs]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(P5.js)-&amp;gt;  [https://github.com/processing/p5.js/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Aiamutkarshtiwari+is%3Amerged Bug]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why SugarLabs?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am in love(kind of obsessed! :D) with the work being done here which keeps me driving to contribute more in all the possible ways I can. It feels great seeing my activities being downloaded by kids and children from all around the world. Nothing makes me more happy than knowing that the code I write is serving the learning of millions of children.&amp;lt;br&amp;gt;It will be a great experience to work on a project that will introduce some nice feature which will make collaborative learning more easy and enjoyable!&lt;br /&gt;
I started contributing to Sugar Core since this February. Before that, I had already developed &amp;lt;b&amp;gt;6 Sugar activities&amp;lt;/b&amp;gt; and I am constantly mantaining them.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to my Sugar activities-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[http://activities.sugarlabs.org/en-US/sugar/addon/4773 Sonic Jump]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4772 Stick Hero]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4774 Flappy Birds]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4775 2 Cars]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4767 Make them fall]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4765 Buttons and Scissors]&amp;lt;br&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Github profile link - [https://github.com/iamutkarshtiwari https://github.com/iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I have also completed the &amp;lt;b&amp;gt;Hindi translations&amp;lt;/b&amp;gt; of activities listed below-&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;&lt;br /&gt;
Sugar(core)&amp;lt;br&amp;gt;&lt;br /&gt;
Turtleart&amp;lt;br&amp;gt;&lt;br /&gt;
Memorize&amp;lt;br&amp;gt;&lt;br /&gt;
Biorhythm&amp;lt;br&amp;gt;&lt;br /&gt;
TurtleblocksJS&amp;lt;br&amp;gt;&lt;br /&gt;
Paint&amp;lt;br&amp;gt;&lt;br /&gt;
Chat&amp;lt;br&amp;gt;&lt;br /&gt;
Card sort&amp;lt;br&amp;gt;&lt;br /&gt;
ImageViewer&amp;lt;br&amp;gt;&lt;br /&gt;
Physics &amp;lt;br&amp;gt; &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pootle profile link-[http://translate.sugarlabs.org/accounts/iamutkarshtiwari/ iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
P.S.- Pending translations are still under process.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am excited to work with Sugarlabs this summer! Working on a 3 months scaled project needs dedication and passion which I both possess. I am looking forward to making some significant contributions to Sugarlabs by working in collaboration with some highly skilled programmers from around the world and learn new technologies and methodologies from them to enhance my knowledge.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
We are looking for projects that will enhance the Sugar Learning Platform. Please consider how your project will have impact on children learning.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sugar on the Ground&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&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.) This project is related to making Sugar more usable under such circumstances.&lt;br /&gt;
&lt;br /&gt;
Features proposed-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal save option&amp;lt;/b&amp;gt; - This feature introduces a save facility inside Sugar where the user can save the current running activity instance by name of his choice when an activity is closed. The key is to give the user a way to do what is needed, but not to force it.&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 alert dialog at close time requesting the user to supply a name or &#039;not save&#039; the document. If the document has a user supplied name (by the standard activity toolbar icon), the dialog could request the user to save or to provide a new name to create a new document. &lt;br /&gt;
When a user resumes an activity, if the user quits, it should be saved by overwriting the previous Journal object (the current default).&lt;br /&gt;
If the user wants to ignore it, he can simply do so by selecting &#039;cancel&#039; option. &lt;br /&gt;
&lt;br /&gt;
In this way an unnecessary instance(it&#039;s data and metadata) wont be stored in the Journal thus saving significant space on XO by not storing irrelevant activity instances. &lt;br /&gt;
&lt;br /&gt;
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 feature will give the user the ability to manage versions by using unique names.&lt;br /&gt;
&lt;br /&gt;
Here are some mockups I designed-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save alert popup on close ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/p7qg61i.png&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save as alert popup ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/RxZpbxx.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Overwrite if name already exists in Journal ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/4C5Yt6v.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Saving with a new name ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
             http://imgur.com/n0GFgRj.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Screenshot save option-&amp;lt;/b&amp;gt;  Currently, Sugar simply saves a screenshot (without any notification) by naming it as &#039;Screenhot of X&#039;. With the proposed feature, while taking a screenshot user will be notified with a alert(like in Ubuntu) to provide a name for that screeshot along with the captured image of that shot. In this way user can save his screenshot as per specified name which can later help him remember why he took that snapshot.&lt;br /&gt;
&lt;br /&gt;
Here is a mockup for the proposed screenshot feature -&amp;gt; &lt;br /&gt;
             &lt;br /&gt;
             http://imgur.com/2uizzqh.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal activity resume feature-&amp;lt;/b&amp;gt; &lt;br /&gt;
Currently 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 will set the Home View default to launch a new instance on single click on an activity icon, whereas if a user &#039;Alt&#039;+&amp;quot;Click&amp;quot;ing an activity icon, should resume the latest instance of that activity. If the user wants to resume any previous activity, that can be achieved by choosing named(save as) instances in the Journal. 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;
Here is a flowchart to demonstrate the mechanism of this feature-&lt;br /&gt;
&lt;br /&gt;
              http://imgur.com/dl4cyZw.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal back and restore-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Many of Sugar deployments are to areas where the purchase of a usb stick is problematic. The real problem is that the available storage for the Journal runs out. However, a straight backup and restore cannot create space to enlarge the effective size of the Journal. The Journal on the XO should be a cache for active items and the rest should be stored on a school server (a server with a large hard drive capable of storing the Journal objects for all XOs in the deployment. OLPC, at one point, suggested a reserve of 2GB per XO (e.g. 200GB for a 100 XO deployment). A simple example would be a RAM(XO) and Secondary storage(school servers) in PCs. &lt;br /&gt;
&lt;br /&gt;
This feature will provide a way for users to deal with a full storage without significant technical skills. Currently the Journal, installed activities, and content files in /lhome/olpc/Library can contribute to filling the store. With a school server, a scheme to provide least-recently-used offload of content becomes possible. If all activities are available for download, least-recently used activities can be erased. If the Journal is stored on the school server, journal objects can be deleted locally (and later restored as needed). The motivation for the content /home/olpc/Library goes away if that content can be downloaded to the Journal as needed. The problem with the current scheme is that at best it is a sampler of the content sources (e.g. wikibooks). It would be better to put all of the content on the school server and have users download as needed. &lt;br /&gt;
&lt;br /&gt;
Here is a flowchart to demonstrate the above proposed mechanism-&amp;gt; &lt;br /&gt;
&lt;br /&gt;
               http://imgur.com/erPemnF.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; What is the timeline for development of your project? The Summer of Code work period is from mid-May  to mid-August; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it&#039;s good to have a plan at the beginning so you have an idea of where you&#039;re headed.) Note that you should probably plan to have something &amp;quot;working and 90% done&amp;quot; by the midterm evaluation (end of June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 150px;&amp;quot; | Days&lt;br /&gt;
!Task&lt;br /&gt;
|-&lt;br /&gt;
|24th April to 9th May&lt;br /&gt;
|&lt;br /&gt;
* Community bonding period. &lt;br /&gt;
* Gain consensus of the community on the designs and UI of the proposed features.&lt;br /&gt;
* Understand the working of Sugar codebase ( I already have some handson experience with Sugar)&lt;br /&gt;
* Discuss the specifications of all the features proposed with Mr.Tony Anderson and other community members.&lt;br /&gt;
|-&lt;br /&gt;
|10th May to 30th May&lt;br /&gt;
|Start developing &#039;save as&#039; alert popup.&lt;br /&gt;
* Write a new alert popup module wrapped over Alert class of Suga-toolkit-gtk3.&lt;br /&gt;
* Integrate the alert module to the Sugar activity base class.&lt;br /&gt;
* Code the automatic save feature to the resumable activities.&lt;br /&gt;
|-&lt;br /&gt;
|31 May to 1st June&lt;br /&gt;
|Send in patches to be reviewed by community.&lt;br /&gt;
Make necessary changes as per suggestions by the mentor.&lt;br /&gt;
|-&lt;br /&gt;
|2nd June to 15th June&lt;br /&gt;
|Start writing the screenshot popup alert.&lt;br /&gt;
* Code a new screenshot popup alert module include text entry, screenshot preview and interactive buttons.&lt;br /&gt;
* Make adjustments to the activity base class file and to home view to make the module compatible with them.&lt;br /&gt;
|-&lt;br /&gt;
|16th June to 17th June&lt;br /&gt;
|Send in patches for review by the mentor.&lt;br /&gt;
Make necessary modifications to the patches.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18th June to 24th June&lt;br /&gt;
|Discuss the backend working of the feature with mentor.&lt;br /&gt;
Design the layout for the user interface modications.&lt;br /&gt;
Start working on activity resume feature.&lt;br /&gt;
|-&lt;br /&gt;
|25th June to 26th June&lt;br /&gt;
|Prepare for midterm evaluation.&lt;br /&gt;
Re-evaluate the submitted patches and update the documentations.&lt;br /&gt;
&#039;Save As&#039; alert and Screenshot alert would be implemented by the midterm evaluation.&lt;br /&gt;
|-&lt;br /&gt;
|27th June to 28th June&lt;br /&gt;
|&#039;&#039;&#039;Midterm Evaluation&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|29th June to 5th July&lt;br /&gt;
|Buffer Week&lt;br /&gt;
|-&lt;br /&gt;
|6th July to 15th July&lt;br /&gt;
|Continue with the work on &#039;Activity resume&#039; feature.&lt;br /&gt;
Work on the home view to implement one Click and &amp;lt;Alt&amp;gt;Click start/resume facility.&lt;br /&gt;
|-&lt;br /&gt;
|16th July to 17th July&lt;br /&gt;
|&lt;br /&gt;
* Send in patch for review.&lt;br /&gt;
* Test the overall stability of the all the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|18th July to 19th July&lt;br /&gt;
| Would like to a day or 2 days off.&lt;br /&gt;
|-&lt;br /&gt;
|20 July to 15 July&lt;br /&gt;
|Discuss the Sugar backup-restore specifications with the mentor.&lt;br /&gt;
* Understand the current backup/restore mechanism as developed by Mr.Martin Langhoff.&lt;br /&gt;
* Redesign the resync feature and add user selection based upload to Owncloud repository.&lt;br /&gt;
* Code the automatic garbage cleanup to free up space occupied by unnecessary(least frequently used) activities.&lt;br /&gt;
* Implement the selection based download feature from the Owncloud repository.&lt;br /&gt;
* Modify the read/write access to the online cloud storage in accordance with the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|16 August to 18 August&lt;br /&gt;
|&lt;br /&gt;
* UI improvements.&lt;br /&gt;
* Improve code efficiency.&lt;br /&gt;
* Send PRs for review from community members.&lt;br /&gt;
|-&lt;br /&gt;
|19 August to 22 August&lt;br /&gt;
|&lt;br /&gt;
* Fix bugs.&lt;br /&gt;
* Document the implemented feature on respective wiki pages and describe the features.&lt;br /&gt;
* Add comments that will help further development.&lt;br /&gt;
|-&lt;br /&gt;
|23 August&lt;br /&gt;
|&#039;&#039;&#039;Final Evaluation&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The number of activities (visually attractiveǃ) that I had developed since last year shows my dedication towards Sugar community.&lt;br /&gt;
My developer profile - [http://activities.sugarlabs.org/en-US/sugar/user/13555 http://activities.sugarlabs.org/en-US/sugar/user/13555]&amp;lt;br&amp;gt;&lt;br /&gt;
I have also been contributing to The Processing Foundation since last December which made me. (commits linked above)&lt;br /&gt;
&lt;br /&gt;
I have also worked on some projects in my school, knowledge of which will help me in accomplishing the proposed tasks for this summer-&lt;br /&gt;
&lt;br /&gt;
* Design a GUI on JavaFX and Swing with basic Git features like branch, merge, diff, commit, revert, etc. alongwith Dropbox API integration to provide online repository storage- [https://github.com/iamutkarshtiwari/raptor https://github.com/iamutkarshtiwari/raptor]&lt;br /&gt;
&lt;br /&gt;
* Flappy bird design on C language-[https://github.com/iamutkarshtiwari/Flappy-Bird-on-C- https://github.com/iamutkarshtiwari/Flappy-Bird-on-C-]&lt;br /&gt;
* Snake game module on C- [https://github.com/iamutkarshtiwari/Snake-game-module]&lt;br /&gt;
&lt;br /&gt;
===You and the community===&lt;br /&gt;
* &#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Me-&lt;br /&gt;
&lt;br /&gt;
Mr. Tony Anderson-&lt;br /&gt;
&lt;br /&gt;
Mr. Walter Bender-&lt;br /&gt;
&lt;br /&gt;
Mr. Sam Parkinson-&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&lt;br /&gt;
If my mentor is not around, there would be other open source developers on IRC whom I can reach out for help. I also have a lot of seniors in my college who have been working on wide range of open source projects (like MWOS, OWASP, GSoC) and they are very helpful. So there are a lot of ways I can tackle a problem I&#039;m stuck on when my mentor isn&#039;t available. Well thoughout my previous development experience &#039;StackOverflow&#039; has been a lot useful, so I can also look up for the solution there. In worst case, I will try to look up for the solution on the internet as I usually do and tackle the problem myself.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I am planning on maintaining a wiki page every weekend regarding the project. As far daily progress is concerned, I will pass on the project links to my mentor on IRC whenever I&#039;ll find him active to get a quick review. I&#039;ll also create a thread on Mailing list to post regular updates regarding the project developments.&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* We want to make sure that you can set up a [http://developer.sugarlabs.org development environment] before the summer starts. Please do &#039;&#039;one&#039;&#039; of the following:&lt;br /&gt;
* Send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of &amp;quot;logout&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
                   http://imgur.com/kZwyivD.png&lt;br /&gt;
&lt;br /&gt;
** &#039;&#039;&#039;Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have added some long needed features to Browse activity and Sugar Journal. PRs (&amp;lt;b&amp;gt;Screenshots attached in the PR comment section &amp;lt;/b&amp;gt;) -&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added download progress tool icon to [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/24 https://github.com/sugarlabs/browse-activity/pull/24] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved autocomplete list [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/27 https://github.com/sugarlabs/browse-activity/pull/27]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved bookmark management of [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/26 https://github.com/sugarlabs/browse-activity/pull/26]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Function name typo fixed in [BROWSE]ː [https://github.com/sugarlabs/sugar/pull/664 https://github.com/sugarlabs/sugar/pull/664]&amp;lt;b&amp;gt;(Merged)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a &amp;lt;b&amp;gt;ProgressToolButton&amp;lt;/b&amp;gt; module to [SUGAR-TOOLKIT-GTK3] used in Browse(also usable in other activities)ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The above &amp;lt;b&amp;gt;ProgressToolButton module&amp;lt;/b&amp;gt; was used by Mr. James Cameron in one of his patches for Clock Activityː [https://github.com/godiard/clock-activity/pull/2 https://github.com/godiard/clock-activity/pull/2] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a toolbutton to BookmarkTray for Browse-activity in [SUGAR-TOOLKIT-GTK3]ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added keyboard accessibility to [JOURNAL]ː  [https://github.com/sugarlabs/sugar/pull/667 https://github.com/sugarlabs/sugar/pull/667]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When I was child, most of my learning was because the games(chinese checkers, scribble, puzzles, etc) I used to play my at my school. Since I am pretty good at geometry, my teacher being impressed with my skills once asked me to help her teach other students to draw different geometrical figures using basic tools like-compass, protractor, divider and set-squares. It made me feel really nice helping others with their learning. I owe my logical thinking to the games I used to play when I was a kid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&lt;br /&gt;
I am pretty good at taking up challenging tasks(I introduced some cool features in Sugar that have been requested since a long time ;)) which seem difficult to others. After the completion of my project I would like to continue with my work on adding keyboard accessibility to Journal and download manager improvement in Browse. I am also planning to write an API (as suggested by Mr.Sam Parkinson) to extend keyboard accessibility to Sugar which would help kids to operate Sugar even without a mouse or some other pointing device. I would also like to mentor a student in GCI 2017 for Sugarlabs.&lt;br /&gt;
&lt;br /&gt;
Please include the category tag at the bottom of your page the Category tag for 2016 GSoC applications.&lt;br /&gt;
&lt;br /&gt;
[[Category:2016 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97435</id>
		<title>Summer of Code/2016/SugarJournalSaveOption UtkarshT</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97435"/>
		<updated>2016-03-23T23:20:17Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* About You */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About You ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My name is &amp;lt;b&amp;gt;Utkarsh Tiwari&amp;lt;/b&amp;gt;, and I am a 3rd year undergraduate student at [http://jiit.ac.in Jaypee Institute of  Information Technology], India.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My email address is &amp;lt;b&amp;gt;iamutkarshtiwari@gmail.com&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My Sugar Labs wiki username is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your IRC nickname on irc.freenode.net?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My IRC nickname is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your first language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My first language of communication is Hindi and I am also fluent in English.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where are you located, and what hours (UTC) do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Uttar Pradesh, India&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time Zone:&#039;&#039;&#039; UTC + 5:30 (India Standard Time)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Working hours:&#039;&#039;&#039; I usually tend to work in afternoons (1PM-5PM) and nights (9PM-2AM). I will remain active on irc during my working hours.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
I have only recently begun contributing to open source projects. I am one of the coordinators of the &amp;lt;b&amp;gt;OSDC&amp;lt;/b&amp;gt; ([https://www.facebook.com/groups/jiitlug/ Open Source Developers Club]) group of my college and have delivered and coordinated talks/workshops on technologies like Pygame, Using Git, JavaFx(Swing) and many more.&amp;lt;br&amp;gt;&lt;br /&gt;
I have also been contributing to &amp;lt;b&amp;gt;The Processing Foundation&amp;lt;/b&amp;gt; since December 2015 and have fixed couple of bugs and introduced some new features to their Java and Javascript based IDEs.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to the PRs I have pushed-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(Java)-&amp;gt;  [https://github.com/processing/processing/pulls?utf8=%E2%9C%93&amp;amp;q=+is%3Apr+author%3Aiamutkarshtiwari+ Features + Bugs]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(P5.js)-&amp;gt;  [https://github.com/processing/p5.js/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Aiamutkarshtiwari+is%3Amerged Bug]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why SugarLabs?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am in love(kind of obsessed! :D) with the work being done here which keeps me driving to contribute more in all the possible ways I can. It feels great seeing my activities being downloaded by kids and children from all around the world. Nothing makes me more happy than knowing that the code I write is serving the learning of millions of children.&amp;lt;br&amp;gt;It will be a great experience to work on a project that will introduce some nice feature which will make collaborative learning more easy and enjoyable!&lt;br /&gt;
I started contributing to Sugar Core since this February. Before that, I had already developed &amp;lt;b&amp;gt;6 Sugar activities&amp;lt;/b&amp;gt; and I am constantly mantaining them.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to my Sugar activities-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[http://activities.sugarlabs.org/en-US/sugar/addon/4773 Sonic Jump]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4772 Stick Hero]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4774 Flappy Birds]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4775 2 Cars]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4767 Make them fall]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4765 Buttons and Scissors]&amp;lt;br&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Github profile link - [https://github.com/iamutkarshtiwari https://github.com/iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I have also completed the &amp;lt;b&amp;gt;Hindi translations&amp;lt;/b&amp;gt; of activities listed below-&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;&lt;br /&gt;
Sugar(core)&amp;lt;br&amp;gt;&lt;br /&gt;
Turtleart&amp;lt;br&amp;gt;&lt;br /&gt;
Memorize&amp;lt;br&amp;gt;&lt;br /&gt;
Biorhythm&amp;lt;br&amp;gt;&lt;br /&gt;
TurtleblocksJS&amp;lt;br&amp;gt;&lt;br /&gt;
Paint&amp;lt;br&amp;gt;&lt;br /&gt;
Chat&amp;lt;br&amp;gt;&lt;br /&gt;
Card sort&amp;lt;br&amp;gt;&lt;br /&gt;
ImageViewer&amp;lt;br&amp;gt;&lt;br /&gt;
Physics &amp;lt;br&amp;gt; &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pootle profile link-[http://translate.sugarlabs.org/accounts/iamutkarshtiwari/ iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
P.S.- Pending translations are still under process.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am excited to work with Sugarlabs this summer! Working on a 3 months scaled project needs dedication and passion which I both possess. I am looking forward to making some significant contributions to Sugarlabs by working in collaboration with some highly skilled programmers from around the world and learn new technologies and methodologies from them to enhance my knowledge.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
We are looking for projects that will enhance the Sugar Learning Platform. Please consider how your project will have impact on children learning.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sugar on the Ground&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&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.) This project is related to making Sugar more usable under such circumstances.&lt;br /&gt;
&lt;br /&gt;
Features proposed-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal save option&amp;lt;/b&amp;gt; - This feature introduces a save facility inside Sugar where the user can save the current running activity instance by name of his choice when an activity is closed. The key is to give the user a way to do what is needed, but not to force it.&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 alert dialog at close time requesting the user to supply a name or &#039;not save&#039; the document. If the document has a user supplied name (by the standard activity toolbar icon), the dialog could request the user to save or to provide a new name to create a new document. &lt;br /&gt;
When a user resumes an activity, if the user quits, it should be saved by overwriting the previous Journal object (the current default).&lt;br /&gt;
If the user wants to ignore it, he can simply do so by selecting &#039;cancel&#039; option. &lt;br /&gt;
&lt;br /&gt;
In this way an unnecessary instance(it&#039;s data and metadata) wont be stored in the Journal thus saving significant space on XO by not storing irrelevant activity instances. &lt;br /&gt;
&lt;br /&gt;
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 feature will give the user the ability to manage versions by using unique names.&lt;br /&gt;
&lt;br /&gt;
Here are some mockups I designed-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save alert popup on close ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/p7qg61i.png&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save as alert popup ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/RxZpbxx.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Overwrite if name already exists in Journal ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/4C5Yt6v.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Saving with a new name ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
             http://imgur.com/n0GFgRj.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Screenshot save option-&amp;lt;/b&amp;gt;  Currently, Sugar simply saves a screenshot (without any notification) by naming it as &#039;Screenhot of X&#039;. With the proposed feature, while taking a screenshot user will be notified with a alert(like in Ubuntu) to provide a name for that screeshot along with the captured image of that shot. In this way user can save his screenshot as per specified name which can later help him remember why he took that snapshot.&lt;br /&gt;
&lt;br /&gt;
Here is a mockup for the proposed screenshot feature -&amp;gt; &lt;br /&gt;
             &lt;br /&gt;
             http://imgur.com/2uizzqh.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal activity resume feature-&amp;lt;/b&amp;gt; &lt;br /&gt;
Currently 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 will set the Home View default to launch a new instance on single click on an activity icon, whereas if a user &#039;Alt&#039;+&amp;quot;Click&amp;quot;ing an activity icon, should resume the latest instance of that activity. If the user wants to resume any previous activity, that can be achieved by choosing named(save as) instances in the Journal. 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;
Here is a flowchart to demonstrate the mechanism of this feature-&lt;br /&gt;
&lt;br /&gt;
              http://imgur.com/dl4cyZw.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal back and restore-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Many of Sugar deployments are to areas where the purchase of a usb stick is problematic. The real problem is that the available storage for the Journal runs out. However, a straight backup and restore cannot create space to enlarge the effective size of the Journal. The Journal on the XO should be a cache for active items and the rest should be stored on a school server (a server with a large hard drive capable of storing the Journal objects for all XOs in the deployment. OLPC, at one point, suggested a reserve of 2GB per XO (e.g. 200GB for a 100 XO deployment). A simple example would be a RAM(XO) and Secondary storage(school servers) in PCs. &lt;br /&gt;
&lt;br /&gt;
This feature will provide a way for users to deal with a full storage without significant technical skills. Currently the Journal, installed activities, and content files in /lhome/olpc/Library can contribute to filling the store. With a school server, a scheme to provide least-recently-used offload of content becomes possible. If all activities are available for download, least-recently used activities can be erased. If the Journal is stored on the school server, journal objects can be deleted locally (and later restored as needed). The motivation for the content /home/olpc/Library goes away if that content can be downloaded to the Journal as needed. The problem with the current scheme is that at best it is a sampler of the content sources (e.g. wikibooks). It would be better to put all of the content on the school server and have users download as needed. &lt;br /&gt;
&lt;br /&gt;
Here is a flowchart to demonstrate the above proposed mechanism-&amp;gt; &lt;br /&gt;
&lt;br /&gt;
               http://imgur.com/erPemnF.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; What is the timeline for development of your project? The Summer of Code work period is from mid-May  to mid-August; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it&#039;s good to have a plan at the beginning so you have an idea of where you&#039;re headed.) Note that you should probably plan to have something &amp;quot;working and 90% done&amp;quot; by the midterm evaluation (end of June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 150px;&amp;quot; | Days&lt;br /&gt;
!Task&lt;br /&gt;
|-&lt;br /&gt;
|24th April to 9th May&lt;br /&gt;
|&lt;br /&gt;
* Community bonding period. &lt;br /&gt;
* Gain consensus of the community on the designs and UI of the proposed features.&lt;br /&gt;
* Understand the working of Sugar codebase ( I already have some handson experience with Sugar)&lt;br /&gt;
* Discuss the specifications of all the features proposed with Mr.Tony Anderson and other community members.&lt;br /&gt;
|-&lt;br /&gt;
|10th May to 30th May&lt;br /&gt;
|Start developing &#039;save as&#039; alert popup.&lt;br /&gt;
* Write a new alert popup module wrapped over Alert class of Suga-toolkit-gtk3.&lt;br /&gt;
* Integrate the alert module to the Sugar activity base class.&lt;br /&gt;
* Code the automatic save feature to the resumable activities.&lt;br /&gt;
|-&lt;br /&gt;
|31 May to 1st June&lt;br /&gt;
|Send in patches to be reviewed by community.&lt;br /&gt;
Make necessary changes as per suggestions by the mentor.&lt;br /&gt;
|-&lt;br /&gt;
|2nd June to 15th June&lt;br /&gt;
|Start writing the screenshot popup alert.&lt;br /&gt;
* Code a new screenshot popup alert module include text entry, screenshot preview and interactive buttons.&lt;br /&gt;
* Make adjustments to the activity base class file and to home view to make the module compatible with them.&lt;br /&gt;
|-&lt;br /&gt;
|16th June to 17th June&lt;br /&gt;
|Send in patches for review by the mentor.&lt;br /&gt;
Make necessary modifications to the patches.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18th June to 24th June&lt;br /&gt;
|Discuss the backend working of the feature with mentor.&lt;br /&gt;
Design the layout for the user interface modications.&lt;br /&gt;
Start working on activity resume feature.&lt;br /&gt;
|-&lt;br /&gt;
|25th June to 26th June&lt;br /&gt;
|Prepare for midterm evaluation.&lt;br /&gt;
Re-evaluate the submitted patches and update the documentations.&lt;br /&gt;
&#039;Save As&#039; alert and Screenshot alert would be implemented by the midterm evaluation.&lt;br /&gt;
|-&lt;br /&gt;
|27th June to 28th June&lt;br /&gt;
|&#039;&#039;&#039;Midterm Evaluation&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|29th June to 5th July&lt;br /&gt;
|Buffer Week&lt;br /&gt;
|-&lt;br /&gt;
|6th July to 15th July&lt;br /&gt;
|Continue with the work on &#039;Activity resume&#039; feature.&lt;br /&gt;
Work on the home view to implement one Click and &amp;lt;Alt&amp;gt;Click start/resume facility.&lt;br /&gt;
|-&lt;br /&gt;
|16th July to 17th July&lt;br /&gt;
|&lt;br /&gt;
* Send in patch for review.&lt;br /&gt;
* Test the overall stability of the all the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|18th July to 19th July&lt;br /&gt;
| Would like to a day or 2 days off.&lt;br /&gt;
|-&lt;br /&gt;
|20 July to 15 July&lt;br /&gt;
|Discuss the Sugar backup-restore specifications with the mentor.&lt;br /&gt;
* Understand the current backup/restore mechanism as developed by Mr.Martin Langhoff.&lt;br /&gt;
* Redesign the resync feature and add user selection based upload to Owncloud repository.&lt;br /&gt;
* Code the automatic garbage cleanup to free up space occupied by unnecessary(least frequently used) activities.&lt;br /&gt;
* Implement the selection based download feature from the Owncloud repository.&lt;br /&gt;
* Modify the read/write access to the online cloud storage in accordance with the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|16 August to 18 August&lt;br /&gt;
|&lt;br /&gt;
* UI improvements.&lt;br /&gt;
* Improve code efficiency.&lt;br /&gt;
* Send PRs for review from community members.&lt;br /&gt;
|-&lt;br /&gt;
|19 August to 22 August&lt;br /&gt;
|&lt;br /&gt;
* Fix bugs.&lt;br /&gt;
* Document the implemented feature on respective wiki pages and describe the features.&lt;br /&gt;
* Add comments that will help further development.&lt;br /&gt;
|-&lt;br /&gt;
|23 August&lt;br /&gt;
|&#039;&#039;&#039;Final Evaluation&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The number of activities (visually attractiveǃ) that I had developed since last year shows my dedication towards Sugar community.&lt;br /&gt;
My developer profile - [http://activities.sugarlabs.org/en-US/sugar/user/13555 http://activities.sugarlabs.org/en-US/sugar/user/13555]&lt;br /&gt;
I have also been contributing to The Processing Foundation since last December which made me. (commits linked above)&lt;br /&gt;
&lt;br /&gt;
I have also worked on some projects in my school, knowledge of which will help me in accomplishing the proposed tasks for this summer-&lt;br /&gt;
&lt;br /&gt;
* Design a GUI on JavaFX and Swing with basic Git features like branch, merge, diff, commit, revert, etc. alongwith Dropbox API integration to provide online repository storage . &lt;br /&gt;
link - [https://github.com/iamutkarshtiwari/raptor https://github.com/iamutkarshtiwari/raptor]&lt;br /&gt;
&lt;br /&gt;
* Flappy bird design on C language-[https://github.com/iamutkarshtiwari/Flappy-Bird-on-C- https://github.com/iamutkarshtiwari/Flappy-Bird-on-C-]&lt;br /&gt;
* Snake game module on C- [https://github.com/iamutkarshtiwari/Snake-game-module]&lt;br /&gt;
&lt;br /&gt;
===You and the community===&lt;br /&gt;
* &#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Me-&lt;br /&gt;
&lt;br /&gt;
Mr. Tony Anderson-&lt;br /&gt;
&lt;br /&gt;
Mr. Walter Bender-&lt;br /&gt;
&lt;br /&gt;
Mr. Sam Parkinson-&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&lt;br /&gt;
If my mentor is not around, there would be other open source developers on IRC whom I can reach out for help. I also have a lot of seniors in my college who have been working on wide range of open source projects (like MWOS, OWASP, GSoC) and they are very helpful. So there are a lot of ways I can tackle a problem I&#039;m stuck on when my mentor isn&#039;t available. Well thoughout my previous development experience &#039;StackOverflow&#039; has been a lot useful, so I can also look up for the solution there. In worst case, I will try to look up for the solution on the internet as I usually do and tackle the problem myself.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I am planning on maintaining a wiki page every weekend regarding the project. As far daily progress is concerned, I will pass on the project links to my mentor on IRC whenever I&#039;ll find him active to get a quick review. I&#039;ll also create a thread on Mailing list to post regular updates regarding the project developments.&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* We want to make sure that you can set up a [http://developer.sugarlabs.org development environment] before the summer starts. Please do &#039;&#039;one&#039;&#039; of the following:&lt;br /&gt;
* Send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of &amp;quot;logout&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
                   http://imgur.com/kZwyivD.png&lt;br /&gt;
&lt;br /&gt;
** &#039;&#039;&#039;Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have added some long needed features to Browse activity and Sugar Journal. PRs (&amp;lt;b&amp;gt;Screenshots attached in the PR comment section &amp;lt;/b&amp;gt;) -&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added download progress tool icon to [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/24 https://github.com/sugarlabs/browse-activity/pull/24] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved autocomplete list [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/27 https://github.com/sugarlabs/browse-activity/pull/27]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved bookmark management of [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/26 https://github.com/sugarlabs/browse-activity/pull/26]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Function name typo fixed in [BROWSE]ː [https://github.com/sugarlabs/sugar/pull/664 https://github.com/sugarlabs/sugar/pull/664]&amp;lt;b&amp;gt;(Merged)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a &amp;lt;b&amp;gt;ProgressToolButton&amp;lt;/b&amp;gt; module to [SUGAR-TOOLKIT-GTK3] used in Browse(also usable in other activities)ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The above &amp;lt;b&amp;gt;ProgressToolButton module&amp;lt;/b&amp;gt; was used by Mr. James Cameron in one of his patches for Clock Activityː [https://github.com/godiard/clock-activity/pull/2 https://github.com/godiard/clock-activity/pull/2] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a toolbutton to BookmarkTray for Browse-activity in [SUGAR-TOOLKIT-GTK3]ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added keyboard accessibility to [JOURNAL]ː  [https://github.com/sugarlabs/sugar/pull/667 https://github.com/sugarlabs/sugar/pull/667]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When I was child, most of my learning was because the games(chinese checkers, scribble, puzzles, etc) I used to play my at my school. Since I am pretty good at geometry, my teacher being impressed with my skills once asked me to help her teach other students to draw different geometrical figures using basic tools like-compass, protractor, divider and set-squares. It made me feel really nice helping others with their learning. I owe my logical thinking to the games I used to play when I was a kid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&lt;br /&gt;
I am pretty good at taking up challenging tasks(I introduced some cool features in Sugar that have been requested since a long time ;)) which seem difficult to others. After the completion of my project I would like to continue with my work on adding keyboard accessibility to Journal and download manager improvement in Browse. I am also planning to write an API (as suggested by Mr.Sam Parkinson) to extend keyboard accessibility to Sugar which would help kids to operate Sugar even without a mouse or some other pointing device. I would also like to mentor a student in GCI 2017 for Sugarlabs.&lt;br /&gt;
&lt;br /&gt;
Please include the category tag at the bottom of your page the Category tag for 2016 GSoC applications.&lt;br /&gt;
&lt;br /&gt;
[[Category:2016 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97434</id>
		<title>Summer of Code/2016/SugarJournalSaveOption UtkarshT</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97434"/>
		<updated>2016-03-23T23:19:05Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* You and the community */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About You ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My name is &amp;lt;b&amp;gt;Utkarsh Tiwari&amp;lt;/b&amp;gt;, and I am a 3rd year undergraduate student at [http://jiit.ac.in Jaypee Institute of  Information Technology], India.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My email address is &amp;lt;b&amp;gt;iamutkarshtiwari@gmail.com&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My Sugar Labs wiki username is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your IRC nickname on irc.freenode.net?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My IRC nickname is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your first language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My first language of communication is Hindi and I am also fluent in English.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where are you located, and what hours (UTC) do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Uttar Pradesh, India&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time Zone:&#039;&#039;&#039; UTC + 5:30 (India Standard Time)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Working hours:&#039;&#039;&#039; I usually tend to work in afternoons (1PM-5PM) and nights (9PM-2AM). I will remain active on irc during my working hours.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
I have only recently begun contributing to open source projects. I am one of the coordinators of the &amp;lt;b&amp;gt;OSDC&amp;lt;/b&amp;gt; ([https://www.facebook.com/groups/jiitlug/ Open Source Developers Club]) group of my college and have delivered and coordinated talks/workshops on technologies like Pygame, Using Git, JavaFx(Swing) and many more.&amp;lt;br&amp;gt;&lt;br /&gt;
I have also been contributing to &amp;lt;b&amp;gt;The Processing Foundation&amp;lt;/b&amp;gt; since December 2015 and have fixed couple of bugs and introduced some new features to their Java and Javascript based IDEs.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to the PRs I have pushed-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(Java)-&amp;gt;  [https://github.com/processing/processing/pulls?utf8=%E2%9C%93&amp;amp;q=+is%3Apr+author%3Aiamutkarshtiwari+ Features + Bugs]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(P5.js)-&amp;gt;  [https://github.com/processing/p5.js/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Aiamutkarshtiwari+is%3Amerged Bug]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why SugarLabs?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am in love(kind of obsessed! :D) with the work being done here which keeps me driving to contribute more in all the possible ways I can. It feels great seeing my activities being downloaded by kids and children from all around the world. Nothing makes me more happy than knowing that the code I write is serving the learning of millions of children.&amp;lt;br&amp;gt;It will be a great experience to work on a project that will introduce some nice feature which will make collaborative learning more easy and enjoyable!&lt;br /&gt;
I started contributing to Sugar Core since this February. Before that, I had already developed &amp;lt;b&amp;gt;6 Sugar activities&amp;lt;/b&amp;gt; and I am constantly mantaining them.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to my Sugar activities-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[http://activities.sugarlabs.org/en-US/sugar/addon/4773 Sonic Jump]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4772 Stick Hero]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4774 Flappy Birds]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4775 2 Cars]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4767 Make them fall]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4765 Buttons and Scissors]&amp;lt;br&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Github profile link - [https://github.com/iamutkarshtiwari https://github.com/iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I have also completed the &amp;lt;b&amp;gt;Hindi translations&amp;lt;/b&amp;gt; of activities listed below-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sugar(core)&amp;lt;br&amp;gt;&lt;br /&gt;
Turtleart&amp;lt;br&amp;gt;&lt;br /&gt;
Memorize&amp;lt;br&amp;gt;&lt;br /&gt;
Biorhythm&amp;lt;br&amp;gt;&lt;br /&gt;
TurtleblocksJS&amp;lt;br&amp;gt;&lt;br /&gt;
Paint&amp;lt;br&amp;gt;&lt;br /&gt;
Chat&amp;lt;br&amp;gt;&lt;br /&gt;
Card sort&amp;lt;br&amp;gt;&lt;br /&gt;
ImageViewer&amp;lt;br&amp;gt;&lt;br /&gt;
Physics &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pootle profile link-[http://translate.sugarlabs.org/accounts/iamutkarshtiwari/ iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
P.S.- Pending translations are still under process.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am excited to work with Sugarlabs this summer! Working on a 3 months scaled project needs dedication and passion which I both possess. I am looking forward to making some significant contributions to Sugarlabs by working in collaboration with some highly skilled programmers from around the world and learn new technologies and methodologies from them to enhance my knowledge.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
We are looking for projects that will enhance the Sugar Learning Platform. Please consider how your project will have impact on children learning.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sugar on the Ground&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&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.) This project is related to making Sugar more usable under such circumstances.&lt;br /&gt;
&lt;br /&gt;
Features proposed-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal save option&amp;lt;/b&amp;gt; - This feature introduces a save facility inside Sugar where the user can save the current running activity instance by name of his choice when an activity is closed. The key is to give the user a way to do what is needed, but not to force it.&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 alert dialog at close time requesting the user to supply a name or &#039;not save&#039; the document. If the document has a user supplied name (by the standard activity toolbar icon), the dialog could request the user to save or to provide a new name to create a new document. &lt;br /&gt;
When a user resumes an activity, if the user quits, it should be saved by overwriting the previous Journal object (the current default).&lt;br /&gt;
If the user wants to ignore it, he can simply do so by selecting &#039;cancel&#039; option. &lt;br /&gt;
&lt;br /&gt;
In this way an unnecessary instance(it&#039;s data and metadata) wont be stored in the Journal thus saving significant space on XO by not storing irrelevant activity instances. &lt;br /&gt;
&lt;br /&gt;
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 feature will give the user the ability to manage versions by using unique names.&lt;br /&gt;
&lt;br /&gt;
Here are some mockups I designed-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save alert popup on close ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/p7qg61i.png&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save as alert popup ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/RxZpbxx.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Overwrite if name already exists in Journal ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/4C5Yt6v.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Saving with a new name ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
             http://imgur.com/n0GFgRj.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Screenshot save option-&amp;lt;/b&amp;gt;  Currently, Sugar simply saves a screenshot (without any notification) by naming it as &#039;Screenhot of X&#039;. With the proposed feature, while taking a screenshot user will be notified with a alert(like in Ubuntu) to provide a name for that screeshot along with the captured image of that shot. In this way user can save his screenshot as per specified name which can later help him remember why he took that snapshot.&lt;br /&gt;
&lt;br /&gt;
Here is a mockup for the proposed screenshot feature -&amp;gt; &lt;br /&gt;
             &lt;br /&gt;
             http://imgur.com/2uizzqh.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal activity resume feature-&amp;lt;/b&amp;gt; &lt;br /&gt;
Currently 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 will set the Home View default to launch a new instance on single click on an activity icon, whereas if a user &#039;Alt&#039;+&amp;quot;Click&amp;quot;ing an activity icon, should resume the latest instance of that activity. If the user wants to resume any previous activity, that can be achieved by choosing named(save as) instances in the Journal. 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;
Here is a flowchart to demonstrate the mechanism of this feature-&lt;br /&gt;
&lt;br /&gt;
              http://imgur.com/dl4cyZw.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal back and restore-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Many of Sugar deployments are to areas where the purchase of a usb stick is problematic. The real problem is that the available storage for the Journal runs out. However, a straight backup and restore cannot create space to enlarge the effective size of the Journal. The Journal on the XO should be a cache for active items and the rest should be stored on a school server (a server with a large hard drive capable of storing the Journal objects for all XOs in the deployment. OLPC, at one point, suggested a reserve of 2GB per XO (e.g. 200GB for a 100 XO deployment). A simple example would be a RAM(XO) and Secondary storage(school servers) in PCs. &lt;br /&gt;
&lt;br /&gt;
This feature will provide a way for users to deal with a full storage without significant technical skills. Currently the Journal, installed activities, and content files in /lhome/olpc/Library can contribute to filling the store. With a school server, a scheme to provide least-recently-used offload of content becomes possible. If all activities are available for download, least-recently used activities can be erased. If the Journal is stored on the school server, journal objects can be deleted locally (and later restored as needed). The motivation for the content /home/olpc/Library goes away if that content can be downloaded to the Journal as needed. The problem with the current scheme is that at best it is a sampler of the content sources (e.g. wikibooks). It would be better to put all of the content on the school server and have users download as needed. &lt;br /&gt;
&lt;br /&gt;
Here is a flowchart to demonstrate the above proposed mechanism-&amp;gt; &lt;br /&gt;
&lt;br /&gt;
               http://imgur.com/erPemnF.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; What is the timeline for development of your project? The Summer of Code work period is from mid-May  to mid-August; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it&#039;s good to have a plan at the beginning so you have an idea of where you&#039;re headed.) Note that you should probably plan to have something &amp;quot;working and 90% done&amp;quot; by the midterm evaluation (end of June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 150px;&amp;quot; | Days&lt;br /&gt;
!Task&lt;br /&gt;
|-&lt;br /&gt;
|24th April to 9th May&lt;br /&gt;
|&lt;br /&gt;
* Community bonding period. &lt;br /&gt;
* Gain consensus of the community on the designs and UI of the proposed features.&lt;br /&gt;
* Understand the working of Sugar codebase ( I already have some handson experience with Sugar)&lt;br /&gt;
* Discuss the specifications of all the features proposed with Mr.Tony Anderson and other community members.&lt;br /&gt;
|-&lt;br /&gt;
|10th May to 30th May&lt;br /&gt;
|Start developing &#039;save as&#039; alert popup.&lt;br /&gt;
* Write a new alert popup module wrapped over Alert class of Suga-toolkit-gtk3.&lt;br /&gt;
* Integrate the alert module to the Sugar activity base class.&lt;br /&gt;
* Code the automatic save feature to the resumable activities.&lt;br /&gt;
|-&lt;br /&gt;
|31 May to 1st June&lt;br /&gt;
|Send in patches to be reviewed by community.&lt;br /&gt;
Make necessary changes as per suggestions by the mentor.&lt;br /&gt;
|-&lt;br /&gt;
|2nd June to 15th June&lt;br /&gt;
|Start writing the screenshot popup alert.&lt;br /&gt;
* Code a new screenshot popup alert module include text entry, screenshot preview and interactive buttons.&lt;br /&gt;
* Make adjustments to the activity base class file and to home view to make the module compatible with them.&lt;br /&gt;
|-&lt;br /&gt;
|16th June to 17th June&lt;br /&gt;
|Send in patches for review by the mentor.&lt;br /&gt;
Make necessary modifications to the patches.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18th June to 24th June&lt;br /&gt;
|Discuss the backend working of the feature with mentor.&lt;br /&gt;
Design the layout for the user interface modications.&lt;br /&gt;
Start working on activity resume feature.&lt;br /&gt;
|-&lt;br /&gt;
|25th June to 26th June&lt;br /&gt;
|Prepare for midterm evaluation.&lt;br /&gt;
Re-evaluate the submitted patches and update the documentations.&lt;br /&gt;
&#039;Save As&#039; alert and Screenshot alert would be implemented by the midterm evaluation.&lt;br /&gt;
|-&lt;br /&gt;
|27th June to 28th June&lt;br /&gt;
|&#039;&#039;&#039;Midterm Evaluation&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|29th June to 5th July&lt;br /&gt;
|Buffer Week&lt;br /&gt;
|-&lt;br /&gt;
|6th July to 15th July&lt;br /&gt;
|Continue with the work on &#039;Activity resume&#039; feature.&lt;br /&gt;
Work on the home view to implement one Click and &amp;lt;Alt&amp;gt;Click start/resume facility.&lt;br /&gt;
|-&lt;br /&gt;
|16th July to 17th July&lt;br /&gt;
|&lt;br /&gt;
* Send in patch for review.&lt;br /&gt;
* Test the overall stability of the all the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|18th July to 19th July&lt;br /&gt;
| Would like to a day or 2 days off.&lt;br /&gt;
|-&lt;br /&gt;
|20 July to 15 July&lt;br /&gt;
|Discuss the Sugar backup-restore specifications with the mentor.&lt;br /&gt;
* Understand the current backup/restore mechanism as developed by Mr.Martin Langhoff.&lt;br /&gt;
* Redesign the resync feature and add user selection based upload to Owncloud repository.&lt;br /&gt;
* Code the automatic garbage cleanup to free up space occupied by unnecessary(least frequently used) activities.&lt;br /&gt;
* Implement the selection based download feature from the Owncloud repository.&lt;br /&gt;
* Modify the read/write access to the online cloud storage in accordance with the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|16 August to 18 August&lt;br /&gt;
|&lt;br /&gt;
* UI improvements.&lt;br /&gt;
* Improve code efficiency.&lt;br /&gt;
* Send PRs for review from community members.&lt;br /&gt;
|-&lt;br /&gt;
|19 August to 22 August&lt;br /&gt;
|&lt;br /&gt;
* Fix bugs.&lt;br /&gt;
* Document the implemented feature on respective wiki pages and describe the features.&lt;br /&gt;
* Add comments that will help further development.&lt;br /&gt;
|-&lt;br /&gt;
|23 August&lt;br /&gt;
|&#039;&#039;&#039;Final Evaluation&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The number of activities (visually attractiveǃ) that I had developed since last year shows my dedication towards Sugar community.&lt;br /&gt;
My developer profile - [http://activities.sugarlabs.org/en-US/sugar/user/13555 http://activities.sugarlabs.org/en-US/sugar/user/13555]&lt;br /&gt;
I have also been contributing to The Processing Foundation since last December which made me. (commits linked above)&lt;br /&gt;
&lt;br /&gt;
I have also worked on some projects in my school, knowledge of which will help me in accomplishing the proposed tasks for this summer-&lt;br /&gt;
&lt;br /&gt;
* Design a GUI on JavaFX and Swing with basic Git features like branch, merge, diff, commit, revert, etc. alongwith Dropbox API integration to provide online repository storage . &lt;br /&gt;
link - [https://github.com/iamutkarshtiwari/raptor https://github.com/iamutkarshtiwari/raptor]&lt;br /&gt;
&lt;br /&gt;
* Flappy bird design on C language-[https://github.com/iamutkarshtiwari/Flappy-Bird-on-C- https://github.com/iamutkarshtiwari/Flappy-Bird-on-C-]&lt;br /&gt;
* Snake game module on C- [https://github.com/iamutkarshtiwari/Snake-game-module]&lt;br /&gt;
&lt;br /&gt;
===You and the community===&lt;br /&gt;
* &#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Me-&lt;br /&gt;
&lt;br /&gt;
Mr. Tony Anderson-&lt;br /&gt;
&lt;br /&gt;
Mr. Walter Bender-&lt;br /&gt;
&lt;br /&gt;
Mr. Sam Parkinson-&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&lt;br /&gt;
If my mentor is not around, there would be other open source developers on IRC whom I can reach out for help. I also have a lot of seniors in my college who have been working on wide range of open source projects (like MWOS, OWASP, GSoC) and they are very helpful. So there are a lot of ways I can tackle a problem I&#039;m stuck on when my mentor isn&#039;t available. Well thoughout my previous development experience &#039;StackOverflow&#039; has been a lot useful, so I can also look up for the solution there. In worst case, I will try to look up for the solution on the internet as I usually do and tackle the problem myself.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I am planning on maintaining a wiki page every weekend regarding the project. As far daily progress is concerned, I will pass on the project links to my mentor on IRC whenever I&#039;ll find him active to get a quick review. I&#039;ll also create a thread on Mailing list to post regular updates regarding the project developments.&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* We want to make sure that you can set up a [http://developer.sugarlabs.org development environment] before the summer starts. Please do &#039;&#039;one&#039;&#039; of the following:&lt;br /&gt;
* Send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of &amp;quot;logout&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
                   http://imgur.com/kZwyivD.png&lt;br /&gt;
&lt;br /&gt;
** &#039;&#039;&#039;Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have added some long needed features to Browse activity and Sugar Journal. PRs (&amp;lt;b&amp;gt;Screenshots attached in the PR comment section &amp;lt;/b&amp;gt;) -&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added download progress tool icon to [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/24 https://github.com/sugarlabs/browse-activity/pull/24] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved autocomplete list [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/27 https://github.com/sugarlabs/browse-activity/pull/27]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved bookmark management of [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/26 https://github.com/sugarlabs/browse-activity/pull/26]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Function name typo fixed in [BROWSE]ː [https://github.com/sugarlabs/sugar/pull/664 https://github.com/sugarlabs/sugar/pull/664]&amp;lt;b&amp;gt;(Merged)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a &amp;lt;b&amp;gt;ProgressToolButton&amp;lt;/b&amp;gt; module to [SUGAR-TOOLKIT-GTK3] used in Browse(also usable in other activities)ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The above &amp;lt;b&amp;gt;ProgressToolButton module&amp;lt;/b&amp;gt; was used by Mr. James Cameron in one of his patches for Clock Activityː [https://github.com/godiard/clock-activity/pull/2 https://github.com/godiard/clock-activity/pull/2] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a toolbutton to BookmarkTray for Browse-activity in [SUGAR-TOOLKIT-GTK3]ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added keyboard accessibility to [JOURNAL]ː  [https://github.com/sugarlabs/sugar/pull/667 https://github.com/sugarlabs/sugar/pull/667]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When I was child, most of my learning was because the games(chinese checkers, scribble, puzzles, etc) I used to play my at my school. Since I am pretty good at geometry, my teacher being impressed with my skills once asked me to help her teach other students to draw different geometrical figures using basic tools like-compass, protractor, divider and set-squares. It made me feel really nice helping others with their learning. I owe my logical thinking to the games I used to play when I was a kid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&lt;br /&gt;
I am pretty good at taking up challenging tasks(I introduced some cool features in Sugar that have been requested since a long time ;)) which seem difficult to others. After the completion of my project I would like to continue with my work on adding keyboard accessibility to Journal and download manager improvement in Browse. I am also planning to write an API (as suggested by Mr.Sam Parkinson) to extend keyboard accessibility to Sugar which would help kids to operate Sugar even without a mouse or some other pointing device. I would also like to mentor a student in GCI 2017 for Sugarlabs.&lt;br /&gt;
&lt;br /&gt;
Please include the category tag at the bottom of your page the Category tag for 2016 GSoC applications.&lt;br /&gt;
&lt;br /&gt;
[[Category:2016 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97433</id>
		<title>Summer of Code/2016/SugarJournalSaveOption UtkarshT</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97433"/>
		<updated>2016-03-23T23:17:20Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* About your project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About You ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My name is &amp;lt;b&amp;gt;Utkarsh Tiwari&amp;lt;/b&amp;gt;, and I am a 3rd year undergraduate student at [http://jiit.ac.in Jaypee Institute of  Information Technology], India.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My email address is &amp;lt;b&amp;gt;iamutkarshtiwari@gmail.com&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My Sugar Labs wiki username is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your IRC nickname on irc.freenode.net?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My IRC nickname is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your first language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My first language of communication is Hindi and I am also fluent in English.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where are you located, and what hours (UTC) do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Uttar Pradesh, India&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time Zone:&#039;&#039;&#039; UTC + 5:30 (India Standard Time)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Working hours:&#039;&#039;&#039; I usually tend to work in afternoons (1PM-5PM) and nights (9PM-2AM). I will remain active on irc during my working hours.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
I have only recently begun contributing to open source projects. I am one of the coordinators of the &amp;lt;b&amp;gt;OSDC&amp;lt;/b&amp;gt; ([https://www.facebook.com/groups/jiitlug/ Open Source Developers Club]) group of my college and have delivered and coordinated talks/workshops on technologies like Pygame, Using Git, JavaFx(Swing) and many more.&amp;lt;br&amp;gt;&lt;br /&gt;
I have also been contributing to &amp;lt;b&amp;gt;The Processing Foundation&amp;lt;/b&amp;gt; since December 2015 and have fixed couple of bugs and introduced some new features to their Java and Javascript based IDEs.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to the PRs I have pushed-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(Java)-&amp;gt;  [https://github.com/processing/processing/pulls?utf8=%E2%9C%93&amp;amp;q=+is%3Apr+author%3Aiamutkarshtiwari+ Features + Bugs]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(P5.js)-&amp;gt;  [https://github.com/processing/p5.js/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Aiamutkarshtiwari+is%3Amerged Bug]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why SugarLabs?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am in love(kind of obsessed! :D) with the work being done here which keeps me driving to contribute more in all the possible ways I can. It feels great seeing my activities being downloaded by kids and children from all around the world. Nothing makes me more happy than knowing that the code I write is serving the learning of millions of children.&amp;lt;br&amp;gt;It will be a great experience to work on a project that will introduce some nice feature which will make collaborative learning more easy and enjoyable!&lt;br /&gt;
I started contributing to Sugar Core since this February. Before that, I had already developed &amp;lt;b&amp;gt;6 Sugar activities&amp;lt;/b&amp;gt; and I am constantly mantaining them.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to my Sugar activities-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[http://activities.sugarlabs.org/en-US/sugar/addon/4773 Sonic Jump]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4772 Stick Hero]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4774 Flappy Birds]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4775 2 Cars]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4767 Make them fall]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4765 Buttons and Scissors]&amp;lt;br&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Github profile link - [https://github.com/iamutkarshtiwari https://github.com/iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I have also completed the &amp;lt;b&amp;gt;Hindi translations&amp;lt;/b&amp;gt; of activities listed below-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sugar(core)&amp;lt;br&amp;gt;&lt;br /&gt;
Turtleart&amp;lt;br&amp;gt;&lt;br /&gt;
Memorize&amp;lt;br&amp;gt;&lt;br /&gt;
Biorhythm&amp;lt;br&amp;gt;&lt;br /&gt;
TurtleblocksJS&amp;lt;br&amp;gt;&lt;br /&gt;
Paint&amp;lt;br&amp;gt;&lt;br /&gt;
Chat&amp;lt;br&amp;gt;&lt;br /&gt;
Card sort&amp;lt;br&amp;gt;&lt;br /&gt;
ImageViewer&amp;lt;br&amp;gt;&lt;br /&gt;
Physics &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pootle profile link-[http://translate.sugarlabs.org/accounts/iamutkarshtiwari/ iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
P.S.- Pending translations are still under process.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am excited to work with Sugarlabs this summer! Working on a 3 months scaled project needs dedication and passion which I both possess. I am looking forward to making some significant contributions to Sugarlabs by working in collaboration with some highly skilled programmers from around the world and learn new technologies and methodologies from them to enhance my knowledge.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
We are looking for projects that will enhance the Sugar Learning Platform. Please consider how your project will have impact on children learning.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sugar on the Ground&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&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.) This project is related to making Sugar more usable under such circumstances.&lt;br /&gt;
&lt;br /&gt;
Features proposed-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal save option&amp;lt;/b&amp;gt; - This feature introduces a save facility inside Sugar where the user can save the current running activity instance by name of his choice when an activity is closed. The key is to give the user a way to do what is needed, but not to force it.&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 alert dialog at close time requesting the user to supply a name or &#039;not save&#039; the document. If the document has a user supplied name (by the standard activity toolbar icon), the dialog could request the user to save or to provide a new name to create a new document. &lt;br /&gt;
When a user resumes an activity, if the user quits, it should be saved by overwriting the previous Journal object (the current default).&lt;br /&gt;
If the user wants to ignore it, he can simply do so by selecting &#039;cancel&#039; option. &lt;br /&gt;
&lt;br /&gt;
In this way an unnecessary instance(it&#039;s data and metadata) wont be stored in the Journal thus saving significant space on XO by not storing irrelevant activity instances. &lt;br /&gt;
&lt;br /&gt;
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 feature will give the user the ability to manage versions by using unique names.&lt;br /&gt;
&lt;br /&gt;
Here are some mockups I designed-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save alert popup on close ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/p7qg61i.png&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save as alert popup ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/RxZpbxx.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Overwrite if name already exists in Journal ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/4C5Yt6v.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Saving with a new name ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
             http://imgur.com/n0GFgRj.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Screenshot save option-&amp;lt;/b&amp;gt;  Currently, Sugar simply saves a screenshot (without any notification) by naming it as &#039;Screenhot of X&#039;. With the proposed feature, while taking a screenshot user will be notified with a alert(like in Ubuntu) to provide a name for that screeshot along with the captured image of that shot. In this way user can save his screenshot as per specified name which can later help him remember why he took that snapshot.&lt;br /&gt;
&lt;br /&gt;
Here is a mockup for the proposed screenshot feature -&amp;gt; &lt;br /&gt;
             &lt;br /&gt;
             http://imgur.com/2uizzqh.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal activity resume feature-&amp;lt;/b&amp;gt; &lt;br /&gt;
Currently 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 will set the Home View default to launch a new instance on single click on an activity icon, whereas if a user &#039;Alt&#039;+&amp;quot;Click&amp;quot;ing an activity icon, should resume the latest instance of that activity. If the user wants to resume any previous activity, that can be achieved by choosing named(save as) instances in the Journal. 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;
Here is a flowchart to demonstrate the mechanism of this feature-&lt;br /&gt;
&lt;br /&gt;
              http://imgur.com/dl4cyZw.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal back and restore-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Many of Sugar deployments are to areas where the purchase of a usb stick is problematic. The real problem is that the available storage for the Journal runs out. However, a straight backup and restore cannot create space to enlarge the effective size of the Journal. The Journal on the XO should be a cache for active items and the rest should be stored on a school server (a server with a large hard drive capable of storing the Journal objects for all XOs in the deployment. OLPC, at one point, suggested a reserve of 2GB per XO (e.g. 200GB for a 100 XO deployment). A simple example would be a RAM(XO) and Secondary storage(school servers) in PCs. &lt;br /&gt;
&lt;br /&gt;
This feature will provide a way for users to deal with a full storage without significant technical skills. Currently the Journal, installed activities, and content files in /lhome/olpc/Library can contribute to filling the store. With a school server, a scheme to provide least-recently-used offload of content becomes possible. If all activities are available for download, least-recently used activities can be erased. If the Journal is stored on the school server, journal objects can be deleted locally (and later restored as needed). The motivation for the content /home/olpc/Library goes away if that content can be downloaded to the Journal as needed. The problem with the current scheme is that at best it is a sampler of the content sources (e.g. wikibooks). It would be better to put all of the content on the school server and have users download as needed. &lt;br /&gt;
&lt;br /&gt;
Here is a flowchart to demonstrate the above proposed mechanism-&amp;gt; &lt;br /&gt;
&lt;br /&gt;
               http://imgur.com/erPemnF.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; What is the timeline for development of your project? The Summer of Code work period is from mid-May  to mid-August; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it&#039;s good to have a plan at the beginning so you have an idea of where you&#039;re headed.) Note that you should probably plan to have something &amp;quot;working and 90% done&amp;quot; by the midterm evaluation (end of June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 150px;&amp;quot; | Days&lt;br /&gt;
!Task&lt;br /&gt;
|-&lt;br /&gt;
|24th April to 9th May&lt;br /&gt;
|&lt;br /&gt;
* Community bonding period. &lt;br /&gt;
* Gain consensus of the community on the designs and UI of the proposed features.&lt;br /&gt;
* Understand the working of Sugar codebase ( I already have some handson experience with Sugar)&lt;br /&gt;
* Discuss the specifications of all the features proposed with Mr.Tony Anderson and other community members.&lt;br /&gt;
|-&lt;br /&gt;
|10th May to 30th May&lt;br /&gt;
|Start developing &#039;save as&#039; alert popup.&lt;br /&gt;
* Write a new alert popup module wrapped over Alert class of Suga-toolkit-gtk3.&lt;br /&gt;
* Integrate the alert module to the Sugar activity base class.&lt;br /&gt;
* Code the automatic save feature to the resumable activities.&lt;br /&gt;
|-&lt;br /&gt;
|31 May to 1st June&lt;br /&gt;
|Send in patches to be reviewed by community.&lt;br /&gt;
Make necessary changes as per suggestions by the mentor.&lt;br /&gt;
|-&lt;br /&gt;
|2nd June to 15th June&lt;br /&gt;
|Start writing the screenshot popup alert.&lt;br /&gt;
* Code a new screenshot popup alert module include text entry, screenshot preview and interactive buttons.&lt;br /&gt;
* Make adjustments to the activity base class file and to home view to make the module compatible with them.&lt;br /&gt;
|-&lt;br /&gt;
|16th June to 17th June&lt;br /&gt;
|Send in patches for review by the mentor.&lt;br /&gt;
Make necessary modifications to the patches.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18th June to 24th June&lt;br /&gt;
|Discuss the backend working of the feature with mentor.&lt;br /&gt;
Design the layout for the user interface modications.&lt;br /&gt;
Start working on activity resume feature.&lt;br /&gt;
|-&lt;br /&gt;
|25th June to 26th June&lt;br /&gt;
|Prepare for midterm evaluation.&lt;br /&gt;
Re-evaluate the submitted patches and update the documentations.&lt;br /&gt;
&#039;Save As&#039; alert and Screenshot alert would be implemented by the midterm evaluation.&lt;br /&gt;
|-&lt;br /&gt;
|27th June to 28th June&lt;br /&gt;
|&#039;&#039;&#039;Midterm Evaluation&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|29th June to 5th July&lt;br /&gt;
|Buffer Week&lt;br /&gt;
|-&lt;br /&gt;
|6th July to 15th July&lt;br /&gt;
|Continue with the work on &#039;Activity resume&#039; feature.&lt;br /&gt;
Work on the home view to implement one Click and &amp;lt;Alt&amp;gt;Click start/resume facility.&lt;br /&gt;
|-&lt;br /&gt;
|16th July to 17th July&lt;br /&gt;
|&lt;br /&gt;
* Send in patch for review.&lt;br /&gt;
* Test the overall stability of the all the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|18th July to 19th July&lt;br /&gt;
| Would like to a day or 2 days off.&lt;br /&gt;
|-&lt;br /&gt;
|20 July to 15 July&lt;br /&gt;
|Discuss the Sugar backup-restore specifications with the mentor.&lt;br /&gt;
* Understand the current backup/restore mechanism as developed by Mr.Martin Langhoff.&lt;br /&gt;
* Redesign the resync feature and add user selection based upload to Owncloud repository.&lt;br /&gt;
* Code the automatic garbage cleanup to free up space occupied by unnecessary(least frequently used) activities.&lt;br /&gt;
* Implement the selection based download feature from the Owncloud repository.&lt;br /&gt;
* Modify the read/write access to the online cloud storage in accordance with the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|16 August to 18 August&lt;br /&gt;
|&lt;br /&gt;
* UI improvements.&lt;br /&gt;
* Improve code efficiency.&lt;br /&gt;
* Send PRs for review from community members.&lt;br /&gt;
|-&lt;br /&gt;
|19 August to 22 August&lt;br /&gt;
|&lt;br /&gt;
* Fix bugs.&lt;br /&gt;
* Document the implemented feature on respective wiki pages and describe the features.&lt;br /&gt;
* Add comments that will help further development.&lt;br /&gt;
|-&lt;br /&gt;
|23 August&lt;br /&gt;
|&#039;&#039;&#039;Final Evaluation&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The number of activities (visually attractiveǃ) that I had developed since last year shows my dedication towards Sugar community.&lt;br /&gt;
My developer profile - [http://activities.sugarlabs.org/en-US/sugar/user/13555 http://activities.sugarlabs.org/en-US/sugar/user/13555]&lt;br /&gt;
I have also been contributing to The Processing Foundation since last December which made me. (commits linked above)&lt;br /&gt;
&lt;br /&gt;
I have also worked on some projects in my school, knowledge of which will help me in accomplishing the proposed tasks for this summer-&lt;br /&gt;
&lt;br /&gt;
* Design a GUI on JavaFX and Swing with basic Git features like branch, merge, diff, commit, revert, etc. alongwith Dropbox API integration to provide online repository storage . &lt;br /&gt;
link - [https://github.com/iamutkarshtiwari/raptor https://github.com/iamutkarshtiwari/raptor]&lt;br /&gt;
&lt;br /&gt;
* Flappy bird design on C language-[https://github.com/iamutkarshtiwari/Flappy-Bird-on-C- https://github.com/iamutkarshtiwari/Flappy-Bird-on-C-]&lt;br /&gt;
* Snake game module on C- [https://github.com/iamutkarshtiwari/Snake-game-module]&lt;br /&gt;
&lt;br /&gt;
===You and the community===&lt;br /&gt;
* If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&lt;br /&gt;
&lt;br /&gt;
* What will you do if you get stuck on your project and your mentor isn&#039;t around?&lt;br /&gt;
If my mentor is not around, there would be other open source developers on IRC whom I can reach out for help. I also have a lot of seniors in my college who have been working on wide range of open source projects (like MWOS, OWASP, GSoC) and they are very helpful. So there are a lot of ways I can tackle a problem I&#039;m stuck on when my mentor isn&#039;t available. Well thoughout my previous development experience &#039;StackOverflow&#039; has been a lot useful, so I can also look up for the solution there. In worst case, I will try to look up for the solution on the internet as I usually do and tackle the problem myself.&lt;br /&gt;
&lt;br /&gt;
* How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&lt;br /&gt;
&lt;br /&gt;
I am planning on maintaining a wiki page every weekend regarding the project. As far daily progress is concerned, I will pass on the project links to my mentor on IRC whenever I&#039;ll find him active to get a quick review. I&#039;ll also create a thread on Mailing list to post regular updates regarding the project developments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* We want to make sure that you can set up a [http://developer.sugarlabs.org development environment] before the summer starts. Please do &#039;&#039;one&#039;&#039; of the following:&lt;br /&gt;
* Send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of &amp;quot;logout&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
                   http://imgur.com/kZwyivD.png&lt;br /&gt;
&lt;br /&gt;
** &#039;&#039;&#039;Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have added some long needed features to Browse activity and Sugar Journal. PRs (&amp;lt;b&amp;gt;Screenshots attached in the PR comment section &amp;lt;/b&amp;gt;) -&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added download progress tool icon to [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/24 https://github.com/sugarlabs/browse-activity/pull/24] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved autocomplete list [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/27 https://github.com/sugarlabs/browse-activity/pull/27]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved bookmark management of [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/26 https://github.com/sugarlabs/browse-activity/pull/26]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Function name typo fixed in [BROWSE]ː [https://github.com/sugarlabs/sugar/pull/664 https://github.com/sugarlabs/sugar/pull/664]&amp;lt;b&amp;gt;(Merged)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a &amp;lt;b&amp;gt;ProgressToolButton&amp;lt;/b&amp;gt; module to [SUGAR-TOOLKIT-GTK3] used in Browse(also usable in other activities)ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The above &amp;lt;b&amp;gt;ProgressToolButton module&amp;lt;/b&amp;gt; was used by Mr. James Cameron in one of his patches for Clock Activityː [https://github.com/godiard/clock-activity/pull/2 https://github.com/godiard/clock-activity/pull/2] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a toolbutton to BookmarkTray for Browse-activity in [SUGAR-TOOLKIT-GTK3]ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added keyboard accessibility to [JOURNAL]ː  [https://github.com/sugarlabs/sugar/pull/667 https://github.com/sugarlabs/sugar/pull/667]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When I was child, most of my learning was because the games(chinese checkers, scribble, puzzles, etc) I used to play my at my school. Since I am pretty good at geometry, my teacher being impressed with my skills once asked me to help her teach other students to draw different geometrical figures using basic tools like-compass, protractor, divider and set-squares. It made me feel really nice helping others with their learning. I owe my logical thinking to the games I used to play when I was a kid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&lt;br /&gt;
I am pretty good at taking up challenging tasks(I introduced some cool features in Sugar that have been requested since a long time ;)) which seem difficult to others. After the completion of my project I would like to continue with my work on adding keyboard accessibility to Journal and download manager improvement in Browse. I am also planning to write an API (as suggested by Mr.Sam Parkinson) to extend keyboard accessibility to Sugar which would help kids to operate Sugar even without a mouse or some other pointing device. I would also like to mentor a student in GCI 2017 for Sugarlabs.&lt;br /&gt;
&lt;br /&gt;
Please include the category tag at the bottom of your page the Category tag for 2016 GSoC applications.&lt;br /&gt;
&lt;br /&gt;
[[Category:2016 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97432</id>
		<title>Summer of Code/2016/SugarJournalSaveOption UtkarshT</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97432"/>
		<updated>2016-03-23T22:54:08Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Miscellaneous */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About You ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My name is &amp;lt;b&amp;gt;Utkarsh Tiwari&amp;lt;/b&amp;gt;, and I am a 3rd year undergraduate student at [http://jiit.ac.in Jaypee Institute of  Information Technology], India.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My email address is &amp;lt;b&amp;gt;iamutkarshtiwari@gmail.com&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My Sugar Labs wiki username is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your IRC nickname on irc.freenode.net?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My IRC nickname is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your first language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My first language of communication is Hindi and I am also fluent in English.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where are you located, and what hours (UTC) do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Uttar Pradesh, India&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time Zone:&#039;&#039;&#039; UTC + 5:30 (India Standard Time)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Working hours:&#039;&#039;&#039; I usually tend to work in afternoons (1PM-5PM) and nights (9PM-2AM). I will remain active on irc during my working hours.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
I have only recently begun contributing to open source projects. I am one of the coordinators of the &amp;lt;b&amp;gt;OSDC&amp;lt;/b&amp;gt; ([https://www.facebook.com/groups/jiitlug/ Open Source Developers Club]) group of my college and have delivered and coordinated talks/workshops on technologies like Pygame, Using Git, JavaFx(Swing) and many more.&amp;lt;br&amp;gt;&lt;br /&gt;
I have also been contributing to &amp;lt;b&amp;gt;The Processing Foundation&amp;lt;/b&amp;gt; since December 2015 and have fixed couple of bugs and introduced some new features to their Java and Javascript based IDEs.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to the PRs I have pushed-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(Java)-&amp;gt;  [https://github.com/processing/processing/pulls?utf8=%E2%9C%93&amp;amp;q=+is%3Apr+author%3Aiamutkarshtiwari+ Features + Bugs]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(P5.js)-&amp;gt;  [https://github.com/processing/p5.js/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Aiamutkarshtiwari+is%3Amerged Bug]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why SugarLabs?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am in love(kind of obsessed! :D) with the work being done here which keeps me driving to contribute more in all the possible ways I can. It feels great seeing my activities being downloaded by kids and children from all around the world. Nothing makes me more happy than knowing that the code I write is serving the learning of millions of children.&amp;lt;br&amp;gt;It will be a great experience to work on a project that will introduce some nice feature which will make collaborative learning more easy and enjoyable!&lt;br /&gt;
I started contributing to Sugar Core since this February. Before that, I had already developed &amp;lt;b&amp;gt;6 Sugar activities&amp;lt;/b&amp;gt; and I am constantly mantaining them.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to my Sugar activities-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[http://activities.sugarlabs.org/en-US/sugar/addon/4773 Sonic Jump]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4772 Stick Hero]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4774 Flappy Birds]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4775 2 Cars]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4767 Make them fall]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4765 Buttons and Scissors]&amp;lt;br&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Github profile link - [https://github.com/iamutkarshtiwari https://github.com/iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I have also completed the &amp;lt;b&amp;gt;Hindi translations&amp;lt;/b&amp;gt; of activities listed below-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sugar(core)&amp;lt;br&amp;gt;&lt;br /&gt;
Turtleart&amp;lt;br&amp;gt;&lt;br /&gt;
Memorize&amp;lt;br&amp;gt;&lt;br /&gt;
Biorhythm&amp;lt;br&amp;gt;&lt;br /&gt;
TurtleblocksJS&amp;lt;br&amp;gt;&lt;br /&gt;
Paint&amp;lt;br&amp;gt;&lt;br /&gt;
Chat&amp;lt;br&amp;gt;&lt;br /&gt;
Card sort&amp;lt;br&amp;gt;&lt;br /&gt;
ImageViewer&amp;lt;br&amp;gt;&lt;br /&gt;
Physics &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pootle profile link-[http://translate.sugarlabs.org/accounts/iamutkarshtiwari/ iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
P.S.- Pending translations are still under process.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am excited to work with Sugarlabs this summer! Working on a 3 months scaled project needs dedication and passion which I both possess. I am looking forward to making some significant contributions to Sugarlabs by working in collaboration with some highly skilled programmers from around the world and learn new technologies and methodologies from them to enhance my knowledge.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
We are looking for projects that will enhance the Sugar Learning Platform. Please consider how your project will have impact on children learning.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sugar on the Ground&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&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.) This project is related to making Sugar more usable under such circumstances.&lt;br /&gt;
&lt;br /&gt;
Features proposed-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal save option&amp;lt;/b&amp;gt; - This feature introduces a save facility inside Sugar where the user can save the current running activity instance by name of his choice when an activity is closed. The key is to give the user a way to do what is needed, but not to force it.&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 alert dialog at close time requesting the user to supply a name or &#039;not save&#039; the document. If the document has a user supplied name (by the standard activity toolbar icon), the dialog could request the user to save or to provide a new name to create a new document. &lt;br /&gt;
When a user resumes an activity, if the user quits, it should be saved by overwriting the previous Journal object (the current default).&lt;br /&gt;
If the user wants to ignore it, he can simply do so by selecting &#039;cancel&#039; option. &lt;br /&gt;
&lt;br /&gt;
In this way an unnecessary instance(it&#039;s data and metadata) wont be stored in the Journal thus saving significant space on XO by not storing irrelevant activity instances. &lt;br /&gt;
&lt;br /&gt;
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 feature will give the user the ability to manage versions by using unique names.&lt;br /&gt;
&lt;br /&gt;
Here are some mockups I designed-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save alert popup on close ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/p7qg61i.png&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save as alert popup ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/RxZpbxx.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Overwrite if name already exists in Journal ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/4C5Yt6v.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Saving with a new name ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
             http://imgur.com/n0GFgRj.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Screenshot save option-&amp;lt;/b&amp;gt;  Currently, Sugar simply saves a screenshot (without any notification) by naming it as &#039;Screenhot of X&#039;. With the proposed feature, while taking a screenshot user will be notified with a alert(like in Ubuntu) to provide a name for that screeshot along with the captured image of that shot. In this way user can save his screenshot as per specified name which can later help him remember why he took that snapshot.&lt;br /&gt;
&lt;br /&gt;
Here is a mockup for the proposed screenshot feature -&amp;gt; &lt;br /&gt;
             &lt;br /&gt;
             http://imgur.com/2uizzqh.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal activity resume feature-&amp;lt;/b&amp;gt; &lt;br /&gt;
Currently 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 will set the Home View default to launch a new instance on single click on an activity icon, whereas if a user &#039;Alt&#039;+&amp;quot;Click&amp;quot;ing an activity icon, should resume the latest instance of that activity. If the user wants to resume any previous activity, that can be achieved by choosing named(save as) instances in the Journal. 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;
Here is a flowchart to demonstrate the mechanism of this feature-&lt;br /&gt;
&lt;br /&gt;
              http://imgur.com/dl4cyZw.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal back and restore-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Many of Sugar deployments are to areas where the purchase of a usb stick is problematic. The real problem is that the available storage for the Journal runs out. However, a straight backup and restore cannot create space to enlarge the effective size of the Journal. The Journal on the XO should be a cache for active items and the rest should be stored on a school server (a server with a large hard drive capable of storing the Journal objects for all XOs in the deployment. OLPC, at one point, suggested a reserve of 2GB per XO (e.g. 200GB for a 100 XO deployment). A simple example would be a RAM(XO) and Secondary storage(school servers) in PCs. &lt;br /&gt;
&lt;br /&gt;
This feature will provide a way for users to deal with a full storage without significant technical skills. Currently the Journal, installed activities, and content files in /lhome/olpc/Library can contribute to filling the store. With a school server, a scheme to provide least-recently-used offload of content becomes possible. If all activities are available for download, least-recently used activities can be erased. If the Journal is stored on the school server, journal objects can be deleted locally (and later restored as needed). The motivation for the content /home/olpc/Library goes away if that content can be downloaded to the Journal as needed. The problem with the current scheme is that at best it is a sampler of the content sources (e.g. wikibooks). It would be better to put all of the content on the school server and have users download as needed. &lt;br /&gt;
&lt;br /&gt;
Here is a flowchart to demonstrate the above proposed mechanism-&amp;gt; &lt;br /&gt;
&lt;br /&gt;
               http://imgur.com/erPemnF.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; What is the timeline for development of your project? The Summer of Code work period is from mid-May  to mid-August; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it&#039;s good to have a plan at the beginning so you have an idea of where you&#039;re headed.) Note that you should probably plan to have something &amp;quot;working and 90% done&amp;quot; by the midterm evaluation (end of June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 150px;&amp;quot; | Days&lt;br /&gt;
!Task&lt;br /&gt;
|-&lt;br /&gt;
|24th April to 9th May&lt;br /&gt;
|&lt;br /&gt;
* Community bonding period. &lt;br /&gt;
* Gain consensus of the community on the designs and UI of the proposed features.&lt;br /&gt;
* Understand the working of Sugar codebase ( I already have some handson experience with Sugar)&lt;br /&gt;
* Discuss the specifications of all the features proposed with Mr.Tony Anderson and other community members.&lt;br /&gt;
|-&lt;br /&gt;
|10th May to 30th May&lt;br /&gt;
|Start developing &#039;save as&#039; alert popup.&lt;br /&gt;
* Write a new alert popup module wrapped over Alert class of Suga-toolkit-gtk3.&lt;br /&gt;
* Integrate the alert module to the Sugar activity base class.&lt;br /&gt;
* Code the automatic save feature to the resumable activities.&lt;br /&gt;
|-&lt;br /&gt;
|31 May to 1st June&lt;br /&gt;
|Send in patches to be reviewed by community.&lt;br /&gt;
Make necessary changes as per suggestions by the mentor.&lt;br /&gt;
|-&lt;br /&gt;
|2nd June to 15th June&lt;br /&gt;
|Start writing the screenshot popup alert.&lt;br /&gt;
* Code a new screenshot popup alert module include text entry, screenshot preview and interactive buttons.&lt;br /&gt;
* Make adjustments to the activity base class file and to home view to make the module compatible with them.&lt;br /&gt;
|-&lt;br /&gt;
|16th June to 17th June&lt;br /&gt;
|Send in patches for review by the mentor.&lt;br /&gt;
Make necessary modifications to the patches.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18th June to 24th June&lt;br /&gt;
|Discuss the backend working of the feature with mentor.&lt;br /&gt;
Design the layout for the user interface modications.&lt;br /&gt;
Start working on activity resume feature.&lt;br /&gt;
|-&lt;br /&gt;
|25th June to 26th June&lt;br /&gt;
|Prepare for midterm evaluation.&lt;br /&gt;
Re-evaluate the submitted patches and update the documentations.&lt;br /&gt;
&#039;Save As&#039; alert and Screenshot alert would be implemented by the midterm evaluation.&lt;br /&gt;
|-&lt;br /&gt;
|27th June to 28th June&lt;br /&gt;
|&#039;&#039;&#039;Midterm Evaluation&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|29th June to 5th July&lt;br /&gt;
|Buffer Week&lt;br /&gt;
|-&lt;br /&gt;
|6th July to 15th July&lt;br /&gt;
|Continue with the work on &#039;Activity resume&#039; feature.&lt;br /&gt;
Work on the home view to implement one Click and &amp;lt;Alt&amp;gt;Click start/resume facility.&lt;br /&gt;
|-&lt;br /&gt;
|16th July to 17th July&lt;br /&gt;
|&lt;br /&gt;
* Send in patch for review.&lt;br /&gt;
* Test the overall stability of the all the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|18th July to 19th July&lt;br /&gt;
| Would like to a day or 2 days off.&lt;br /&gt;
|-&lt;br /&gt;
|20 July to 15 July&lt;br /&gt;
|Discuss the Sugar backup-restore specifications with the mentor.&lt;br /&gt;
* Understand the current backup/restore mechanism as developed by Mr.Martin Langhoff.&lt;br /&gt;
* Redesign the resync feature and add user selection based upload to Owncloud repository.&lt;br /&gt;
* Code the automatic garbage cleanup to free up space occupied by unnecessary(least frequently used) activities.&lt;br /&gt;
* Implement the selection based download feature from the Owncloud repository.&lt;br /&gt;
* Modify the read/write access to the online cloud storage in accordance with the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|16 August to 18 August&lt;br /&gt;
|&lt;br /&gt;
* UI improvements.&lt;br /&gt;
* Improve code efficiency.&lt;br /&gt;
* Send PRs for review from community members.&lt;br /&gt;
|-&lt;br /&gt;
|19 August to 22 August&lt;br /&gt;
|&lt;br /&gt;
* Fix bugs.&lt;br /&gt;
* Document the implemented feature on respective wiki pages and describe the features.&lt;br /&gt;
* Add comments that will help further development.&lt;br /&gt;
|-&lt;br /&gt;
|23 August&lt;br /&gt;
|&#039;&#039;&#039;Final Evaluation&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===You and the community===&lt;br /&gt;
* If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&lt;br /&gt;
* What will you do if you get stuck on your project and your mentor isn&#039;t around?&lt;br /&gt;
* How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* We want to make sure that you can set up a [http://developer.sugarlabs.org development environment] before the summer starts. Please do &#039;&#039;one&#039;&#039; of the following:&lt;br /&gt;
* Send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of &amp;quot;logout&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
                   http://imgur.com/kZwyivD.png&lt;br /&gt;
&lt;br /&gt;
** &#039;&#039;&#039;Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have added some long needed features to Browse activity and Sugar Journal. PRs (&amp;lt;b&amp;gt;Screenshots attached in the PR comment section &amp;lt;/b&amp;gt;) -&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added download progress tool icon to [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/24 https://github.com/sugarlabs/browse-activity/pull/24] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved autocomplete list [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/27 https://github.com/sugarlabs/browse-activity/pull/27]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved bookmark management of [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/26 https://github.com/sugarlabs/browse-activity/pull/26]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Function name typo fixed in [BROWSE]ː [https://github.com/sugarlabs/sugar/pull/664 https://github.com/sugarlabs/sugar/pull/664]&amp;lt;b&amp;gt;(Merged)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a &amp;lt;b&amp;gt;ProgressToolButton&amp;lt;/b&amp;gt; module to [SUGAR-TOOLKIT-GTK3] used in Browse(also usable in other activities)ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The above &amp;lt;b&amp;gt;ProgressToolButton module&amp;lt;/b&amp;gt; was used by Mr. James Cameron in one of his patches for Clock Activityː [https://github.com/godiard/clock-activity/pull/2 https://github.com/godiard/clock-activity/pull/2] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a toolbutton to BookmarkTray for Browse-activity in [SUGAR-TOOLKIT-GTK3]ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added keyboard accessibility to [JOURNAL]ː  [https://github.com/sugarlabs/sugar/pull/667 https://github.com/sugarlabs/sugar/pull/667]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When I was child, most of my learning was because the games(chinese checkers, scribble, puzzles, etc) I used to play my at my school. Since I am pretty good at geometry, my teacher being impressed with my skills once asked me to help her teach other students to draw different geometrical figures using basic tools like-compass, protractor, divider and set-squares. It made me feel really nice helping others with their learning. I owe my logical thinking to the games I used to play when I was a kid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&lt;br /&gt;
I am pretty good at taking up challenging tasks(I introduced some cool features in Sugar that have been requested since a long time ;)) which seem difficult to others. After the completion of my project I would like to continue with my work on adding keyboard accessibility to Journal and download manager improvement in Browse. I am also planning to write an API (as suggested by Mr.Sam Parkinson) to extend keyboard accessibility to Sugar which would help kids to operate Sugar even without a mouse or some other pointing device. I would also like to mentor a student in GCI 2017 for Sugarlabs.&lt;br /&gt;
&lt;br /&gt;
Please include the category tag at the bottom of your page the Category tag for 2016 GSoC applications.&lt;br /&gt;
&lt;br /&gt;
[[Category:2016 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97431</id>
		<title>Summer of Code/2016/SugarJournalSaveOption UtkarshT</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97431"/>
		<updated>2016-03-23T22:53:10Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* Miscellaneous */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About You ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My name is &amp;lt;b&amp;gt;Utkarsh Tiwari&amp;lt;/b&amp;gt;, and I am a 3rd year undergraduate student at [http://jiit.ac.in Jaypee Institute of  Information Technology], India.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My email address is &amp;lt;b&amp;gt;iamutkarshtiwari@gmail.com&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My Sugar Labs wiki username is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your IRC nickname on irc.freenode.net?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My IRC nickname is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your first language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My first language of communication is Hindi and I am also fluent in English.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where are you located, and what hours (UTC) do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Uttar Pradesh, India&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time Zone:&#039;&#039;&#039; UTC + 5:30 (India Standard Time)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Working hours:&#039;&#039;&#039; I usually tend to work in afternoons (1PM-5PM) and nights (9PM-2AM). I will remain active on irc during my working hours.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
I have only recently begun contributing to open source projects. I am one of the coordinators of the &amp;lt;b&amp;gt;OSDC&amp;lt;/b&amp;gt; ([https://www.facebook.com/groups/jiitlug/ Open Source Developers Club]) group of my college and have delivered and coordinated talks/workshops on technologies like Pygame, Using Git, JavaFx(Swing) and many more.&amp;lt;br&amp;gt;&lt;br /&gt;
I have also been contributing to &amp;lt;b&amp;gt;The Processing Foundation&amp;lt;/b&amp;gt; since December 2015 and have fixed couple of bugs and introduced some new features to their Java and Javascript based IDEs.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to the PRs I have pushed-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(Java)-&amp;gt;  [https://github.com/processing/processing/pulls?utf8=%E2%9C%93&amp;amp;q=+is%3Apr+author%3Aiamutkarshtiwari+ Features + Bugs]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(P5.js)-&amp;gt;  [https://github.com/processing/p5.js/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Aiamutkarshtiwari+is%3Amerged Bug]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why SugarLabs?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am in love(kind of obsessed! :D) with the work being done here which keeps me driving to contribute more in all the possible ways I can. It feels great seeing my activities being downloaded by kids and children from all around the world. Nothing makes me more happy than knowing that the code I write is serving the learning of millions of children.&amp;lt;br&amp;gt;It will be a great experience to work on a project that will introduce some nice feature which will make collaborative learning more easy and enjoyable!&lt;br /&gt;
I started contributing to Sugar Core since this February. Before that, I had already developed &amp;lt;b&amp;gt;6 Sugar activities&amp;lt;/b&amp;gt; and I am constantly mantaining them.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to my Sugar activities-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[http://activities.sugarlabs.org/en-US/sugar/addon/4773 Sonic Jump]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4772 Stick Hero]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4774 Flappy Birds]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4775 2 Cars]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4767 Make them fall]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4765 Buttons and Scissors]&amp;lt;br&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Github profile link - [https://github.com/iamutkarshtiwari https://github.com/iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I have also completed the &amp;lt;b&amp;gt;Hindi translations&amp;lt;/b&amp;gt; of activities listed below-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sugar(core)&amp;lt;br&amp;gt;&lt;br /&gt;
Turtleart&amp;lt;br&amp;gt;&lt;br /&gt;
Memorize&amp;lt;br&amp;gt;&lt;br /&gt;
Biorhythm&amp;lt;br&amp;gt;&lt;br /&gt;
TurtleblocksJS&amp;lt;br&amp;gt;&lt;br /&gt;
Paint&amp;lt;br&amp;gt;&lt;br /&gt;
Chat&amp;lt;br&amp;gt;&lt;br /&gt;
Card sort&amp;lt;br&amp;gt;&lt;br /&gt;
ImageViewer&amp;lt;br&amp;gt;&lt;br /&gt;
Physics &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pootle profile link-[http://translate.sugarlabs.org/accounts/iamutkarshtiwari/ iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
P.S.- Pending translations are still under process.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am excited to work with Sugarlabs this summer! Working on a 3 months scaled project needs dedication and passion which I both possess. I am looking forward to making some significant contributions to Sugarlabs by working in collaboration with some highly skilled programmers from around the world and learn new technologies and methodologies from them to enhance my knowledge.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
We are looking for projects that will enhance the Sugar Learning Platform. Please consider how your project will have impact on children learning.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sugar on the Ground&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&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.) This project is related to making Sugar more usable under such circumstances.&lt;br /&gt;
&lt;br /&gt;
Features proposed-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal save option&amp;lt;/b&amp;gt; - This feature introduces a save facility inside Sugar where the user can save the current running activity instance by name of his choice when an activity is closed. The key is to give the user a way to do what is needed, but not to force it.&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 alert dialog at close time requesting the user to supply a name or &#039;not save&#039; the document. If the document has a user supplied name (by the standard activity toolbar icon), the dialog could request the user to save or to provide a new name to create a new document. &lt;br /&gt;
When a user resumes an activity, if the user quits, it should be saved by overwriting the previous Journal object (the current default).&lt;br /&gt;
If the user wants to ignore it, he can simply do so by selecting &#039;cancel&#039; option. &lt;br /&gt;
&lt;br /&gt;
In this way an unnecessary instance(it&#039;s data and metadata) wont be stored in the Journal thus saving significant space on XO by not storing irrelevant activity instances. &lt;br /&gt;
&lt;br /&gt;
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 feature will give the user the ability to manage versions by using unique names.&lt;br /&gt;
&lt;br /&gt;
Here are some mockups I designed-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save alert popup on close ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/p7qg61i.png&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save as alert popup ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/RxZpbxx.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Overwrite if name already exists in Journal ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/4C5Yt6v.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Saving with a new name ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
             http://imgur.com/n0GFgRj.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Screenshot save option-&amp;lt;/b&amp;gt;  Currently, Sugar simply saves a screenshot (without any notification) by naming it as &#039;Screenhot of X&#039;. With the proposed feature, while taking a screenshot user will be notified with a alert(like in Ubuntu) to provide a name for that screeshot along with the captured image of that shot. In this way user can save his screenshot as per specified name which can later help him remember why he took that snapshot.&lt;br /&gt;
&lt;br /&gt;
Here is a mockup for the proposed screenshot feature -&amp;gt; &lt;br /&gt;
             &lt;br /&gt;
             http://imgur.com/2uizzqh.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal activity resume feature-&amp;lt;/b&amp;gt; &lt;br /&gt;
Currently 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 will set the Home View default to launch a new instance on single click on an activity icon, whereas if a user &#039;Alt&#039;+&amp;quot;Click&amp;quot;ing an activity icon, should resume the latest instance of that activity. If the user wants to resume any previous activity, that can be achieved by choosing named(save as) instances in the Journal. 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;
Here is a flowchart to demonstrate the mechanism of this feature-&lt;br /&gt;
&lt;br /&gt;
              http://imgur.com/dl4cyZw.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal back and restore-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Many of Sugar deployments are to areas where the purchase of a usb stick is problematic. The real problem is that the available storage for the Journal runs out. However, a straight backup and restore cannot create space to enlarge the effective size of the Journal. The Journal on the XO should be a cache for active items and the rest should be stored on a school server (a server with a large hard drive capable of storing the Journal objects for all XOs in the deployment. OLPC, at one point, suggested a reserve of 2GB per XO (e.g. 200GB for a 100 XO deployment). A simple example would be a RAM(XO) and Secondary storage(school servers) in PCs. &lt;br /&gt;
&lt;br /&gt;
This feature will provide a way for users to deal with a full storage without significant technical skills. Currently the Journal, installed activities, and content files in /lhome/olpc/Library can contribute to filling the store. With a school server, a scheme to provide least-recently-used offload of content becomes possible. If all activities are available for download, least-recently used activities can be erased. If the Journal is stored on the school server, journal objects can be deleted locally (and later restored as needed). The motivation for the content /home/olpc/Library goes away if that content can be downloaded to the Journal as needed. The problem with the current scheme is that at best it is a sampler of the content sources (e.g. wikibooks). It would be better to put all of the content on the school server and have users download as needed. &lt;br /&gt;
&lt;br /&gt;
Here is a flowchart to demonstrate the above proposed mechanism-&amp;gt; &lt;br /&gt;
&lt;br /&gt;
               http://imgur.com/erPemnF.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; What is the timeline for development of your project? The Summer of Code work period is from mid-May  to mid-August; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it&#039;s good to have a plan at the beginning so you have an idea of where you&#039;re headed.) Note that you should probably plan to have something &amp;quot;working and 90% done&amp;quot; by the midterm evaluation (end of June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 150px;&amp;quot; | Days&lt;br /&gt;
!Task&lt;br /&gt;
|-&lt;br /&gt;
|24th April to 9th May&lt;br /&gt;
|&lt;br /&gt;
* Community bonding period. &lt;br /&gt;
* Gain consensus of the community on the designs and UI of the proposed features.&lt;br /&gt;
* Understand the working of Sugar codebase ( I already have some handson experience with Sugar)&lt;br /&gt;
* Discuss the specifications of all the features proposed with Mr.Tony Anderson and other community members.&lt;br /&gt;
|-&lt;br /&gt;
|10th May to 30th May&lt;br /&gt;
|Start developing &#039;save as&#039; alert popup.&lt;br /&gt;
* Write a new alert popup module wrapped over Alert class of Suga-toolkit-gtk3.&lt;br /&gt;
* Integrate the alert module to the Sugar activity base class.&lt;br /&gt;
* Code the automatic save feature to the resumable activities.&lt;br /&gt;
|-&lt;br /&gt;
|31 May to 1st June&lt;br /&gt;
|Send in patches to be reviewed by community.&lt;br /&gt;
Make necessary changes as per suggestions by the mentor.&lt;br /&gt;
|-&lt;br /&gt;
|2nd June to 15th June&lt;br /&gt;
|Start writing the screenshot popup alert.&lt;br /&gt;
* Code a new screenshot popup alert module include text entry, screenshot preview and interactive buttons.&lt;br /&gt;
* Make adjustments to the activity base class file and to home view to make the module compatible with them.&lt;br /&gt;
|-&lt;br /&gt;
|16th June to 17th June&lt;br /&gt;
|Send in patches for review by the mentor.&lt;br /&gt;
Make necessary modifications to the patches.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18th June to 24th June&lt;br /&gt;
|Discuss the backend working of the feature with mentor.&lt;br /&gt;
Design the layout for the user interface modications.&lt;br /&gt;
Start working on activity resume feature.&lt;br /&gt;
|-&lt;br /&gt;
|25th June to 26th June&lt;br /&gt;
|Prepare for midterm evaluation.&lt;br /&gt;
Re-evaluate the submitted patches and update the documentations.&lt;br /&gt;
&#039;Save As&#039; alert and Screenshot alert would be implemented by the midterm evaluation.&lt;br /&gt;
|-&lt;br /&gt;
|27th June to 28th June&lt;br /&gt;
|&#039;&#039;&#039;Midterm Evaluation&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|29th June to 5th July&lt;br /&gt;
|Buffer Week&lt;br /&gt;
|-&lt;br /&gt;
|6th July to 15th July&lt;br /&gt;
|Continue with the work on &#039;Activity resume&#039; feature.&lt;br /&gt;
Work on the home view to implement one Click and &amp;lt;Alt&amp;gt;Click start/resume facility.&lt;br /&gt;
|-&lt;br /&gt;
|16th July to 17th July&lt;br /&gt;
|&lt;br /&gt;
* Send in patch for review.&lt;br /&gt;
* Test the overall stability of the all the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|18th July to 19th July&lt;br /&gt;
| Would like to a day or 2 days off.&lt;br /&gt;
|-&lt;br /&gt;
|20 July to 15 July&lt;br /&gt;
|Discuss the Sugar backup-restore specifications with the mentor.&lt;br /&gt;
* Understand the current backup/restore mechanism as developed by Mr.Martin Langhoff.&lt;br /&gt;
* Redesign the resync feature and add user selection based upload to Owncloud repository.&lt;br /&gt;
* Code the automatic garbage cleanup to free up space occupied by unnecessary(least frequently used) activities.&lt;br /&gt;
* Implement the selection based download feature from the Owncloud repository.&lt;br /&gt;
* Modify the read/write access to the online cloud storage in accordance with the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|16 August to 18 August&lt;br /&gt;
|&lt;br /&gt;
* UI improvements.&lt;br /&gt;
* Improve code efficiency.&lt;br /&gt;
* Send PRs for review from community members.&lt;br /&gt;
|-&lt;br /&gt;
|19 August to 22 August&lt;br /&gt;
|&lt;br /&gt;
* Fix bugs.&lt;br /&gt;
* Document the implemented feature on respective wiki pages and describe the features.&lt;br /&gt;
* Add comments that will help further development.&lt;br /&gt;
|-&lt;br /&gt;
|23 August&lt;br /&gt;
|&#039;&#039;&#039;Final Evaluation&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===You and the community===&lt;br /&gt;
* If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&lt;br /&gt;
* What will you do if you get stuck on your project and your mentor isn&#039;t around?&lt;br /&gt;
* How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* We want to make sure that you can set up a [http://developer.sugarlabs.org development environment] before the summer starts. Please do &#039;&#039;one&#039;&#039; of the following:&lt;br /&gt;
** Send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of &amp;quot;logout&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
                   http://imgur.com/kZwyivD.png&lt;br /&gt;
&lt;br /&gt;
** Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.&lt;br /&gt;
&lt;br /&gt;
I have added some long needed features to Browse activity and Sugar Journal. PRs (&amp;lt;b&amp;gt;Screenshots attached in the PR comment section &amp;lt;/b&amp;gt;) -&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added download progress tool icon to [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/24 https://github.com/sugarlabs/browse-activity/pull/24] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved autocomplete list [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/27 https://github.com/sugarlabs/browse-activity/pull/27]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved bookmark management of [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/26 https://github.com/sugarlabs/browse-activity/pull/26]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Function name typo fixed in [BROWSE]ː [https://github.com/sugarlabs/sugar/pull/664 https://github.com/sugarlabs/sugar/pull/664]&amp;lt;b&amp;gt;(Merged)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a &amp;lt;b&amp;gt;ProgressToolButton&amp;lt;/b&amp;gt; module to [SUGAR-TOOLKIT-GTK3] used in Browse(also usable in other activities)ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The above &amp;lt;b&amp;gt;ProgressToolButton module&amp;lt;/b&amp;gt; was used by Mr. James Cameron in one of his patches for Clock Activityː [https://github.com/godiard/clock-activity/pull/2 https://github.com/godiard/clock-activity/pull/2] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a toolbutton to BookmarkTray for Browse-activity in [SUGAR-TOOLKIT-GTK3]ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added keyboard accessibility to [JOURNAL]ː  [https://github.com/sugarlabs/sugar/pull/667 https://github.com/sugarlabs/sugar/pull/667]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Describe a great learning experience you had as a child.&lt;br /&gt;
&lt;br /&gt;
When I was child, most of my learning was because the games(chinese checkers, scribble, puzzles, etc) I used to play my at my school. Since I am pretty good at geometry, my teacher being impressed with my skills once asked me to help her teach other students to draw different geometrical figures using basic tools like-compass, protractor, divider and set-squares. It made me feel really nice helping others with their learning. I owe my logical thinking to the games I used to play when I was a kid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&lt;br /&gt;
I am pretty good at taking up challenging tasks(I introduced some cool features in Sugar that have been requested since a long time ;)) which seem difficult to others. After the completion of my project I would like to continue with my work on adding keyboard accessibility to Journal and download manager improvement in Browse. I am also planning to write an API (as suggested by Mr.Sam Parkinson) to extend keyboard accessibility to Sugar which would help kids to operate Sugar even without a mouse or some other pointing device. I would also like to mentor a student in GCI 2017 for Sugarlabs.&lt;br /&gt;
&lt;br /&gt;
Please include the category tag at the bottom of your page the Category tag for 2016 GSoC applications.&lt;br /&gt;
&lt;br /&gt;
[[Category:2016 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97430</id>
		<title>Summer of Code/2016/SugarJournalSaveOption UtkarshT</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2016/SugarJournalSaveOption_UtkarshT&amp;diff=97430"/>
		<updated>2016-03-23T22:46:35Z</updated>

		<summary type="html">&lt;p&gt;Iamutkarshtiwari: /* About your project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About You ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My name is &amp;lt;b&amp;gt;Utkarsh Tiwari&amp;lt;/b&amp;gt;, and I am a 3rd year undergraduate student at [http://jiit.ac.in Jaypee Institute of  Information Technology], India.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My email address is &amp;lt;b&amp;gt;iamutkarshtiwari@gmail.com&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My Sugar Labs wiki username is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your IRC nickname on irc.freenode.net?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My IRC nickname is &amp;lt;b&amp;gt;iamutkarshtiwari&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your first language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My first language of communication is Hindi and I am also fluent in English.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Where are you located, and what hours (UTC) do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Uttar Pradesh, India&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time Zone:&#039;&#039;&#039; UTC + 5:30 (India Standard Time)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Working hours:&#039;&#039;&#039; I usually tend to work in afternoons (1PM-5PM) and nights (9PM-2AM). I will remain active on irc during my working hours.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
I have only recently begun contributing to open source projects. I am one of the coordinators of the &amp;lt;b&amp;gt;OSDC&amp;lt;/b&amp;gt; ([https://www.facebook.com/groups/jiitlug/ Open Source Developers Club]) group of my college and have delivered and coordinated talks/workshops on technologies like Pygame, Using Git, JavaFx(Swing) and many more.&amp;lt;br&amp;gt;&lt;br /&gt;
I have also been contributing to &amp;lt;b&amp;gt;The Processing Foundation&amp;lt;/b&amp;gt; since December 2015 and have fixed couple of bugs and introduced some new features to their Java and Javascript based IDEs.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to the PRs I have pushed-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(Java)-&amp;gt;  [https://github.com/processing/processing/pulls?utf8=%E2%9C%93&amp;amp;q=+is%3Apr+author%3Aiamutkarshtiwari+ Features + Bugs]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;PDE(P5.js)-&amp;gt;  [https://github.com/processing/p5.js/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Aiamutkarshtiwari+is%3Amerged Bug]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why SugarLabs?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am in love(kind of obsessed! :D) with the work being done here which keeps me driving to contribute more in all the possible ways I can. It feels great seeing my activities being downloaded by kids and children from all around the world. Nothing makes me more happy than knowing that the code I write is serving the learning of millions of children.&amp;lt;br&amp;gt;It will be a great experience to work on a project that will introduce some nice feature which will make collaborative learning more easy and enjoyable!&lt;br /&gt;
I started contributing to Sugar Core since this February. Before that, I had already developed &amp;lt;b&amp;gt;6 Sugar activities&amp;lt;/b&amp;gt; and I am constantly mantaining them.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here are the links to my Sugar activities-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;[http://activities.sugarlabs.org/en-US/sugar/addon/4773 Sonic Jump]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4772 Stick Hero]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4774 Flappy Birds]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4775 2 Cars]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4767 Make them fall]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://activities.sugarlabs.org/en-US/sugar/addon/4765 Buttons and Scissors]&amp;lt;br&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Github profile link - [https://github.com/iamutkarshtiwari https://github.com/iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I have also completed the &amp;lt;b&amp;gt;Hindi translations&amp;lt;/b&amp;gt; of activities listed below-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sugar(core)&amp;lt;br&amp;gt;&lt;br /&gt;
Turtleart&amp;lt;br&amp;gt;&lt;br /&gt;
Memorize&amp;lt;br&amp;gt;&lt;br /&gt;
Biorhythm&amp;lt;br&amp;gt;&lt;br /&gt;
TurtleblocksJS&amp;lt;br&amp;gt;&lt;br /&gt;
Paint&amp;lt;br&amp;gt;&lt;br /&gt;
Chat&amp;lt;br&amp;gt;&lt;br /&gt;
Card sort&amp;lt;br&amp;gt;&lt;br /&gt;
ImageViewer&amp;lt;br&amp;gt;&lt;br /&gt;
Physics &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pootle profile link-[http://translate.sugarlabs.org/accounts/iamutkarshtiwari/ iamutkarshtiwari] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
P.S.- Pending translations are still under process.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am excited to work with Sugarlabs this summer! Working on a 3 months scaled project needs dedication and passion which I both possess. I am looking forward to making some significant contributions to Sugarlabs by working in collaboration with some highly skilled programmers from around the world and learn new technologies and methodologies from them to enhance my knowledge.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
We are looking for projects that will enhance the Sugar Learning Platform. Please consider how your project will have impact on children learning.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sugar on the Ground&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&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.) This project is related to making Sugar more usable under such circumstances.&lt;br /&gt;
&lt;br /&gt;
Features proposed-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal save option&amp;lt;/b&amp;gt; - This feature introduces a save facility inside Sugar where the user can save the current running activity instance by name of his choice when an activity is closed. The key is to give the user a way to do what is needed, but not to force it.&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 alert dialog at close time requesting the user to supply a name or &#039;not save&#039; the document. If the document has a user supplied name (by the standard activity toolbar icon), the dialog could request the user to save or to provide a new name to create a new document. &lt;br /&gt;
When a user resumes an activity, if the user quits, it should be saved by overwriting the previous Journal object (the current default).&lt;br /&gt;
If the user wants to ignore it, he can simply do so by selecting &#039;cancel&#039; option. &lt;br /&gt;
&lt;br /&gt;
In this way an unnecessary instance(it&#039;s data and metadata) wont be stored in the Journal thus saving significant space on XO by not storing irrelevant activity instances. &lt;br /&gt;
&lt;br /&gt;
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 feature will give the user the ability to manage versions by using unique names.&lt;br /&gt;
&lt;br /&gt;
Here are some mockups I designed-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save alert popup on close ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/p7qg61i.png&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Save as alert popup ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/RxZpbxx.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Overwrite if name already exists in Journal ː-&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
             http://imgur.com/4C5Yt6v.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Saving with a new name ː-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
             http://imgur.com/n0GFgRj.png&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Screenshot save option-&amp;lt;/b&amp;gt;  Currently, Sugar simply saves a screenshot (without any notification) by naming it as &#039;Screenhot of X&#039;. With the proposed feature, while taking a screenshot user will be notified with a alert(like in Ubuntu) to provide a name for that screeshot along with the captured image of that shot. In this way user can save his screenshot as per specified name which can later help him remember why he took that snapshot.&lt;br /&gt;
&lt;br /&gt;
Here is a mockup for the proposed screenshot feature -&amp;gt; &lt;br /&gt;
             &lt;br /&gt;
             http://imgur.com/2uizzqh.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal activity resume feature-&amp;lt;/b&amp;gt; &lt;br /&gt;
Currently 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 will set the Home View default to launch a new instance on single click on an activity icon, whereas if a user &#039;Alt&#039;+&amp;quot;Click&amp;quot;ing an activity icon, should resume the latest instance of that activity. If the user wants to resume any previous activity, that can be achieved by choosing named(save as) instances in the Journal. 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;
Here is a flowchart to demonstrate the mechanism of this feature-&lt;br /&gt;
&lt;br /&gt;
              http://imgur.com/dl4cyZw.png&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Sugar Journal back and restore-&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Many of Sugar deployments are to areas where the purchase of a usb stick is problematic. The real problem is that the available storage for the Journal runs out. However, a straight backup and restore cannot create space to enlarge the effective size of the Journal. The Journal on the XO should be a cache for active items and the rest should be stored on a school server (a server with a large hard drive capable of storing the Journal objects for all XOs in the deployment. OLPC, at one point, suggested a reserve of 2GB per XO (e.g. 200GB for a 100 XO deployment). A simple example would be a RAM(XO) and Secondary storage(school servers) in PCs. &lt;br /&gt;
&lt;br /&gt;
This feature will provide a way for users to deal with a full storage without significant technical skills. Currently the Journal, installed activities, and content files in /lhome/olpc/Library can contribute to filling the store. With a school server, a scheme to provide least-recently-used offload of content becomes possible. If all activities are available for download, least-recently used activities can be erased. If the Journal is stored on the school server, journal objects can be deleted locally (and later restored as needed). The motivation for the content /home/olpc/Library goes away if that content can be downloaded to the Journal as needed. The problem with the current scheme is that at best it is a sampler of the content sources (e.g. wikibooks). It would be better to put all of the content on the school server and have users download as needed. &lt;br /&gt;
&lt;br /&gt;
Here is a flowchart to demonstrate the above proposed mechanism-&amp;gt; &lt;br /&gt;
&lt;br /&gt;
               http://imgur.com/erPemnF.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; What is the timeline for development of your project? The Summer of Code work period is from mid-May  to mid-August; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it&#039;s good to have a plan at the beginning so you have an idea of where you&#039;re headed.) Note that you should probably plan to have something &amp;quot;working and 90% done&amp;quot; by the midterm evaluation (end of June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 150px;&amp;quot; | Days&lt;br /&gt;
!Task&lt;br /&gt;
|-&lt;br /&gt;
|24th April to 9th May&lt;br /&gt;
|&lt;br /&gt;
* Community bonding period. &lt;br /&gt;
* Gain consensus of the community on the designs and UI of the proposed features.&lt;br /&gt;
* Understand the working of Sugar codebase ( I already have some handson experience with Sugar)&lt;br /&gt;
* Discuss the specifications of all the features proposed with Mr.Tony Anderson and other community members.&lt;br /&gt;
|-&lt;br /&gt;
|10th May to 30th May&lt;br /&gt;
|Start developing &#039;save as&#039; alert popup.&lt;br /&gt;
* Write a new alert popup module wrapped over Alert class of Suga-toolkit-gtk3.&lt;br /&gt;
* Integrate the alert module to the Sugar activity base class.&lt;br /&gt;
* Code the automatic save feature to the resumable activities.&lt;br /&gt;
|-&lt;br /&gt;
|31 May to 1st June&lt;br /&gt;
|Send in patches to be reviewed by community.&lt;br /&gt;
Make necessary changes as per suggestions by the mentor.&lt;br /&gt;
|-&lt;br /&gt;
|2nd June to 15th June&lt;br /&gt;
|Start writing the screenshot popup alert.&lt;br /&gt;
* Code a new screenshot popup alert module include text entry, screenshot preview and interactive buttons.&lt;br /&gt;
* Make adjustments to the activity base class file and to home view to make the module compatible with them.&lt;br /&gt;
|-&lt;br /&gt;
|16th June to 17th June&lt;br /&gt;
|Send in patches for review by the mentor.&lt;br /&gt;
Make necessary modifications to the patches.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|18th June to 24th June&lt;br /&gt;
|Discuss the backend working of the feature with mentor.&lt;br /&gt;
Design the layout for the user interface modications.&lt;br /&gt;
Start working on activity resume feature.&lt;br /&gt;
|-&lt;br /&gt;
|25th June to 26th June&lt;br /&gt;
|Prepare for midterm evaluation.&lt;br /&gt;
Re-evaluate the submitted patches and update the documentations.&lt;br /&gt;
&#039;Save As&#039; alert and Screenshot alert would be implemented by the midterm evaluation.&lt;br /&gt;
|-&lt;br /&gt;
|27th June to 28th June&lt;br /&gt;
|&#039;&#039;&#039;Midterm Evaluation&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|29th June to 5th July&lt;br /&gt;
|Buffer Week&lt;br /&gt;
|-&lt;br /&gt;
|6th July to 15th July&lt;br /&gt;
|Continue with the work on &#039;Activity resume&#039; feature.&lt;br /&gt;
Work on the home view to implement one Click and &amp;lt;Alt&amp;gt;Click start/resume facility.&lt;br /&gt;
|-&lt;br /&gt;
|16th July to 17th July&lt;br /&gt;
|&lt;br /&gt;
* Send in patch for review.&lt;br /&gt;
* Test the overall stability of the all the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|18th July to 19th July&lt;br /&gt;
| Would like to a day or 2 days off.&lt;br /&gt;
|-&lt;br /&gt;
|20 July to 15 July&lt;br /&gt;
|Discuss the Sugar backup-restore specifications with the mentor.&lt;br /&gt;
* Understand the current backup/restore mechanism as developed by Mr.Martin Langhoff.&lt;br /&gt;
* Redesign the resync feature and add user selection based upload to Owncloud repository.&lt;br /&gt;
* Code the automatic garbage cleanup to free up space occupied by unnecessary(least frequently used) activities.&lt;br /&gt;
* Implement the selection based download feature from the Owncloud repository.&lt;br /&gt;
* Modify the read/write access to the online cloud storage in accordance with the implemented features.&lt;br /&gt;
|-&lt;br /&gt;
|16 August to 18 August&lt;br /&gt;
|&lt;br /&gt;
* UI improvements.&lt;br /&gt;
* Improve code efficiency.&lt;br /&gt;
* Send PRs for review from community members.&lt;br /&gt;
|-&lt;br /&gt;
|19 August to 22 August&lt;br /&gt;
|&lt;br /&gt;
* Fix bugs.&lt;br /&gt;
* Document the implemented feature on respective wiki pages and describe the features.&lt;br /&gt;
* Add comments that will help further development.&lt;br /&gt;
|-&lt;br /&gt;
|23 August&lt;br /&gt;
|&#039;&#039;&#039;Final Evaluation&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039; Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===You and the community===&lt;br /&gt;
* If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&lt;br /&gt;
* What will you do if you get stuck on your project and your mentor isn&#039;t around?&lt;br /&gt;
* How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
* We want to make sure that you can set up a [http://developer.sugarlabs.org development environment] before the summer starts. Please do &#039;&#039;one&#039;&#039; of the following:&lt;br /&gt;
** Send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of &amp;quot;logout&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
                   http://imgur.com/kZwyivD.png&lt;br /&gt;
&lt;br /&gt;
** Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.&lt;br /&gt;
&lt;br /&gt;
I have added some long needed features to Browse activity and Sugar Journal. PRs (&amp;lt;b&amp;gt;Screenshots attached in the PR comment section &amp;lt;/b&amp;gt;) -&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added download progress tool icon to [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/24 https://github.com/sugarlabs/browse-activity/pull/24] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved autocomplete list [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/27 https://github.com/sugarlabs/browse-activity/pull/27]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Improved bookmark management of [BROWSE]ː  [https://github.com/sugarlabs/browse-activity/pull/26 https://github.com/sugarlabs/browse-activity/pull/26]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Function name typo fixed in [BROWSE]ː [https://github.com/sugarlabs/sugar/pull/664 https://github.com/sugarlabs/sugar/pull/664]&amp;lt;b&amp;gt;(Merged)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a &amp;lt;b&amp;gt;ProgressToolButton&amp;lt;/b&amp;gt; module to [SUGAR-TOOLKIT-GTK3] used in Browse(also usable in other activities)ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/309] &amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The above &amp;lt;b&amp;gt;ProgressToolButton module&amp;lt;/b&amp;gt; was used by Mr. James Cameron in one of his patches for Clock Activityː [https://github.com/godiard/clock-activity/pull/2 https://github.com/godiard/clock-activity/pull/2] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added a toolbutton to BookmarkTray for Browse-activity in [SUGAR-TOOLKIT-GTK3]ː  [https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311 https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/311]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Added keyboard accessibility to [JOURNAL]ː  [https://github.com/sugarlabs/sugar/pull/667 https://github.com/sugarlabs/sugar/pull/667]&amp;lt;b&amp;gt;(Reviewed)&amp;lt;/b&amp;gt; &amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Describe a great learning experience you had as a child.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&lt;br /&gt;
I am pretty good at taking up challenging tasks(I introduced some cool features in Sugar that have been requested since a long time ;)) which seem difficult to others. After the completion of my project I would like to continue with my work on adding keyboard accessibility to Journal and download manager improvement in Browse. I am also planning to write an API (as suggested by Mr.Sam Parkinson) to extend keyboard accessibility to Sugar which would help kids to operate Sugar even without a mouse or some other pointing deviceǃ&lt;br /&gt;
&lt;br /&gt;
Please include the category tag at the bottom of your page the Category tag for 2016 GSoC applications.&lt;br /&gt;
&lt;br /&gt;
[[Category:2016 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Iamutkarshtiwari</name></author>
	</entry>
</feed>