<?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=Puneet+Kaur</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=Puneet+Kaur"/>
	<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/go/Special:Contributions/Puneet_Kaur"/>
	<updated>2026-04-27T17:29:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2015/Kiran_P_S/Developing_Cordova_Plugins_for_Sugar_Cordova_Container&amp;diff=95077</id>
		<title>Summer of Code/2015/Kiran P S/Developing Cordova Plugins for Sugar Cordova Container</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2015/Kiran_P_S/Developing_Cordova_Plugins_for_Sugar_Cordova_Container&amp;diff=95077"/>
		<updated>2015-03-26T16:11:12Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: /* You and the community */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kiran P S&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your email address?&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
pskirann@gmail.com&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your Sugar Labs wiki username?&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
kiran ps&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is your IRC nickname on irc.freenode.net?&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
kiru&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.)&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
English&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.)&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Location: Cochin, Kerala, India&lt;br /&gt;
&lt;br /&gt;
Time Zone: UTC + 5:30 (Indian Standard Time)&lt;br /&gt;
&lt;br /&gt;
Working hours: no fixed timings, I can find 8 hours between 10 AM(morning)- 1 AM(night)&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?&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My opensourced projects and contributions to other project can be found on my github account&lt;br /&gt;
&lt;br /&gt;
https://github.com/kiranps&lt;br /&gt;
&lt;br /&gt;
== About my project ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Developing Cordova Plugins for Sugar Cordova Container&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?&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Apache Cordova is a platform for building native mobile applications using HTML, CSS and JavaScript. It is a set of device APIs that allow a mobile app developer to access native device function such as the camera or accelerometer from JavaScript. When using the Cordova APIs, an app can be built without any native code from the app developer. Instead, web technologies are used, and they are hosted in the app itself locally.&lt;br /&gt;
&lt;br /&gt;
The native platform API&#039;s are first developed which communicate with the cordova libraries, these native cordova libraries then communicate with the javascript APIs which the developer uses to develop his HTML, CSS and JS application.&lt;br /&gt;
&lt;br /&gt;
To allow the web developers to interact with the device&#039;s native functionality, we shall build a communication between the python and javascript part by using the sugar web architecture.Once that is done, we then need to add to the cordova-js project of cordova - which provides the common API&#039;s for sending messages and triggering error and success callbacks with native framework responses. The cordova plugins will interact with the sugar platform through the sugar API and with the webview through its native API.This will then provide a javascript API to developers for their apps. Sugar api interacts with the cordova plugins,the native cordova api which interacts with the webview and the javascript API which allows the developers to make their apps directly on HTML,CSS and JS using the device functionality through plugins and customs plugins.&lt;br /&gt;
&lt;br /&gt;
My task is to develop cordova plugins for sugar which shall help the HTML apps to interact with the native code beneath. We shall build the cordova part as well as the native APIs needed to communicate with the cordova middle layer. Finally we shall provide the javascript APIs though which the developers can make their HTML apps for the sugar platform.So the final goal of the project is to provide the cordova plugins for the developers and code some sample apps which depict the usage of those plugins in the real environment.&lt;br /&gt;
&lt;br /&gt;
the following plugins will be developed for sugar platform&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;org.apache.cordova.splashscreen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This plugin displays and hides a splash screen during application launch.&lt;br /&gt;
&lt;br /&gt;
it will be using two methods&lt;br /&gt;
&lt;br /&gt;
* splashscreen.show&lt;br /&gt;
* splashscreen.hide&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;org.apache.cordova.file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This plugin implements a File API allowing read/write access to files residing on the device.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;battery-status&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It adds the following three window events&lt;br /&gt;
* battery status&lt;br /&gt;
* battery critical&lt;br /&gt;
* battery low&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;plugin.http.request&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This plugin helps you to access to the external server using HTTP request&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;com.msopentech.indexeddb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implements Indexed Database API support for Apache Cordova apps based on IndexedDBShim implementation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;com.rossmartin.dropboxsync&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This plugin allows your application to use the Dropbox Sync API&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;com.knowledgecode.cordova.websocket&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Cordova plugin that allows WebSockets to be used&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;org.apache.cordova.media&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This plugin provides the ability to record and play back audio files on a device.&lt;br /&gt;
&lt;br /&gt;
it will be using following methods&lt;br /&gt;
&lt;br /&gt;
*media.getCurrentPosition: Returns the current position within an audio file.&lt;br /&gt;
&lt;br /&gt;
*media.getDuration: Returns the duration of an audio file.&lt;br /&gt;
&lt;br /&gt;
*media.play: Start or resume playing an audio file.&lt;br /&gt;
&lt;br /&gt;
*media.pause: Pause playback of an audio file.&lt;br /&gt;
&lt;br /&gt;
*media.release: Releases the underlying operating system&#039;s audio resources.&lt;br /&gt;
&lt;br /&gt;
*media.seekTo: Moves the position within the audio file.&lt;br /&gt;
&lt;br /&gt;
*media.setVolume: Set the volume for audio playback.&lt;br /&gt;
&lt;br /&gt;
*media.startRecord: Start recording an audio file.&lt;br /&gt;
&lt;br /&gt;
*media.stopRecord: Stop recording an audio file.&lt;br /&gt;
&lt;br /&gt;
*media.stop: Stop playing an audio file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;org.apache.cordova.file-transfer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This plugin allows you to upload and download files.&lt;br /&gt;
&lt;br /&gt;
it will be using following methods&lt;br /&gt;
&lt;br /&gt;
* upload: sends a file to a server.&lt;br /&gt;
&lt;br /&gt;
* download: downloads a file from server.&lt;br /&gt;
&lt;br /&gt;
* abort: Aborts an in-progress transfer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;de.appplant.cordova.plugin.local-notification&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The plugin supports scheduling local notifications in various ways with a single interface. It also allows you to update, clear or cancel them. There are different interfaces to query for local notifications and a complete set of events to hook into the life cycle of local notifications&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 May 19 - August 22; 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 (27 June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Weeks                                                              !! Expected Tasks                                                                                                                                                                                                &lt;br /&gt;
|-&lt;br /&gt;
| May 19 - May 23 ||  Develop splashscreen plugin&lt;br /&gt;
|-&lt;br /&gt;
| May 24 - May 30 ||  Develop websocket plugin&lt;br /&gt;
|-&lt;br /&gt;
| May 31 - June 6 ||  Develop file plugin&lt;br /&gt;
|-&lt;br /&gt;
| Jun 7 - June 13 ||  Develop battery-status plugin&lt;br /&gt;
|-&lt;br /&gt;
| Jun 14 - June 20 ||  Develop http-request plugin&lt;br /&gt;
|-&lt;br /&gt;
| Jun 21 - June 27 ||  Develop indexedBD plugin&lt;br /&gt;
|-&lt;br /&gt;
| Mid Term Evaluation ||  &lt;br /&gt;
|-&lt;br /&gt;
| Jun 28 - July 4 ||  Develop dropbox plugin&lt;br /&gt;
|-&lt;br /&gt;
| July 5 - July 11 ||  Develop media plugin&lt;br /&gt;
|-&lt;br /&gt;
| July 12 - July 18 ||  Develop local notification plugin&lt;br /&gt;
|-&lt;br /&gt;
| July 19 - July 25 ||  Develop file transfer plugin&lt;br /&gt;
|-&lt;br /&gt;
| July 26 - August 1 ||  testing&lt;br /&gt;
|-&lt;br /&gt;
| August 2  - August 8 ||  optimize code&lt;br /&gt;
|-&lt;br /&gt;
| August 9  - August 15 ||  optimize code &amp;amp; fix bugs&lt;br /&gt;
|-&lt;br /&gt;
| August 16  - August 22  ||  Fix Bugs&lt;br /&gt;
|-&lt;br /&gt;
| August 23  - August 24 ||  Document the project&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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I have created a cordova plugin for sugar and also created(ported) a game for sugar, both of are listed below. Other opensource projects are also listed below&lt;br /&gt;
&lt;br /&gt;
===== Skills: =====&lt;br /&gt;
&lt;br /&gt;
Languages : C, C++, JavaScript , Python, Shell Scipt&lt;br /&gt;
&lt;br /&gt;
Web Design / Web Applications: - HTML5, CSS3, JavaScript, jQuery, Zepto, Bootstrap, Node.js, Express, passport, Socket.io, Angular, Django&lt;br /&gt;
&lt;br /&gt;
Mobile Apps / Mobile Web - PhoneGap(cordova), Ionic Framework, OnsenUI&lt;br /&gt;
&lt;br /&gt;
Database - MongoDB, MySQl, sqlite, diskdb&lt;br /&gt;
&lt;br /&gt;
Tools - Vim, Tmux, zsh, Git, Grunt, Docker , Yeoman, Qt, Inkscape&lt;br /&gt;
&lt;br /&gt;
OS - Linux(Ubuntu, Archlinux), Android, Windows&lt;br /&gt;
&lt;br /&gt;
===== Relevant Projects in Past: =====&lt;br /&gt;
&lt;br /&gt;
* Hextrix app for sugar platform (html5, javscript, css3, cordova)&lt;br /&gt;
&#039;&#039;&#039;[https://github.com/kiranps/hextrix-sugar Hextrix game]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Sugar cordova plugin sample (javscript, python, cordova)&lt;br /&gt;
&#039;&#039;&#039;[https://github.com/kiranps/sugar-cordova-echo-plugin sugar-plugin]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* English Malayalam Dictionary (python, pygtk)&lt;br /&gt;
&#039;&#039;&#039;[https://github.com/kiranps/English-Malayalam-Dictionary Dictionary]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Battery plugin for tmux&lt;br /&gt;
&#039;&#039;&#039;[https://github.com/kiranps/tmux-battery Tmux Battery Plugin]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Command line app that shows live cricket score (python)&lt;br /&gt;
&#039;&#039;&#039;[https://github.com/kiranps/cricket Cricket live score]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Hosel management system made for college (javascript, nodewebkit, AngularJS, diskdb)&lt;br /&gt;
&#039;&#039;&#039;[https://github.com/kiranps/hostel-management-system hostel-management-system ]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Techfest mobile site (html5, javascript, css3, AngularJS)&lt;br /&gt;
&#039;&#039;&#039;[https://github.com/kiranps/dyuthi-mobile-site dyuthi mobile site]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Offline contact app (Node-webkit, AngularJS, diskdb)&lt;br /&gt;
&#039;&#039;&#039;[https://github.com/kiranps/nodewebkit-angular-diskdb Offline contact app]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* App to scroll pages using face ( cpp, opencv )&lt;br /&gt;
&#039;&#039;&#039;[https://github.com/kiranps/facescroll facescroll]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Photo filter app (html5, javascript, css3, cammanjs)&lt;br /&gt;
&#039;&#039;&#039;[https://github.com/kiranps/photoeffect photoeffect]&#039;&#039;&#039;&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;.&#039;&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kiran ː&#039;&#039;&#039; Success of sugar depend on the number of application present in platform. By developing plugin for sugar it would be very easy to port applications made for other platforms to sugar platform. Developer need not worry about the native side of the platform, they can depend entirely on web technologies HTML5, CSS, Javascript to develop applications for sugar.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Walter: &#039;&#039;&#039;We are trying to broaden the reach of Sugar by incorporating Javascript/HTML5 as a first-class environment. But this means we need to provide ready access to the camera, microphone, sensors, etc. Having a common, robust framework is critical.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Puneet: &#039;&#039;&#039;Through the purpose of this project, we aim to complete the vision of encompassing the web apps with the diverse abilities to leverage into the device specific features. The native code parts would be tried to be wrapped around into a plugin interface which shall be exposed as a part of standard cordova library which the cross platform web apps can use. This shall eventually lead to integration of thousands of web apps out there, enabling each one to use the native abilities of the sugar environment and play around with it to make it more user-friendly and development centric. Hope to reach the goal of diversifying the sugar environment by strengthing the cordova plugin base.&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;
&lt;br /&gt;
If mentor is not around i will depend on stackoverflow, google, IRC&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 will update the status on my blog or github project pages&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Screenshot of sugar development environment Home view&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Sugar-screenshot.png| modified logout caption with email&lt;br /&gt;
&amp;lt;/gallery&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;
Computer was my favorite subject, that time i didn&#039;t had computer in my house. we had only one computer period in a week. I always waited for that day to come and never took leave on that day.&lt;br /&gt;
&lt;br /&gt;
[[Category:2015 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2015&amp;diff=94574</id>
		<title>Summer of Code/2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2015&amp;diff=94574"/>
		<updated>2015-03-06T17:47:20Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: /* Sugar Core */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Students&#039;&#039;&#039;: See our guide on [[Summer_of_Code#How_to_participate|how to participate in Google Summer of Code]] for more information.&lt;br /&gt;
&lt;br /&gt;
== Project candidates ==&lt;br /&gt;
&lt;br /&gt;
In the table below is a list of projects potential participants might contribute to in the GSoC program.&lt;br /&gt;
&lt;br /&gt;
;Note 0: These are project ideas from Sugar Labs contributors. Students, feel free to propose your ideas as well.&lt;br /&gt;
;Note 1: We are focusing on the Javascript components within Sugar this summer.&lt;br /&gt;
;Note 2: 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 3: Potential students, more project ideas can be found on our [[Features]] page.&lt;br /&gt;
;Note 4: Accepted projects are in &#039;&#039;&#039;&amp;lt;font color=&amp;quot;#00bb00&amp;quot;&amp;gt;Green&amp;lt;/font&amp;gt;&#039;&#039;&#039;&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 | [[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 | [[File:Cordova_sugar.png|90px|center|thumb]] || valign=top  style=&amp;quot;background:#e3e4e5;&amp;quot;  | Cordova/PhoneGap container for Sugar || valign=top | Puneet Kaur and Lionel Laské||align=left valign=top |&lt;br /&gt;
;Brief explanation: Making cordova plugins for sugar and demonstrating the working plugins via sugar activities, incooperating cordova plugins with the existing sugar activities visit : http://sugarcordova.blogspot.com/ for more info&lt;br /&gt;
;Expected results: Working Demonstration of new plugins and new activities based on implemented plugins&lt;br /&gt;
;Knowledge prerequisite: Strong background in JavaScript,python&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 and James Cameron||align=left valign=top |&lt;br /&gt;
;Brief explanation: The newer Sugar builds have performance issues on some old hardware with limited memory. This is keeping some Sugar deployments from upgrading. This project is to look into the performance issues and tune Sugar for low-memory devices.&lt;br /&gt;
;Expected results: build suitable for running on OLPC XO-1 hardware&lt;br /&gt;
;Knowledge prerequisite:&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | || valign=top  style=&amp;quot;background:#e3e4e5;&amp;quot;  | Re-design collaboration with web technologies || valign=top | Martin Abente Lahaye and Walter Bender ||align=left valign=top |&lt;br /&gt;
;Brief explanation: Now that JavaScript has become a first class citizen in the Sugar ecosystem, we must re-design our collaboration model to allow collaboration between web activities regardless of the platform.&lt;br /&gt;
;Knowledge prerequisite: JavaScript, web sockets, web services.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugar Activities ==&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
!  !! Title !! Mentor !! Project&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:turtlejs.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Turtle Blocks 3D Javascript||valign=top width=&amp;quot;15%&amp;quot; | Tony Forster and Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: The Python version of Turtle Blocks 3D is based on GTK since Sugar uses GTK and GTK is largely incompatible with OpenGL. In a Javascript version, we could use OpenGL and take advantage of many more graphics libraries, such as 3D lighting models and texture mapping.&lt;br /&gt;
;Expected results: A new Turtle Blocks spin that adds basic 3D transforms to Turtle Blocks (e.g., setxyz, pitch, roll, yaw); camera and lighting models; surface texture mapping; and a rich set of example projects. &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:turtlejs.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Turtle Blocks export as Javascript||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: The Python version of Turtle Blocks allows the user to export their project as Python code. We need an equivalent Javascript export for the Javascript version.&lt;br /&gt;
;Expected results: Working code integrated into Turtle Blocks JS&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:turtlejs.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Turtle Blocks inline Javascript||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: There are several block-based programming environments that allow the user to extend the language in line, such as Blocky and Pencil Code. (Turtle Blocks uses plugins for this, but they are imported). The goal of this project is to write an in-line block editor for Turtle Blocks (Javascript version).&lt;br /&gt;
;Expected results: Working code integrated into Turtle Blocks JS&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:turtlejs.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Turtle Blocks debugging tools||valign=top width=&amp;quot;15%&amp;quot; | Cynthia Solomon and Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: There are several debugging tools in Turtle Blocks: the ability to set breakpoints, step through code, and inspect variables. But we could use a more comprehensive approach, including a mechanism for tracking progress over time.&lt;br /&gt;
;Expected results: Working code integrated into Turtle Blocks JS&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:turtlejs.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Turtle Blocks for in-line programming||valign=top width=&amp;quot;15%&amp;quot; | Gonzalo Odiard and Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Often we&#039;d like users to be able to extend or modify an activity. Rather than doing this by writing Python or Javascript, why not let them use the block language of Turtle Blocks as an in-line editor. For example, in the Turtle Pond activity, the user can upload Python code representing search algorithms for the turtle as it tries to find its way out of the pond. Why not use a block editor to write the search algorithm?&lt;br /&gt;
&lt;br /&gt;
Using the Turtle Blocks engine as an editor inside existing activities would be the preferred mechanism, as oppose to constantly extending Turtle Blocks itself. This would (1) let the editor be more specific to the needs of the individual activity; (2) lessen the burden on the user for installing plugins and extensions; (3) circumvent situations where there are barriers to sharing data between activities -- e.g., running outside of Sugar; and (4) perhaps encourage more developers to incorporate more programmatic elements in their activities.&lt;br /&gt;
&lt;br /&gt;
;Expected results: Integration into the Physics Activity&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript/Python&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:mouse-music.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Music Blocks||valign=top width=&amp;quot;15%&amp;quot; |Devin Ulibarri and Marnen Laibow-Koser||align=left valign=top|&lt;br /&gt;
;Brief explanation: Using a framework similar to Turtle Blocks Javascript, build a suite of music tools for introducing the basic concepts of scale, beat, chord, phrasing, sequencing, transformations, etc.&lt;br /&gt;
;Expected results: Working code&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&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; | and 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 Javascript&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugar Activities (Ports) ==&lt;br /&gt;
&lt;br /&gt;
These are existing Python activities we&#039;d like to see ported to JavaScript. In porting 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;
!valign=top | [[File:Gsoc2015 llaske.svg|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Sugar Web Basic Activity Set||valign=top width=&amp;quot;15%&amp;quot; |Lionel Laské||align=left valign=top|&lt;br /&gt;
Using Sugar Web Framework - the JavaScript Framework for Sugar - you will have to develop and enhance basic Sugar activity set including activities: Calculate, Paint, Memorize and Record. All activities should use Sugar features (specific UI, journal and collaboration) and should work both on Sugar/Fedora and Sugarizer/Web.&lt;br /&gt;
Pre-requisite: &lt;br /&gt;
* Good level on HTML5/JavaScript and knowledge of frameworks to handle Canvas objects.&lt;br /&gt;
* Knowledge of PhoneGap/Cordova&lt;br /&gt;
* Understanding of Python&lt;br /&gt;
* Good capacity to do reverse engineering on existing code.&lt;br /&gt;
More information: Sugar Web [https://github.com/sugarlabs/sugar-docs/blob/master/web-architecture.md]&lt;br /&gt;
[https://github.com/sugarlabs/sugar-docs/blob/master/activity.md], Sugarizer [http://sugarizer.org], Calculate [http://activities.sugarlabs.org/en/sugar/addon/4076], Paint [http://activities.sugarlabs.org/en/sugar/addon/4082][http://activities.sugarlabs.org/en/sugar/addon/4695], Memorize [http://activities.sugarlabs.org/en/sugar/addon/4063][http://activities.sugarlabs.org/en/sugar/addon/4693] and Record [http://activities.sugarlabs.org/en/sugar/addon/4081].&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:abacus.jpg|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Abacus JS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of the Abacus activity.&lt;br /&gt;
;Expected results: &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:fototoon.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Fototoons JS||valign=top width=&amp;quot;15%&amp;quot; |Gonzalo Odiard||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of Fototoons.&lt;br /&gt;
;Expected results: &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Activity-physics-55x55.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Physics JS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of Physics.&lt;br /&gt;
;Expected results: &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Dimensions-icon.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Dimensions JS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of Dimensions.&lt;br /&gt;
;Expected results: &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Spirolaterals-icon.svg|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Spirolaterals JS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of Spirolaterals.&lt;br /&gt;
;Expected results: &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&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 Flags JS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of Turtle Flags.&lt;br /&gt;
;Expected results: &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&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; |Turtle Confusion JS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of Turtle Confusion.&lt;br /&gt;
;Expected results: &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top |  ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Image Viewer JS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of Image Viewer (including image processing package)&lt;br /&gt;
;Expected results: &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Subpages==&lt;br /&gt;
{{Special:PrefixIndex/{{PAGENAMEE}}/}}&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2015&amp;diff=94552</id>
		<title>Summer of Code/2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2015&amp;diff=94552"/>
		<updated>2015-03-01T21:18:39Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: /* Sugar Core */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Students&#039;&#039;&#039;: See our guide on [[Summer_of_Code#How_to_participate|how to participate in Google Summer of Code]] for more information.&lt;br /&gt;
&lt;br /&gt;
== Project candidates ==&lt;br /&gt;
&lt;br /&gt;
In the table below is a list of projects potential participants might contribute to in the GSoC program.&lt;br /&gt;
&lt;br /&gt;
;Note 0: These are project ideas from Sugar Labs contributors. Students, feel free to propose your ideas as well.&lt;br /&gt;
;Note 1: We are focusing on the Javascript components within Sugar this summer.&lt;br /&gt;
;Note 2: 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 3: Potential students, more project ideas can be found on our [[Features]] page.&lt;br /&gt;
;Note 4: Accepted projects are in &#039;&#039;&#039;&amp;lt;font color=&amp;quot;#00bb00&amp;quot;&amp;gt;Green&amp;lt;/font&amp;gt;&#039;&#039;&#039;&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 | [[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 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 | [[File:Cordova_sugar.png|90px|center|thumb]] || valign=top  style=&amp;quot;background:#e3e4e5;&amp;quot;  | Cordova/PhoneGap container for Sugar || valign=top | Puneet Kaur and Lionel Laské||align=left valign=top |&lt;br /&gt;
;Brief explanation: Making cordova plugins for sugar and demonstrating the working plugins via sugar activities, incooperating cordova plugins with the existing sugar activities&lt;br /&gt;
;Expected results: Working Demonstration of new plugins and new activities based on implemented plugins&lt;br /&gt;
;Knowledge prerequisite: Strong background in JavaScript,python&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 and James Cameron||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;
== 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;
!valign=top | [[File:turtlejs.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Turtle Blocks 3D Javascript||valign=top width=&amp;quot;15%&amp;quot; | Tony Forster and Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: The Python version of Turtle Blocks 3D is based on GTK since Sugar uses GTK and GTK is largely incompatible with OpenGL. In a Javascript version, we could use OpenGL and take advantage of many more graphics libraries, such as 3D lighting models and texture mapping.&lt;br /&gt;
;Expected results: A new Turtle Blocks spin that adds basic 3D transforms to Turtle Blocks (e.g., setxyz, pitch, roll, yaw); camera and lighting models; surface texture mapping; and a rich set of example projects. &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:turtlejs.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Turtle Blocks export as Javascript||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: The Python version of Turtle Blocks allows the user to export their project as Python code. We need an equivalent Javascript export for the Javascript version.&lt;br /&gt;
;Expected results: Working code integrated into Turtle Blocks JS&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:turtlejs.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Turtle Blocks inline Javascript||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: There are several block-based programming environments that allow the user to extend the language in line, such as Blocky and Pencil Code. (Turtle Blocks uses plugins for this, but they are imported). The goal of this project is to write an in-line block editor for Turtle Blocks (Javascript version).&lt;br /&gt;
;Expected results: Working code integrated into Turtle Blocks JS&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:turtlejs.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Turtle Blocks debugging tools||valign=top width=&amp;quot;15%&amp;quot; | Cynthia Solomon and Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: There are several debugging tools in Turtle Blocks: the ability to set breakpoints, step through code, and inspect variables. But we could use a more comprehensive approach, including a mechanism for tracking progress over time.&lt;br /&gt;
;Expected results: Working code integrated into Turtle Blocks JS&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:turtlejs.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Turtle Blocks for in-line programming||valign=top width=&amp;quot;15%&amp;quot; | Gonzalo Odiard and Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Often we&#039;d like users to be able to extend or modify an activity. Rather than doing this by writing Python or Javascript, why not let them use the block language of Turtle Blocks as an in-line editor. For example, in the Turtle Pond activity, the user can upload Python code representing search algorithms for the turtle as it tries to find its way out of the pond. Why not use a block editor to write the search algorithm?&lt;br /&gt;
&lt;br /&gt;
Using the Turtle Blocks engine as an editor inside existing activities would be the preferred mechanism, as oppose to constantly extending Turtle Blocks itself. This would (1) let the editor be more specific to the needs of the individual activity; (2) lessen the burden on the user for installing plugins and extensions; (3) circumvent situations where there are barriers to sharing data between activities -- e.g., running outside of Sugar; and (4) perhaps encourage more developers to incorporate more programmatic elements in their activities.&lt;br /&gt;
&lt;br /&gt;
;Expected results: Integration into the Physics Activity&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript/Python&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:mouse-music.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Music Blocks||valign=top width=&amp;quot;15%&amp;quot; |Devin Ulibarri and Marnen Laibow-Koser||align=left valign=top|&lt;br /&gt;
;Brief explanation: Using a framework similar to Turtle Blocks Javascript, build a suite of music tools for introducing the basic concepts of scale, beat, chord, phrasing, sequencing, transformations, etc.&lt;br /&gt;
;Expected results: Working code&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&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; | and 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.&lt;br /&gt;
;Expected results: Working prototype&lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sugar Activities (Ports) ==&lt;br /&gt;
&lt;br /&gt;
These are existing Python activities we&#039;d like to see ported to JavaScript. In porting 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;
!valign=top | [[File:Gsoc2015 llaske.svg|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Sugar Web Basic Activity Set||valign=top width=&amp;quot;15%&amp;quot; |Lionel Laské||align=left valign=top|&lt;br /&gt;
Using Sugar Web Framework - the JavaScript Framework for Sugar - you will have to develop and enhance basic Sugar activity set including activities: Calculate, Paint, Memorize and Record. All activities should use Sugar features (specific UI, journal and collaboration) and should work both on Sugar/Fedora and Sugarizer/Web.&lt;br /&gt;
Pre-requisite: &lt;br /&gt;
* Good level on HTML5/JavaScript and knowledge of frameworks to handle Canvas objects.&lt;br /&gt;
* Knowledge of PhoneGap/Cordova&lt;br /&gt;
* Understanding of Python&lt;br /&gt;
* Good capacity to do reverse engineering on existing code.&lt;br /&gt;
More information: Sugar Web [https://github.com/sugarlabs/sugar-docs/blob/master/web-architecture.md]&lt;br /&gt;
[https://github.com/sugarlabs/sugar-docs/blob/master/activity.md], Sugarizer [http://sugarizer.org], Calculate [http://activities.sugarlabs.org/en/sugar/addon/4076], Paint [http://activities.sugarlabs.org/en/sugar/addon/4082][http://activities.sugarlabs.org/en/sugar/addon/4695], Memorize [http://activities.sugarlabs.org/en/sugar/addon/4063][http://activities.sugarlabs.org/en/sugar/addon/4693] and Record [http://activities.sugarlabs.org/en/sugar/addon/4081].&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:abacus.jpg|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Abacus JS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of the Abacus activity.&lt;br /&gt;
;Expected results: &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:fototoon.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Fototoons JS||valign=top width=&amp;quot;15%&amp;quot; |Gonzalo Odiard||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of Fototoons.&lt;br /&gt;
;Expected results: &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Activity-physics-55x55.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Physics JS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of Physics.&lt;br /&gt;
;Expected results: &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Dimensions-icon.png|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Dimensions JS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of Dimensions.&lt;br /&gt;
;Expected results: &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top | [[File:Spirolaterals-icon.svg|90px|thumb|center]] ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Spirolaterals JS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of Spirolaterals.&lt;br /&gt;
;Expected results: &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&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 Flags JS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of Turtle Flags.&lt;br /&gt;
;Expected results: &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&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; |Turtle Confusion JS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of Turtle Confusion.&lt;br /&gt;
;Expected results: &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|-&lt;br /&gt;
!valign=top |  ||valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#e3e4e5;&amp;quot; |Image Viewer JS||valign=top width=&amp;quot;15%&amp;quot; | Walter Bender||align=left valign=top|&lt;br /&gt;
;Brief explanation: Port of Image Viewer (including image processing package)&lt;br /&gt;
;Expected results: &lt;br /&gt;
;Knowledge prerequisite: Strong background in Javascript&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Subpages==&lt;br /&gt;
{{Special:PrefixIndex/{{PAGENAMEE}}/}}&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=93006</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=93006"/>
		<updated>2014-07-24T19:52:39Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&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. 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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&amp;lt;!--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?--&amp;gt;&lt;br /&gt;
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.&lt;br /&gt;
&lt;br /&gt;
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&amp;lt;!--Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.--&amp;gt;&lt;br /&gt;
This feature is an enhanced, it does not have any direct impact on sugar. It doess not need a UI. The UI is depended on the cordova app which in turn is depended on the developer of the cordova app. &lt;br /&gt;
&lt;br /&gt;
The detailed descript regarding the project can be found here : http://sugarcordova.blogspot.com/ &lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
&amp;lt;!--{{:{{PAGENAME}}/Testing}}--&amp;gt;&lt;br /&gt;
You can find instructions to test it on your systems here : http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;--&amp;gt;&lt;br /&gt;
it will help the cross platforms apps to be deployed in sugar activities. So there shall be an increase in activities.Developers would be able to develop activities for sugar more easily ( using only the web languages) and the users shall have the access to a great variety of apps. Say the same app they have in android or ios or windows would be now available in sugar. Hence, sugar would support the apps which run on different platforms so that the sugar users are not deprived of the taste of different applications ( activities for sugar)&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;--&amp;gt;&lt;br /&gt;
This project also needs to contribute to the cordova repositories apart from sugar side.So we need to co-ordinate with the cordova community and get our additions to the cordova code be accepted. Only then can the sugar platform for cordova can be launched.&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;--&amp;gt;&lt;br /&gt;
The most of the parts of the project are almost done through and incase you wish to remove the feature so you can simply cut off the portions added in apisocket.py and delete the cordova folder in jarabe.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;--&amp;gt;&lt;br /&gt;
The topic was proposed as a part of Google Summer of Code.&lt;br /&gt;
You can find some documentation here : &lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014&lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014/sugar_cordova&lt;br /&gt;
http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
http://sugarcordova.blogspot.in/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;--&amp;gt;&lt;br /&gt;
No release notes for this enhancement yet&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* http://sugarcordova.blogspot.com/&lt;br /&gt;
* http://lists.sugarlabs.org/archive/sugar-devel/&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=93005</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=93005"/>
		<updated>2014-07-24T19:52:17Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&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. 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;
&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&amp;lt;!--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?--&amp;gt;&lt;br /&gt;
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.&lt;br /&gt;
&lt;br /&gt;
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&amp;lt;!--Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.--&amp;gt;&lt;br /&gt;
This feature is an enhanced, it does not have any direct impact on sugar. It doess not need a UI. The UI is depended on the cordova app which in turn is depended on the developer of the cordova app. &lt;br /&gt;
&lt;br /&gt;
The detailed descript regarding the project can be found here : http://sugarcordova.blogspot.com/ &lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
&amp;lt;!--{{:{{PAGENAME}}/Testing}}--&amp;gt;&lt;br /&gt;
You can find instructions to test it on your systems here : http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;--&amp;gt;&lt;br /&gt;
it will help the cross platforms apps to be deployed in sugar activities. So there shall be an increase in activities.Developers would be able to develop activities for sugar more easily ( using only the web languages) and the users shall have the access to a great variety of apps. Say the same app they have in android or ios or windows would be now available in sugar. Hence, sugar would support the apps which run on different platforms so that the sugar users are not deprived of the taste of different applications ( activities for sugar)&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;--&amp;gt;&lt;br /&gt;
This project also needs to contribute to the cordova repositories apart from sugar side.So we need to co-ordinate with the cordova community and get our additions to the cordova code be accepted. Only then can the sugar platform for cordova can be launched.&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;--&amp;gt;&lt;br /&gt;
The most of the parts of the project are almost done through and incase you wish to remove the feature so you can simply cut off the portions added in apisocket.py and delete the cordova folder in jarabe.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;--&amp;gt;&lt;br /&gt;
The topic was proposed as a part of Google Summer of Code.&lt;br /&gt;
You can find some documentation here : &lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014&lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014/sugar_cordova&lt;br /&gt;
http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
http://sugarcordova.blogspot.in/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;--&amp;gt;&lt;br /&gt;
No release notes for this enhancement yet&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* http://sugarcordova.blogspot.com/&lt;br /&gt;
* http://lists.sugarlabs.org/archive/sugar-devel/&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=93004</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=93004"/>
		<updated>2014-07-24T19:51:47Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: /* Comments and Discussion */&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;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&amp;lt;!--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?--&amp;gt;&lt;br /&gt;
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.&lt;br /&gt;
&lt;br /&gt;
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&amp;lt;!--Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.--&amp;gt;&lt;br /&gt;
This feature is an enhanced, it does not have any direct impact on sugar. It doess not need a UI. The UI is depended on the cordova app which in turn is depended on the developer of the cordova app. &lt;br /&gt;
&lt;br /&gt;
The detailed descript regarding the project can be found here : http://sugarcordova.blogspot.com/ &lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
&amp;lt;!--{{:{{PAGENAME}}/Testing}}--&amp;gt;&lt;br /&gt;
You can find instructions to test it on your systems here : http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;--&amp;gt;&lt;br /&gt;
it will help the cross platforms apps to be deployed in sugar activities. So there shall be an increase in activities.Developers would be able to develop activities for sugar more easily ( using only the web languages) and the users shall have the access to a great variety of apps. Say the same app they have in android or ios or windows would be now available in sugar. Hence, sugar would support the apps which run on different platforms so that the sugar users are not deprived of the taste of different applications ( activities for sugar)&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;--&amp;gt;&lt;br /&gt;
This project also needs to contribute to the cordova repositories apart from sugar side.So we need to co-ordinate with the cordova community and get our additions to the cordova code be accepted. Only then can the sugar platform for cordova can be launched.&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;--&amp;gt;&lt;br /&gt;
The most of the parts of the project are almost done through and incase you wish to remove the feature so you can simply cut off the portions added in apisocket.py and delete the cordova folder in jarabe.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;--&amp;gt;&lt;br /&gt;
The topic was proposed as a part of Google Summer of Code.&lt;br /&gt;
You can find some documentation here : &lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014&lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014/sugar_cordova&lt;br /&gt;
http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
http://sugarcordova.blogspot.in/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;--&amp;gt;&lt;br /&gt;
No release notes for this enhancement yet&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* http://sugarcordova.blogspot.com/&lt;br /&gt;
* http://lists.sugarlabs.org/archive/sugar-devel/&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=93003</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=93003"/>
		<updated>2014-07-24T19:51:17Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: /* Comments and Discussion */&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;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&amp;lt;!--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?--&amp;gt;&lt;br /&gt;
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.&lt;br /&gt;
&lt;br /&gt;
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&amp;lt;!--Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.--&amp;gt;&lt;br /&gt;
This feature is an enhanced, it does not have any direct impact on sugar. It doess not need a UI. The UI is depended on the cordova app which in turn is depended on the developer of the cordova app. &lt;br /&gt;
&lt;br /&gt;
The detailed descript regarding the project can be found here : http://sugarcordova.blogspot.com/ &lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
&amp;lt;!--{{:{{PAGENAME}}/Testing}}--&amp;gt;&lt;br /&gt;
You can find instructions to test it on your systems here : http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;--&amp;gt;&lt;br /&gt;
it will help the cross platforms apps to be deployed in sugar activities. So there shall be an increase in activities.Developers would be able to develop activities for sugar more easily ( using only the web languages) and the users shall have the access to a great variety of apps. Say the same app they have in android or ios or windows would be now available in sugar. Hence, sugar would support the apps which run on different platforms so that the sugar users are not deprived of the taste of different applications ( activities for sugar)&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;--&amp;gt;&lt;br /&gt;
This project also needs to contribute to the cordova repositories apart from sugar side.So we need to co-ordinate with the cordova community and get our additions to the cordova code be accepted. Only then can the sugar platform for cordova can be launched.&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;--&amp;gt;&lt;br /&gt;
The most of the parts of the project are almost done through and incase you wish to remove the feature so you can simply cut off the portions added in apisocket.py and delete the cordova folder in jarabe.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;--&amp;gt;&lt;br /&gt;
The topic was proposed as a part of Google Summer of Code.&lt;br /&gt;
You can find some documentation here : &lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014&lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014/sugar_cordova&lt;br /&gt;
http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
http://sugarcordova.blogspot.in/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;--&amp;gt;&lt;br /&gt;
No release notes for this enhancement yet&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* http://sugarcordova.blogspot.com/&lt;br /&gt;
* http://lists.sugarlabs.org/&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=93002</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=93002"/>
		<updated>2014-07-24T19:51:01Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: /* Release Notes */&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;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&amp;lt;!--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?--&amp;gt;&lt;br /&gt;
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.&lt;br /&gt;
&lt;br /&gt;
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&amp;lt;!--Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.--&amp;gt;&lt;br /&gt;
This feature is an enhanced, it does not have any direct impact on sugar. It doess not need a UI. The UI is depended on the cordova app which in turn is depended on the developer of the cordova app. &lt;br /&gt;
&lt;br /&gt;
The detailed descript regarding the project can be found here : http://sugarcordova.blogspot.com/ &lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
&amp;lt;!--{{:{{PAGENAME}}/Testing}}--&amp;gt;&lt;br /&gt;
You can find instructions to test it on your systems here : http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;--&amp;gt;&lt;br /&gt;
it will help the cross platforms apps to be deployed in sugar activities. So there shall be an increase in activities.Developers would be able to develop activities for sugar more easily ( using only the web languages) and the users shall have the access to a great variety of apps. Say the same app they have in android or ios or windows would be now available in sugar. Hence, sugar would support the apps which run on different platforms so that the sugar users are not deprived of the taste of different applications ( activities for sugar)&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;--&amp;gt;&lt;br /&gt;
This project also needs to contribute to the cordova repositories apart from sugar side.So we need to co-ordinate with the cordova community and get our additions to the cordova code be accepted. Only then can the sugar platform for cordova can be launched.&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;--&amp;gt;&lt;br /&gt;
The most of the parts of the project are almost done through and incase you wish to remove the feature so you can simply cut off the portions added in apisocket.py and delete the cordova folder in jarabe.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;--&amp;gt;&lt;br /&gt;
The topic was proposed as a part of Google Summer of Code.&lt;br /&gt;
You can find some documentation here : &lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014&lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014/sugar_cordova&lt;br /&gt;
http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
http://sugarcordova.blogspot.in/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;--&amp;gt;&lt;br /&gt;
No release notes for this enhancement yet&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* http://sugarcordova.blogspot.in/&lt;br /&gt;
* http://lists.sugarlabs.org/&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=93001</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=93001"/>
		<updated>2014-07-24T19:50:46Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&amp;lt;!--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?--&amp;gt;&lt;br /&gt;
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.&lt;br /&gt;
&lt;br /&gt;
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&amp;lt;!--Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.--&amp;gt;&lt;br /&gt;
This feature is an enhanced, it does not have any direct impact on sugar. It doess not need a UI. The UI is depended on the cordova app which in turn is depended on the developer of the cordova app. &lt;br /&gt;
&lt;br /&gt;
The detailed descript regarding the project can be found here : http://sugarcordova.blogspot.com/ &lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
&amp;lt;!--{{:{{PAGENAME}}/Testing}}--&amp;gt;&lt;br /&gt;
You can find instructions to test it on your systems here : http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;--&amp;gt;&lt;br /&gt;
it will help the cross platforms apps to be deployed in sugar activities. So there shall be an increase in activities.Developers would be able to develop activities for sugar more easily ( using only the web languages) and the users shall have the access to a great variety of apps. Say the same app they have in android or ios or windows would be now available in sugar. Hence, sugar would support the apps which run on different platforms so that the sugar users are not deprived of the taste of different applications ( activities for sugar)&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;--&amp;gt;&lt;br /&gt;
This project also needs to contribute to the cordova repositories apart from sugar side.So we need to co-ordinate with the cordova community and get our additions to the cordova code be accepted. Only then can the sugar platform for cordova can be launched.&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;--&amp;gt;&lt;br /&gt;
The most of the parts of the project are almost done through and incase you wish to remove the feature so you can simply cut off the portions added in apisocket.py and delete the cordova folder in jarabe.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;--&amp;gt;&lt;br /&gt;
The topic was proposed as a part of Google Summer of Code.&lt;br /&gt;
You can find some documentation here : &lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014&lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014/sugar_cordova&lt;br /&gt;
http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
http://sugarcordova.blogspot.in/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&amp;lt;!-&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;--&amp;gt;&lt;br /&gt;
No release notes for this enhancement yet&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* http://sugarcordova.blogspot.in/&lt;br /&gt;
* http://lists.sugarlabs.org/&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Talk:Features/Cordova_Container_for_Sugar&amp;diff=93000</id>
		<title>Talk:Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Talk:Features/Cordova_Container_for_Sugar&amp;diff=93000"/>
		<updated>2014-07-24T19:49:31Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: Created page with &amp;quot;Hi, you can discuss here regarding the feature of adding the cordova layer to sugar&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi, you can discuss here regarding the feature of adding the cordova layer to sugar&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92999</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92999"/>
		<updated>2014-07-24T19:47:53Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&amp;lt;!--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?--&amp;gt;&lt;br /&gt;
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.&lt;br /&gt;
&lt;br /&gt;
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&amp;lt;!--Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.--&amp;gt;&lt;br /&gt;
This feature is an enhanced, it does not have any direct impact on sugar. It doess not need a UI. The UI is depended on the cordova app which in turn is depended on the developer of the cordova app. &lt;br /&gt;
&lt;br /&gt;
The detailed descript regarding the project can be found here : http://sugarcordova.blogspot.com/ &lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
&amp;lt;!--{{:{{PAGENAME}}/Testing}}--&amp;gt;&lt;br /&gt;
You can find instructions to test it on your systems here : http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;--&amp;gt;&lt;br /&gt;
it will help the cross platforms apps to be deployed in sugar activities. So there shall be an increase in activities.Developers would be able to develop activities for sugar more easily ( using only the web languages) and the users shall have the access to a great variety of apps. Say the same app they have in android or ios or windows would be now available in sugar. Hence, sugar would support the apps which run on different platforms so that the sugar users are not deprived of the taste of different applications ( activities for sugar)&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;--&amp;gt;&lt;br /&gt;
This project also needs to contribute to the cordova repositories apart from sugar side.So we need to co-ordinate with the cordova community and get our additions to the cordova code be accepted. Only then can the sugar platform for cordova can be launched.&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;--&amp;gt;&lt;br /&gt;
The most of the parts of the project are almost done through and incase you wish to remove the feature so you can simply cut off the portions added in apisocket.py and delete the cordova folder in jarabe.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;--&amp;gt;&lt;br /&gt;
The topic was proposed as a part of Google Summer of Code.&lt;br /&gt;
You can find some documentation here : &lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014&lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014/sugar_cordova&lt;br /&gt;
http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
http://sugarcordova.blogspot.in/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&amp;lt;!-&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;--&amp;gt;&lt;br /&gt;
No release notes for this enhancement yet&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92998</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92998"/>
		<updated>2014-07-24T19:44:54Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&amp;lt;!--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?--&amp;gt;&lt;br /&gt;
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.&lt;br /&gt;
&lt;br /&gt;
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&amp;lt;!--Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.--&amp;gt;&lt;br /&gt;
This feature is an enhanced, it does not have any direct impact on sugar. It doess not need a UI. The UI is depended on the cordova app which in turn is depended on the developer of the cordova app. &lt;br /&gt;
&lt;br /&gt;
The detailed descript regarding the project can be found here : http://sugarcordova.blogspot.com/ &lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
&amp;lt;!--{{:{{PAGENAME}}/Testing}}--&amp;gt;&lt;br /&gt;
You can find instructions to test it on your systems here : http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;--&amp;gt;&lt;br /&gt;
it will help the cross platforms apps to be deployed in sugar activities. So there shall be an increase in activities.Developers would be able to develop activities for sugar more easily ( using only the web languages) and the users shall have the access to a great variety of apps. Say the same app they have in android or ios or windows would be now available in sugar. Hence, sugar would support the apps which run on different platforms so that the sugar users are not deprived of the taste of different applications ( activities for sugar)&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;--&amp;gt;&lt;br /&gt;
This project also needs to contribute to the cordova repositories apart from sugar side.So we need to co-ordinate with the cordova community and get our additions to the cordova code be accepted. Only then can the sugar platform for cordova can be launched.&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;--&amp;gt;&lt;br /&gt;
The most of the parts of the project are almost done through and incase you wish to remove the feature so you can simply cut off the portions added in apisocket.py and delete the cordova folder in jarabe.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
The topic was proposed as a part of Google Summer of Code.&lt;br /&gt;
You can find some documentation here : &lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014&lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014/sugar_cordova&lt;br /&gt;
http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
http://sugarcordova.blogspot.in/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92997</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92997"/>
		<updated>2014-07-24T19:43:24Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&amp;lt;!--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?--&amp;gt;&lt;br /&gt;
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.&lt;br /&gt;
&lt;br /&gt;
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&amp;lt;!--Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.--&amp;gt;&lt;br /&gt;
This feature is an enhanced, it does not have any direct impact on sugar. It doess not need a UI. The UI is depended on the cordova app which in turn is depended on the developer of the cordova app. &lt;br /&gt;
&lt;br /&gt;
The detailed descript regarding the project can be found here : http://sugarcordova.blogspot.com/ &lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
&amp;lt;!--{{:{{PAGENAME}}/Testing}}--&amp;gt;&lt;br /&gt;
You can find instructions to test it on your systems here : http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;--&amp;gt;&lt;br /&gt;
it will help the cross platforms apps to be deployed in sugar activities. So there shall be an increase in activities.Developers would be able to develop activities for sugar more easily ( using only the web languages) and the users shall have the access to a great variety of apps. Say the same app they have in android or ios or windows would be now available in sugar. Hence, sugar would support the apps which run on different platforms so that the sugar users are not deprived of the taste of different applications ( activities for sugar)&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;--&amp;gt;&lt;br /&gt;
This project also needs to contribute to the cordova repositories apart from sugar side.So we need to co-ordinate with the cordova community and get our additions to the cordova code be accepted. Only then can the sugar platform for cordova can be launched.&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;--&amp;gt;&lt;br /&gt;
The most of the parts of the project are almost done through and incase you wish to remove the feature so you can simply cut off the portions added in apisocket.py and delete the cordova folder in jarabe.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;--&amp;gt;&lt;br /&gt;
The topic was proposed as a part of Google Summer of Code.&lt;br /&gt;
You can find some documentation here : &lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014&lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014/sugar_cordova&lt;br /&gt;
http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
http://sugarcordova.blogspot.in/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92996</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92996"/>
		<updated>2014-07-24T19:42:41Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&amp;lt;!--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?--&amp;gt;&lt;br /&gt;
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.&lt;br /&gt;
&lt;br /&gt;
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&amp;lt;!--Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.--&amp;gt;&lt;br /&gt;
This feature is an enhanced, it does not have any direct impact on sugar. It doess not need a UI. The UI is depended on the cordova app which in turn is depended on the developer of the cordova app. &lt;br /&gt;
&lt;br /&gt;
The detailed descript regarding the project can be found here : http://sugarcordova.blogspot.com/ &lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
&amp;lt;!--{{:{{PAGENAME}}/Testing}}--&amp;gt;&lt;br /&gt;
You can find instructions to test it on your systems here : http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;--&amp;gt;&lt;br /&gt;
it will help the cross platforms apps to be deployed in sugar activities. So there shall be an increase in activities.Developers would be able to develop activities for sugar more easily ( using only the web languages) and the users shall have the access to a great variety of apps. Say the same app they have in android or ios or windows would be now available in sugar. Hence, sugar would support the apps which run on different platforms so that the sugar users are not deprived of the taste of different applications ( activities for sugar)&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;--&amp;gt;&lt;br /&gt;
This project also needs to contribute to the cordova repositories apart from sugar side.So we need to co-ordinate with the cordova community and get our additions to the cordova code be accepted. Only then can the sugar platform for cordova can be launched.&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;--&amp;gt;&lt;br /&gt;
The most of the parts of the project are almost done through and incase you wish to remove the feature so you can simply cut off the portions added in apisocket.py and delete the cordova folder in jarabe.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
The topic was proposed as a part of Google Summer of Code.&lt;br /&gt;
You can find some documentation here : &lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014&lt;br /&gt;
http://wiki.sugarlabs.org/go/Summer_of_Code/2014/sugar_cordova&lt;br /&gt;
http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
http://sugarcordova.blogspot.in/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92995</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92995"/>
		<updated>2014-07-24T19:39:59Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&amp;lt;!--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?--&amp;gt;&lt;br /&gt;
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.&lt;br /&gt;
&lt;br /&gt;
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&amp;lt;!--Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.--&amp;gt;&lt;br /&gt;
This feature is an enhanced, it does not have any direct impact on sugar. It doess not need a UI. The UI is depended on the cordova app which in turn is depended on the developer of the cordova app. &lt;br /&gt;
&lt;br /&gt;
The detailed descript regarding the project can be found here : http://sugarcordova.blogspot.com/ &lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
&amp;lt;!--{{:{{PAGENAME}}/Testing}}--&amp;gt;&lt;br /&gt;
You can find instructions to test it on your systems here : http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;--&amp;gt;&lt;br /&gt;
it will help the cross platforms apps to be deployed in sugar activities. So there shall be an increase in activities.Developers would be able to develop activities for sugar more easily ( using only the web languages) and the users shall have the access to a great variety of apps. Say the same app they have in android or ios or windows would be now available in sugar. Hence, sugar would support the apps which run on different platforms so that the sugar users are not deprived of the taste of different applications ( activities for sugar)&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;--&amp;gt;&lt;br /&gt;
This project also needs to contribute to the cordova repositories apart from sugar side.So we need to co-ordinate with the cordova community and get our additions to the cordova code be accepted. Only then can the sugar platform for cordova can be launched.&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;--&amp;gt;&lt;br /&gt;
The most of the parts of the project are almost done through and incase you wish to remove the feature so you can simply cut off the portions added in apisocket.py and delete the cordova folder in jarabe.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92994</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92994"/>
		<updated>2014-07-24T19:38:27Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&amp;lt;!--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?--&amp;gt;&lt;br /&gt;
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.&lt;br /&gt;
&lt;br /&gt;
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&amp;lt;!--Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.--&amp;gt;&lt;br /&gt;
This feature is an enhanced, it does not have any direct impact on sugar. It doess not need a UI. The UI is depended on the cordova app which in turn is depended on the developer of the cordova app. &lt;br /&gt;
&lt;br /&gt;
The detailed descript regarding the project can be found here : http://sugarcordova.blogspot.com/ &lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
&amp;lt;!--{{:{{PAGENAME}}/Testing}}--&amp;gt;&lt;br /&gt;
You can find instructions to test it on your systems here : http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;--&amp;gt;&lt;br /&gt;
it will help the cross platforms apps to be deployed in sugar activities. So there shall be an increase in activities.Developers would be able to develop activities for sugar more easily ( using only the web languages) and the users shall have the access to a great variety of apps. Say the same app they have in android or ios or windows would be now available in sugar. Hence, sugar would support the apps which run on different platforms so that the sugar users are not deprived of the taste of different applications ( activities for sugar)&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;--&amp;gt;&lt;br /&gt;
This project also needs to contribute to the cordova repositories apart from sugar side.So we need to co-ordinate with the cordova community and get our additions to the cordova code be accepted. Only then can the sugar platform for cordova can be launched.&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92993</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92993"/>
		<updated>2014-07-24T19:35:52Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&amp;lt;!--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?--&amp;gt;&lt;br /&gt;
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.&lt;br /&gt;
&lt;br /&gt;
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&amp;lt;!--Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.--&amp;gt;&lt;br /&gt;
This feature is an enhanced, it does not have any direct impact on sugar. It doess not need a UI. The UI is depended on the cordova app which in turn is depended on the developer of the cordova app. &lt;br /&gt;
&lt;br /&gt;
The detailed descript regarding the project can be found here : http://sugarcordova.blogspot.com/ &lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
&amp;lt;!--{{:{{PAGENAME}}/Testing}}--&amp;gt;&lt;br /&gt;
You can find instructions to test it on your systems here : http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&amp;lt;!--&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;--&amp;gt;&lt;br /&gt;
it will help the cross platforms apps to be deployed in sugar activities. So there shall be an increase in activities.Developers would be able to develop activities for sugar more easily ( using only the web languages) and the users shall have the access to a great variety of apps. Say the same app they have in android or ios or windows would be now available in sugar. Hence, sugar would support the apps which run on different platforms so that the sugar users are not deprived of the taste of different applications ( activities for sugar)&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92992</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92992"/>
		<updated>2014-07-24T19:30:41Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&amp;lt;!--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?--&amp;gt;&lt;br /&gt;
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.&lt;br /&gt;
&lt;br /&gt;
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&amp;lt;!--Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.--&amp;gt;&lt;br /&gt;
This feature is an enhanced, it does not have any direct impact on sugar. It doess not need a UI. The UI is depended on the cordova app which in turn is depended on the developer of the cordova app. &lt;br /&gt;
&lt;br /&gt;
The detailed descript regarding the project can be found here : http://sugarcordova.blogspot.com/ &lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
&amp;lt;!--{{:{{PAGENAME}}/Testing}}--&amp;gt;&lt;br /&gt;
You can find instructions to test it on your systems here : http://wiki.sugarlabs.org/go/Sugar_Cordova&lt;br /&gt;
&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92991</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92991"/>
		<updated>2014-07-24T19:26:53Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&amp;lt;!--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?--&amp;gt;&lt;br /&gt;
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.&lt;br /&gt;
&lt;br /&gt;
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&#039;&#039;Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
{{:{{PAGENAME}}/Testing}}&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Category:Sugar_cordova&amp;diff=92990</id>
		<title>Category:Sugar cordova</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Category:Sugar_cordova&amp;diff=92990"/>
		<updated>2014-07-24T19:25:50Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: Created page with &amp;quot;Category for all the sugar cordova related information&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Category for all the sugar cordova related information&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92989</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92989"/>
		<updated>2014-07-24T19:24:59Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&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;
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.&lt;br /&gt;
&lt;br /&gt;
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&#039;&#039;Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
{{:{{PAGENAME}}/Testing}}&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=92988</id>
		<title>Summer of Code/2014/sugar cordova</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=92988"/>
		<updated>2014-07-24T19:24:42Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:GSoC |.]]&lt;br /&gt;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;!-- Please fix Section Header lengths to make a usable Table of Contents. (Use other means to format those lines). --&amp;gt;&lt;br /&gt;
{{Box|&#039;&#039;&#039;Project blog:&#039;&#039;&#039; http://sugarcordova.blogspot.in/}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==About me==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== My name ====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your email address? =====&lt;br /&gt;
puneet.gkaur@gmail.com&lt;br /&gt;
&lt;br /&gt;
===== What is your Sugar Labs wiki username? =====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your IRC nickname on irc.freenode.net? =====&lt;br /&gt;
puneet_kaur&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
English&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
Delhi, India&lt;br /&gt;
Work time are not fixed, work as I get time from my regular coursework&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
Did contribute a little to the sugar project.A small contribution can be found here[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba] .This patch was possible only by the cooperative support of Gonzalo. I worked on sugar in August - September last year. I went through the paint code to know the possible ways by which we can incoporate the functionality of saving the tool state at which the user left before saving the activity.This is done by storing the values of the tool and its corresponding state in form of json.I wish to contribute more to this wonderful community with supportive people around and that&#039;s why I am applying this time to gsoc. I hope to make a good contribution to the community. Many communities dont really care about different people writing to them or review their mails and respond in time. The best part I love about the sugar community is that whether its walter bender or gonzalo or lionel or anybody else, they will surely make it a point to respond back to the people in the best possible manner and never hesitate sharing their knowledge with other.This is the reason why I too wish to be a part of this community where people care for and support each other.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
==== What is the name of your project? ====&lt;br /&gt;
Cordova container for sugar platform&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
This project is aimed at building a new platform on cordova for sugar. It shall help us to build activities for mobile using html,js and css and the interaction with the device&#039;s native api can be provided by invoking the javascript libraries. These libraries provide device specific native backing code.We can access the camera functions and many others using javascript alone.So basically the mobile apps can be built in js rather than native code which implies that knowing the native code to built an activity and to interact with device functionality is no longer a neccesity.The technologies required to complete this project are javascript,python programming knowledge and sugar built, cordova platform for developing upon.&lt;br /&gt;
&lt;br /&gt;
The figure below shows how the hybrid apps help the developers to port their applications to different platforms using the cordova platform and give a view why developing the cordova container for sugar would be useful.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova applications run on different platforms.png|center|500px|Figure1]]&lt;br /&gt;
&lt;br /&gt;
Also the application build using HTML,CSS,JS can be designed to run over various devices which in turn provides the developer to develop apps which are universal in nature. This can be achieved by making the design responsive which adapts according to the device&#039;s features.This forms a key reason why we would want to develop using HTML,CSS and JS usiing the cordova platform.The concept can be explained by the following image.&lt;br /&gt;
&lt;br /&gt;
[[File:Why_is_cordova_neccesary.jpg|center|500px|Figure2]]&lt;br /&gt;
&lt;br /&gt;
The main part allowing the interoperability of the html apps over different platforms is the cordova libraries that provide the javascript APIs.The high level view of the cordova architecture which allows seamless operation over different platforms can be explained as below.The native platform API&#039;s are first developed which communicate with the cordova libraries, these native cordova libraries then communicate with the javascript APIs which the developer uses to develop his HTML, CSS and JS application.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova_Html_application_on_different_platforms.jpg|center|650px|Figure3]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To allow the web developers to interact with the device&#039;s native functionality, we shall build a communication between the python and javascript part by using the sugar web architecture.Once that is done, we then need to add to the cordova-js project of cordova - which provides the common API&#039;s for sending messages and triggering error and success callbacks with native framework responses.The high level view of the architecture to be built can be specified as follows.The cordova plugins will interact with the sugar platform through the sugar API (we need to develop that) and with the webview through its native API.This will then provide a javascript API to developers for their apps.&lt;br /&gt;
&lt;br /&gt;
[[File:Sugar_cordova_architecture.jpg|center|650px|Figure4]]&lt;br /&gt;
&lt;br /&gt;
Hence as per the above diagram we shall be building the cordova plugins, sugar api which interacts with the cordova plugins,the native cordova api which interacts with the webview and the javascript API which allows the developers to make their apps directly on HTML,CSS and JS using the device functionality through plugins and customs plugins.&lt;br /&gt;
&lt;br /&gt;
So in a nutshell we shall develop the middle layer, which shall help the HTML apps to communicate with the sugar platform beneath.We shall build the cordova part as well as the native APIs needed to communicate with the cordova middle layer.Finally we shall provide the javascript APIs though which the developers can make their HTML apps for the sugar platform.So the final goal of the project is to provide the javascript APIs for the developers and code some sample apps which depict the usage of those APIs in the real environment&lt;br /&gt;
&lt;br /&gt;
===== What is the timeline for development of your project? The Summer of Code work period is from May 19 - August 22; 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 (27 June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. =====&lt;br /&gt;
April 21 –May 19 – Talk with my mentors and discuss a clear outline of the project, define steps to approach the problem and discuss ways by which we can attack the issue, understand all the technicalities required for the project - the sugar -web architecture through the code, the record activity and other python code on which we shall be developing, start coding in python as required &amp;lt;br /&amp;gt;&lt;br /&gt;
May 19 – May 31 – Code up the sugar APIs required for the further building the cordova plugins&amp;lt;br /&amp;gt;&lt;br /&gt;
May 31 - June 15 - Code the cordova plugins and the corresponding code in the cordova native APIs , write the javascript APIs&amp;lt;br /&amp;gt;&lt;br /&gt;
June 15 - June 30 - Make a sample activity to show the working of the architecture developed&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mid Term Examination&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
July 1 - July 15 - add more plugins, improve upon the existing code as required&amp;lt;br /&amp;gt;&lt;br /&gt;
July 15 - July 31 - write the corresponding activities for the plugins added above and test the work done till now&amp;lt;br /&amp;gt;&lt;br /&gt;
August 1 - August 18 - Document the work, APIs and improve upon the existing project&lt;br /&gt;
&lt;br /&gt;
===== 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. =====&lt;br /&gt;
I have already worked on sugar before, configured it and been with it for a few months, so I think I can develop on it.Same goes for cordova as well.Have developed apps on phonegap cordova.Hence I felt I would be in a position to help out in this project. Previously apart from sugar and phonegap I have done projects on C, php and java.&amp;lt;br /&amp;gt;&lt;br /&gt;
I have added all my project and their code on github , you can have a look [https://github.com/puneetgkaur]&lt;br /&gt;
Some of my earlier projects include : &lt;br /&gt;
* Flowchart Generator - It was developed using C language.It takes input as a C programs and extracts the control units out of it and analyses the flow structure to finally output a corresponding graph matrix for the program.This helped to automatically generate test cases for a given program.This project was made use in the program submission portal whereby the students submitted programs as a part of their assignment.The students programs were run for all the test cases generated from the teacher&#039;s program ( a program submitted by the teacher was considered to be correct).The project  allowed to generate the corresponding graph matrix of the teacher&#039;s code and hence helping to generate the test cases based on which the accuracy of the students code was tested.&lt;br /&gt;
* Data Enrichment through Twitter and Google API : I did this project as a part of my internship.This project was developed basically in Java.The aim was to dig out the information about Food Poisoning Incidents in Singapore and the analyse the results in a systematic manner to join the dots and draw some conclusions based on it.We extracted the tweets related to food poisoning by specifying some parameters and then fetched information from a particular site which mentioned about the restaurants and their location.Also Google Map API was used to find the location of the restaurants, and some more information from the different blogs fetched and filtered out to draw useful conclusion related to the food poisoning incidents.&lt;br /&gt;
* Amazon In App Purchase : Integrated the amazon in app purchase feature in the phonegap android app, the corresponding code can be found on the github site.&lt;br /&gt;
* Integration of dropbox sync feature in Android Phonegap App : Integrated the dropbox sync API with the android phonegap app which allowed to sync and upload / download the objects using the the dropbox sync API&lt;br /&gt;
* Paint Alarm PhoneGap App : In a alarm clock application build on phonegap, I provided the feature to draw and paint your own wallpaper.Here the cordova&#039;s camera feature was also used.User had an option to include the picture from the gallery or click it right from the camera and insert in the canvas upon which he could draw.This picture was then stored in the phone memory and could be uploaded to the user&#039;s dropbox account using the dropbox sync API&lt;br /&gt;
*Online Treasure Hunt : Made an online PHP game for our technical fest.MySQL was used at the backend to store the information and the php logic was used to determine whether the user should be allowed to go to the next level. The leader board was developed according to the time taken by the user to solve the questions.&lt;br /&gt;
*Have been a part of website team of the [http://www.csi-india.org/ CSI(Computer Society of India)] technical society of our college for three consecutive years and have helped develop sites for the society and fest.&lt;br /&gt;
*Have contributed to sugar in past[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== You and the community ==&lt;br /&gt;
&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;
&#039;&#039;&#039;Lionel :&#039;&#039;&#039; Today, Sugar activities written using the Sugar Web Framework had limited features because they can&#039;t benefit to device capabilities (camera, audio/video capture, accelerometer, network detection, ...). Integrating a PhoneGap container into Sugar will allow to provide the same level of features to Sugar Web activities than existing Sugar activities. Plus it will allow to web developers familiar with PhoneGap/Cordova framework to easily port or adapt their applications to Sugar. So we could expect to enhance the community of developers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suraj KS&#039;&#039;&#039; : Writing activities using HTML5/JavaScript has already given a big boost to Sugar. Once we can get wrap it in a Cordova/Phonegap container, it&#039;ll transform Sugar Web activities to a whole new level by utilizing the PhoneGap features. This could further attract many more developers towards Sugar and thereby improving both the quality and quantity of Sugar activities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Puneet Kaur :&#039;&#039;&#039; I think once this project is completed it will help people to develop activities directly on html,js and css and the developers don&#039;t even need to know the native language in order to interact with the device functionalities like camera etc.This will lead to a great expansion of sugar as all the mobile developers who know to code in html,js and css which isn&#039;t much difficult can easily pull in all the cool functions here and make the interaction with the sugar platform much more entertaining than before without much of an effort !&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;
Get in touch with other people of the community who can help.I think I would get some help from other experts in the community.Ask questions over IRC channel.Ask question in other doubt forums.Try searching on my own. Get in touch with people outside the community who can help. For the cordova related help, will ask people from the cordova community for help and do the brainstorming on my own. Try possible methods.Debug it.Analyze why it went wrong or what should be done based on my previous experience. &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;
I&#039;ll blog about the progress and ask my queries to my mentor, ask on IRC or over the mailing list&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== We want to make sure that you can set up a development environment before the summer starts. Please do one of the following: 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;. Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.It&#039;s normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help. ====&lt;br /&gt;
&lt;br /&gt;
[[File:puneet kaur_sugar development environment setup.jpg|thumb|upright=3|center]]&lt;br /&gt;
&lt;br /&gt;
==== Describe a great learning experience you had as a child. ====&lt;br /&gt;
Drawing, Painting and Art. I loved to draw things.Sketch them,paint them in different colors.Drawing basically used to provide a way to unlimited creativity.It used to present a simple blank paper upon which we could lay our imagination in the way we wanted.It new no boundaries and that&#039;s what made me fall in love with art.&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 so fascinated with the project that I would love to work on it even outside GSOC. Would love to contribute to this opensource community which has indeed given the world a beautiful product which helps in learning.&lt;br /&gt;
I have always been attracted to the education world and sugar labs has developed a wonderful solution to the problem the kids face.I see a lot of poor kids out there in my own land and feel sorry for them as they don&#039;t have access to the right education tools they must have. Hence, I feel a natural inclination towards this community and indeed wish to bring sugar labs to a much larger scale than is presently where each kid of the world experiences the joy of learning interactively. For somewhere down the line the root cause of all the ill in the world - crimes etc are related to the fact that the kids are not provided with the right set of values and education they must have been taught at that early stage.&lt;br /&gt;
So sugar forms an essential part of this vision and would be great to see the kids in my country using it and benefiting.Hence I wish to contribute to the project as a part of giving back to the world what I have gained from it so far.&lt;br /&gt;
would love to contribute to sugar otherwise also if not as a part of gsoc and specially take up this project as it fascinates me.&lt;br /&gt;
&lt;br /&gt;
==== Please include the category tag at the bottom of your page: ====&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Sugar_Cordova&amp;diff=92987</id>
		<title>Sugar Cordova</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Sugar_Cordova&amp;diff=92987"/>
		<updated>2014-07-24T19:23:42Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:sugar cordova|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== INSTRUCTIONS TO SET UP SUGAR CORDOVA ==&lt;br /&gt;
&lt;br /&gt;
=== BELOW PROCEDURE IS FOR LINUX (MUST RUN FOR MAC TOO) : ===&lt;br /&gt;
&lt;br /&gt;
==== SETTING UP CORDOVA DEVELOPMENT ENVIRONMENT : ==== &lt;br /&gt;
&lt;br /&gt;
Pre-Requirements : must have node and npm installed&lt;br /&gt;
&lt;br /&gt;
1. Git clone : https://github.com/apache/cordova-cli , https://github.com/apache/cordova-lib and https://github.com/apache/cordova-plugman in a directory&lt;br /&gt;
&lt;br /&gt;
2. Go inside cordova-lib, you&#039;ll find another cordova-lib inside it, issue the command npm install, npm link inside it.&lt;br /&gt;
&lt;br /&gt;
3. Now cd to cordova-cli, and issue npm install in it then issue npm link cordova-lib&lt;br /&gt;
&lt;br /&gt;
4. cd to cordova-plugman, and repeat the steps for cordova-cli here - ( issuing npm install - same way to correct if any error , issue npm link cordova-lib)&lt;br /&gt;
&lt;br /&gt;
==== ADDITION FOR ADDING THE SUGAR PLATFORM ====&lt;br /&gt;
&lt;br /&gt;
1. Add the following in cordova-cli/node_modules/cordova-lib/src/cordova/platforms.js [Note the s in platforms, it differentiates from platform.js] :&lt;br /&gt;
&lt;br /&gt;
&#039;sugar&#039;:{&lt;br /&gt;
parser: &#039;./metadata/sugar_parser&#039;,&lt;br /&gt;
url : &#039;https://github.com/puneetgkaur/sugar-cordova.git&#039;,&lt;br /&gt;
version: &#039;3.5.0&#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.Add the following to cordova-cli/node_modules/cordova-lib/src/plugman/platforms.js :&lt;br /&gt;
&lt;br /&gt;
&#039;sugar&#039;: require(&#039;./platforms/sugar&#039;)&lt;br /&gt;
&lt;br /&gt;
3. Add the sugar_parser.js to cordova-cli/node_modules/cordova-lib/src/cordova/metadata from : &lt;br /&gt;
https://github.com/puneetgkaur/cordova-lib/blob/master/src/cordova/metadata/sugar_parser.js&lt;br /&gt;
&lt;br /&gt;
4. Add sugar.js to cordova-cli/node_modules/cordova-lib/src/plugman/platforms&lt;br /&gt;
https://github.com/puneetgkaur/cordova-lib/blob/master/src/plugman/platforms/sugar.js&lt;br /&gt;
&lt;br /&gt;
5.Unzip and add the sugar directory to home/.cordova/lib&lt;br /&gt;
https://drive.google.com/file/d/0BxC58bMp7xjuNnpWTkRNRFNnY28/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==== RUN AND CHECK ====&lt;br /&gt;
&lt;br /&gt;
1.Go to cordova-cli/bin and run the command : ./cordova create new_project&lt;br /&gt;
&lt;br /&gt;
2. cd to the new_project directory created inside the bin folder&lt;br /&gt;
   There run the command :&lt;br /&gt;
&lt;br /&gt;
.././cordova platform add sugar&lt;br /&gt;
&lt;br /&gt;
4. Then to build run :&lt;br /&gt;
&lt;br /&gt;
.././cordova build sugar&lt;br /&gt;
 &lt;br /&gt;
The .xo generated would be present in cordova-cli/bin/new_project/platforms/sugar/cordova/HelloCordova.xo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FOR WINDOWS ===&lt;br /&gt;
&lt;br /&gt;
==== SETTING CORDOVA CLI AND ADDING SUGAR ====&lt;br /&gt;
&lt;br /&gt;
The setting up of cordova is same (get the nodejs msi to install both node and npm)&lt;br /&gt;
​​&lt;br /&gt;
​&lt;br /&gt;
1. Add the following in cordova-cli\node_modules\cordova-lib\src\cordova\platforms.js [Note the s in platforms, it differentiates from platform] :&lt;br /&gt;
&lt;br /&gt;
&#039;sugar&#039;:{&lt;br /&gt;
parser: &#039;./metadata/sugar_parser&#039;,&lt;br /&gt;
url : &#039;https://github.com/puneetgkaur/sugar-cordova.git&#039;,&lt;br /&gt;
version: &#039;3.5.0&#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
2.Add the following to cordova-cli\node_modules\cordova-lib\src\plugman\platforms.js :&lt;br /&gt;
&lt;br /&gt;
&#039;sugar&#039;: require(&#039;./platforms/sugar&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Add the sugar_parser.js to cordova-cli\node_modules\cordova-lib\src\cordova\metadata&lt;br /&gt;
https://github.com/puneetgkaur/cordova-lib/blob/master/src/cordova/metadata/sugar_parser.js&lt;br /&gt;
&lt;br /&gt;
4. Add sugar.js to cordova-cli\node_modules\cordova-lib\src\plugman\platforms&lt;br /&gt;
https://github.com/puneetgkaur/cordova-lib/blob/master/src/plugman/platforms/sugar.js&lt;br /&gt;
&lt;br /&gt;
5.Add the sugar directory to C:\Users\&amp;lt;your user name&amp;gt;\.cordova\lib&lt;br /&gt;
https://drive.google.com/file/d/0BxC58bMp7xjuNnpWTkRNRFNnY28/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==== RUN AND CHECK ====&lt;br /&gt;
&lt;br /&gt;
1.Go to cordova-cli\bin and type : cordova create &amp;lt;prj_directory&amp;gt; &amp;lt;prj_id&amp;gt; &amp;lt;prj_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. cd to the project directory created inside the bin folder&lt;br /&gt;
&lt;br /&gt;
3.There run the command :&lt;br /&gt;
..\cordova platform add sugar&lt;br /&gt;
&lt;br /&gt;
4. Then to build run :&lt;br /&gt;
..\cordova build sugar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE : the windows users must install 7zip and set the environment variable ZIPCOMMAND with the command :  set ZIPCOMMAND=&amp;quot;c:\Program Files\7-Zip\7z.exe&amp;quot; a -r -tzip -aoa before issuing the cordova build command&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92986</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92986"/>
		<updated>2014-07-24T19:22:04Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:Cordova for Sugar|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&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;
The changes required on the sugar front would be the support to the cordova plugins. So we basically need to handle the request from the js side and provide the required response back to js. For this we need to build the native side of the various plugins. As we develop support for more plugins , we shall add more code to the sugar front to provide support for them, this is because we wish to abstract the background process of interacting with the lower layer from the user and expose to the user only the cordova api which they can use to develop their app.&lt;br /&gt;
&lt;br /&gt;
The basic area of change would the apisocket.py through which we communicate with the js side and back. Also we shall add various files which provide the native support for the plugins in a folder named cordova , which is imported in apisocket.py&lt;br /&gt;
&lt;br /&gt;
==UI Design==&lt;br /&gt;
&#039;&#039;Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
{{:{{PAGENAME}}/Testing}}&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92985</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92985"/>
		<updated>2014-07-24T19:17:56Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:Cordova for Sugar|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&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;
==UI Design==&lt;br /&gt;
&#039;&#039;Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
{{:{{PAGENAME}}/Testing}}&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92984</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92984"/>
		<updated>2014-07-24T19:17:26Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:Cordova for Sugar|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
&#039;&#039;What is the benefit 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;
&#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;
Sugar will be benefited from the cordova layer development as more people ( those with knowing only html,js and css) can contribute to the sugar. People can port their apps to the sugar and see them working live.They dont need to learn the gtk stack or sugar native api to build up activities.Sugar will support the cross platforms apps which work across different platforms and hence the sugar audience would have a better experience&lt;br /&gt;
&lt;br /&gt;
== Scope ==&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;
==UI Design==&lt;br /&gt;
&#039;&#039;Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
{{:{{PAGENAME}}/Testing}}&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92983</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92983"/>
		<updated>2014-07-24T19:14:55Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:Cordova for Sugar|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
Cordova is basically used as a middle layer between the web app and the native source code. This layer abstracts the native source code by providing its own api which can be used to access most of the functionality features of the native source code.So basically we can access the low lying features( features closer to hardware) through the web app.This enables the developers to keep the same code at top and achieve the same functionality from different platforms.Thus, the web app developers dont need to change their app&#039;s code to port it to different platforms if the app is made with cordova and the platform on which he has to port supports cordova.Thus, cordova helps us to make cross platforms apps.This will attract the web app developers to sugar community and help them launch their activities in sugar without playing or learning the native bindings.&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
&#039;&#039;What is the benefit 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;
&#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;
== Scope ==&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;
==UI Design==&lt;br /&gt;
&#039;&#039;Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
{{:{{PAGENAME}}/Testing}}&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92982</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92982"/>
		<updated>2014-07-24T19:09:19Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:Cordova for Sugar|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&#039;&#039;Expand on the summary, if appropriate.  A couple of sentences suffices to explain the goal, but the more details you can provide the better.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
&#039;&#039;What is the benefit 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;
&#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;
== Scope ==&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;
==UI Design==&lt;br /&gt;
&#039;&#039;Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
{{:{{PAGENAME}}/Testing}}&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92981</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92981"/>
		<updated>2014-07-24T19:08:42Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:Cordova for Sugar|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: 90%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&#039;&#039;Expand on the summary, if appropriate.  A couple of sentences suffices to explain the goal, but the more details you can provide the better.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
&#039;&#039;What is the benefit 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;
&#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;
== Scope ==&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;
==UI Design==&lt;br /&gt;
&#039;&#039;Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
{{:{{PAGENAME}}/Testing}}&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92980</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92980"/>
		<updated>2014-07-24T19:08:13Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:Cordova for Sugar|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
The cordova container for sugar would help us access all the native device functionalities through the cordova layer.This basically corresponds to the fact that we shall be able to support the cross platform apps. A cordova app which uses some camera feature in android would be able to do same in sugar using the same code.So the developers dont need to recode their apps to get them to the sugar environment.All their apps for the IOS, windows , android etc would work in sugar through the cordova api.&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&#039;&#039;Expand on the summary, if appropriate.  A couple of sentences suffices to explain the goal, but the more details you can provide the better.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
&#039;&#039;What is the benefit 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;
&#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;
== Scope ==&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;
==UI Design==&lt;br /&gt;
&#039;&#039;Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
{{:{{PAGENAME}}/Testing}}&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92979</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92979"/>
		<updated>2014-07-24T19:05:01Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:Cordova for Sugar|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
&#039;&#039;A sentence or two summarizing what this feature is and what it will do. This information is used for the overall feature summary page for each release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Owner ==&lt;br /&gt;
* Name: Lionel Laske&lt;br /&gt;
* Email: lionel@olpc-france.org&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: 0.104&lt;br /&gt;
* Last updated: 25th July,2014&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&#039;&#039;Expand on the summary, if appropriate.  A couple of sentences suffices to explain the goal, but the more details you can provide the better.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
&#039;&#039;What is the benefit 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;
&#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;
== Scope ==&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;
==UI Design==&lt;br /&gt;
&#039;&#039;Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
{{:{{PAGENAME}}/Testing}}&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Sugar_Cordova&amp;diff=92953</id>
		<title>Sugar Cordova</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Sugar_Cordova&amp;diff=92953"/>
		<updated>2014-07-22T15:24:19Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: /* INSTRUCTIONS TO SET UP SUGAR CORDOVA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== INSTRUCTIONS TO SET UP SUGAR CORDOVA ==&lt;br /&gt;
&lt;br /&gt;
=== BELOW PROCEDURE IS FOR LINUX (MUST RUN FOR MAC TOO) : ===&lt;br /&gt;
&lt;br /&gt;
==== SETTING UP CORDOVA DEVELOPMENT ENVIRONMENT : ==== &lt;br /&gt;
&lt;br /&gt;
Pre-Requirements : must have node and npm installed&lt;br /&gt;
&lt;br /&gt;
1. Git clone : https://github.com/apache/cordova-cli , https://github.com/apache/cordova-lib and https://github.com/apache/cordova-plugman in a directory&lt;br /&gt;
&lt;br /&gt;
2. Go inside cordova-lib, you&#039;ll find another cordova-lib inside it, issue the command npm install, npm link inside it.&lt;br /&gt;
&lt;br /&gt;
3. Now cd to cordova-cli, and issue npm install in it then issue npm link cordova-lib&lt;br /&gt;
&lt;br /&gt;
4. cd to cordova-plugman, and repeat the steps for cordova-cli here - ( issuing npm install - same way to correct if any error , issue npm link cordova-lib)&lt;br /&gt;
&lt;br /&gt;
==== ADDITION FOR ADDING THE SUGAR PLATFORM ====&lt;br /&gt;
&lt;br /&gt;
1. Add the following in cordova-cli/node_modules/cordova-lib/src/cordova/platforms.js [Note the s in platforms, it differentiates from platform.js] :&lt;br /&gt;
&lt;br /&gt;
&#039;sugar&#039;:{&lt;br /&gt;
parser: &#039;./metadata/sugar_parser&#039;,&lt;br /&gt;
url : &#039;https://github.com/puneetgkaur/sugar-cordova.git&#039;,&lt;br /&gt;
version: &#039;3.5.0&#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.Add the following to cordova-cli/node_modules/cordova-lib/src/plugman/platforms.js :&lt;br /&gt;
&lt;br /&gt;
&#039;sugar&#039;: require(&#039;./platforms/sugar&#039;)&lt;br /&gt;
&lt;br /&gt;
3. Add the sugar_parser.js to cordova-cli/node_modules/cordova-lib/src/cordova/metadata from : &lt;br /&gt;
https://github.com/puneetgkaur/cordova-lib/blob/master/src/cordova/metadata/sugar_parser.js&lt;br /&gt;
&lt;br /&gt;
4. Add sugar.js to cordova-cli/node_modules/cordova-lib/src/plugman/platforms&lt;br /&gt;
https://github.com/puneetgkaur/cordova-lib/blob/master/src/plugman/platforms/sugar.js&lt;br /&gt;
&lt;br /&gt;
5.Unzip and add the sugar directory to home/.cordova/lib&lt;br /&gt;
https://drive.google.com/file/d/0BxC58bMp7xjuNnpWTkRNRFNnY28/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==== RUN AND CHECK ====&lt;br /&gt;
&lt;br /&gt;
1.Go to cordova-cli/bin and run the command : ./cordova create new_project&lt;br /&gt;
&lt;br /&gt;
2. cd to the new_project directory created inside the bin folder&lt;br /&gt;
   There run the command :&lt;br /&gt;
&lt;br /&gt;
.././cordova platform add sugar&lt;br /&gt;
&lt;br /&gt;
4. Then to build run :&lt;br /&gt;
&lt;br /&gt;
.././cordova build sugar&lt;br /&gt;
 &lt;br /&gt;
The .xo generated would be present in cordova-cli/bin/new_project/platforms/sugar/cordova/HelloCordova.xo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FOR WINDOWS ===&lt;br /&gt;
&lt;br /&gt;
==== SETTING CORDOVA CLI AND ADDING SUGAR ====&lt;br /&gt;
&lt;br /&gt;
The setting up of cordova is same (get the nodejs msi to install both node and npm)&lt;br /&gt;
​​&lt;br /&gt;
​&lt;br /&gt;
1. Add the following in cordova-cli\node_modules\cordova-lib\src\cordova\platforms.js [Note the s in platforms, it differentiates from platform] :&lt;br /&gt;
&lt;br /&gt;
&#039;sugar&#039;:{&lt;br /&gt;
parser: &#039;./metadata/sugar_parser&#039;,&lt;br /&gt;
url : &#039;https://github.com/puneetgkaur/sugar-cordova.git&#039;,&lt;br /&gt;
version: &#039;3.5.0&#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
2.Add the following to cordova-cli\node_modules\cordova-lib\src\plugman\platforms.js :&lt;br /&gt;
&lt;br /&gt;
&#039;sugar&#039;: require(&#039;./platforms/sugar&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Add the sugar_parser.js to cordova-cli\node_modules\cordova-lib\src\cordova\metadata&lt;br /&gt;
https://github.com/puneetgkaur/cordova-lib/blob/master/src/cordova/metadata/sugar_parser.js&lt;br /&gt;
&lt;br /&gt;
4. Add sugar.js to cordova-cli\node_modules\cordova-lib\src\plugman\platforms&lt;br /&gt;
https://github.com/puneetgkaur/cordova-lib/blob/master/src/plugman/platforms/sugar.js&lt;br /&gt;
&lt;br /&gt;
5.Add the sugar directory to C:\Users\&amp;lt;your user name&amp;gt;\.cordova\lib&lt;br /&gt;
https://drive.google.com/file/d/0BxC58bMp7xjuNnpWTkRNRFNnY28/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
==== RUN AND CHECK ====&lt;br /&gt;
&lt;br /&gt;
1.Go to cordova-cli\bin and type : cordova create &amp;lt;prj_directory&amp;gt; &amp;lt;prj_id&amp;gt; &amp;lt;prj_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. cd to the project directory created inside the bin folder&lt;br /&gt;
&lt;br /&gt;
3.There run the command :&lt;br /&gt;
..\cordova platform add sugar&lt;br /&gt;
&lt;br /&gt;
4. Then to build run :&lt;br /&gt;
..\cordova build sugar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE : the windows users must install 7zip and set the environment variable ZIPCOMMAND with the command :  set ZIPCOMMAND=&amp;quot;c:\Program Files\7-Zip\7z.exe&amp;quot; a -r -tzip -aoa before issuing the cordova build command&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Sugar_Cordova&amp;diff=92952</id>
		<title>Sugar Cordova</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Sugar_Cordova&amp;diff=92952"/>
		<updated>2014-07-22T15:18:15Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: Created page with &amp;quot;== INSTRUCTIONS TO SET UP SUGAR CORDOVA ==  BELOW PROCEDURE IS FOR LINUX (MUST RUN FOR MAC TOO) :  SETTING UP CORDOVA DEVELOPMENT ENVIRONMENT :   Pre-Requirements : must have ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== INSTRUCTIONS TO SET UP SUGAR CORDOVA ==&lt;br /&gt;
&lt;br /&gt;
BELOW PROCEDURE IS FOR LINUX (MUST RUN FOR MAC TOO) :&lt;br /&gt;
&lt;br /&gt;
SETTING UP CORDOVA DEVELOPMENT ENVIRONMENT : &lt;br /&gt;
&lt;br /&gt;
Pre-Requirements : must have node and npm installed&lt;br /&gt;
&lt;br /&gt;
1. Git clone : https://github.com/apache/cordova-cli , https://github.com/apache/cordova-lib and https://github.com/apache/cordova-plugman in a directory&lt;br /&gt;
&lt;br /&gt;
2. Go inside cordova-lib, you&#039;ll find another cordova-lib inside it, issue the command npm install, npm link inside it.&lt;br /&gt;
&lt;br /&gt;
3. Now cd to cordova-cli, and issue npm install in it then issue npm link cordova-lib&lt;br /&gt;
&lt;br /&gt;
4. cd to cordova-plugman, and repeat the steps for cordova-cli here - ( issuing npm install - same way to correct if any error , issue npm link cordova-lib)&lt;br /&gt;
&lt;br /&gt;
ADDITION FOR ADDING THE SUGAR PLATFORM&lt;br /&gt;
&lt;br /&gt;
1. Add the following in cordova-cli/node_modules/cordova-lib/src/cordova/platforms.js [Note the s in platforms, it differentiates from platform.js] :&lt;br /&gt;
&lt;br /&gt;
&#039;sugar&#039;:{&lt;br /&gt;
parser: &#039;./metadata/sugar_parser&#039;,&lt;br /&gt;
url : &#039;https://github.com/puneetgkaur/sugar-cordova.git&#039;,&lt;br /&gt;
version: &#039;3.5.0&#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.Add the following to cordova-cli/node_modules/cordova-lib/src/plugman/platforms.js :&lt;br /&gt;
&lt;br /&gt;
&#039;sugar&#039;: require(&#039;./platforms/sugar&#039;)&lt;br /&gt;
&lt;br /&gt;
3. Add the sugar_parser.js to cordova-cli/node_modules/cordova-lib/src/cordova/metadata from : &lt;br /&gt;
https://github.com/puneetgkaur/cordova-lib/blob/master/src/cordova/metadata/sugar_parser.js&lt;br /&gt;
&lt;br /&gt;
4. Add sugar.js to cordova-cli/node_modules/cordova-lib/src/plugman/platforms&lt;br /&gt;
https://github.com/puneetgkaur/cordova-lib/blob/master/src/plugman/platforms/sugar.js&lt;br /&gt;
&lt;br /&gt;
5.Unzip and add the sugar directory to home/.cordova/lib&lt;br /&gt;
https://drive.google.com/file/d/0BxC58bMp7xjuNnpWTkRNRFNnY28/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Now to run and check :&lt;br /&gt;
&lt;br /&gt;
1.Go to cordova-cli/bin and run the command : ./cordova create new_project&lt;br /&gt;
&lt;br /&gt;
2. cd to the new_project directory created inside the bin folder&lt;br /&gt;
   There run the command :&lt;br /&gt;
&lt;br /&gt;
.././cordova platform add sugar&lt;br /&gt;
&lt;br /&gt;
4. Then to build run :&lt;br /&gt;
&lt;br /&gt;
.././cordova build sugar&lt;br /&gt;
 &lt;br /&gt;
The .xo generated would be present in cordova-cli/bin/new_project/platforms/sugar/cordova/HelloCordova.xo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FOR WINDOWS :&lt;br /&gt;
The setting up of cordova is same (get the nodejs msi to install both node and npm)&lt;br /&gt;
​​&lt;br /&gt;
​&lt;br /&gt;
1. Add the following in cordova-cli\node_modules\cordova-lib\src\cordova\platforms.js [Note the s in platforms, it differentiates from platform] :&lt;br /&gt;
&lt;br /&gt;
&#039;sugar&#039;:{&lt;br /&gt;
parser: &#039;./metadata/sugar_parser&#039;,&lt;br /&gt;
url : &#039;https://github.com/puneetgkaur/sugar-cordova.git&#039;,&lt;br /&gt;
version: &#039;3.5.0&#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
2.Add the following to cordova-cli\node_modules\cordova-lib\src\plugman\platforms.js :&lt;br /&gt;
&lt;br /&gt;
&#039;sugar&#039;: require(&#039;./platforms/sugar&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Add the sugar_parser.js to cordova-cli\node_modules\cordova-lib\src\cordova\metadata&lt;br /&gt;
https://github.com/puneetgkaur/cordova-lib/blob/master/src/cordova/metadata/sugar_parser.js&lt;br /&gt;
&lt;br /&gt;
4. Add sugar.js to cordova-cli\node_modules\cordova-lib\src\plugman\platforms&lt;br /&gt;
https://github.com/puneetgkaur/cordova-lib/blob/master/src/plugman/platforms/sugar.js&lt;br /&gt;
&lt;br /&gt;
5.Add the sugar directory to C:\Users\&amp;lt;your user name&amp;gt;\.cordova\lib&lt;br /&gt;
https://drive.google.com/file/d/0BxC58bMp7xjuNnpWTkRNRFNnY28/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
Now to run and check :&lt;br /&gt;
&lt;br /&gt;
1.Go to cordova-cli\bin and type : cordova create &amp;lt;prj_directory&amp;gt; &amp;lt;prj_id&amp;gt; &amp;lt;prj_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. cd to the project directory created inside the bin folder&lt;br /&gt;
&lt;br /&gt;
3.There run the command :&lt;br /&gt;
..\cordova platform add sugar&lt;br /&gt;
&lt;br /&gt;
4. Then to build run :&lt;br /&gt;
..\cordova build sugar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE : the windows users must install 7zip and set the environment variable ZIPCOMMAND with the command :  set ZIPCOMMAND=&amp;quot;c:\Program Files\7-Zip\7z.exe&amp;quot; a -r -tzip -aoa before issuing the cordova build command&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Category:Cordova_for_Sugar&amp;diff=92951</id>
		<title>Category:Cordova for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Category:Cordova_for_Sugar&amp;diff=92951"/>
		<updated>2014-07-22T09:24:54Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: Created page with &amp;quot;Page concerning the cordova development for Sugar&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Page concerning the cordova development for Sugar&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92950</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92950"/>
		<updated>2014-07-22T09:23:59Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &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;
[[Category:Cordova for Sugar|.]]&lt;br /&gt;
&amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
&#039;&#039;A sentence or two summarizing what this feature is and what it will do. This information is used for the overall feature summary page for each release.&#039;&#039;&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:AcountName| Your Name]]&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: &amp;lt;your email address so we can contact you, invite you to meetings, etc.&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: (SUGAR_VERSION)&lt;br /&gt;
* Last updated: (DATE)&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&#039;&#039;Expand on the summary, if appropriate.  A couple of sentences suffices to explain the goal, but the more details you can provide the better.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
&#039;&#039;What is the benefit 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;
&#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;
== Scope ==&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;
==UI Design==&lt;br /&gt;
&#039;&#039;Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
{{:{{PAGENAME}}/Testing}}&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92949</id>
		<title>Features/Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Features/Cordova_Container_for_Sugar&amp;diff=92949"/>
		<updated>2014-07-22T09:22:54Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: Created page with &amp;quot;&amp;lt;noinclude&amp;gt; Category:Feature Page Incomplete . &amp;lt;!-- You can add categories to tie features back to real deployments/schools requesting them, for examp...&amp;quot;&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;!-- You can add categories to tie features back to real deployments/schools requesting them, for example &lt;br /&gt;
[[Category:Features requested by School Xyz|&amp;lt;Feature Name&amp;gt;]] (the |Feature Name option sorts the entry on the category page under the first letter of &amp;lt;Feature Name&amp;gt;). --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&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;
&#039;&#039;A sentence or two summarizing what this feature is and what it will do. This information is used for the overall feature summary page for each release.&#039;&#039;&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:AcountName| Your Name]]&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: &amp;lt;your email address so we can contact you, invite you to meetings, etc.&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Current status ==&lt;br /&gt;
* Targeted release: (SUGAR_VERSION)&lt;br /&gt;
* Last updated: (DATE)&lt;br /&gt;
* Percentage of completion: XX%&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
&#039;&#039;Expand on the summary, if appropriate.  A couple of sentences suffices to explain the goal, but the more details you can provide the better.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Benefit to Sugar ==&lt;br /&gt;
&#039;&#039;What is the benefit 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;
&#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;
== Scope ==&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;
==UI Design==&lt;br /&gt;
&#039;&#039;Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== How To Test ==&lt;br /&gt;
{{:{{PAGENAME}}/Testing}}&lt;br /&gt;
== User Experience ==&lt;br /&gt;
&#039;&#039;If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&#039;&#039;What other packages (RPMs) depend on this package?  Are there changes outside the developers&#039; control on which completion of this feature depends?  In other words, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  Other upstream projects like Python?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Contingency Plan ==&lt;br /&gt;
&#039;&#039;If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as &amp;quot;None necessary, revert to previous release behaviour.&amp;quot;  Or it might not.  If your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&#039;&#039;Is there upstream documentation on this feature, or notes you have written yourself?  Has this topic been discussed in the mailing list or during a meeting? Link to that material here so other interested developers can get involved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
&#039;&#039;The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comments and Discussion ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Link to the discussion of this feature on lists.sugarlabs.org&#039;&#039;&lt;br /&gt;
* See [[{{TALKPAGENAME}}|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>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File:Cordova_cli.jpg&amp;diff=92810</id>
		<title>File:Cordova cli.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File:Cordova_cli.jpg&amp;diff=92810"/>
		<updated>2014-06-23T11:06:46Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: A diagrammatic representation of workflow in cordova-cli using cordova-lib&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A diagrammatic representation of workflow in cordova-cli using cordova-lib&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File:Cordova_CLI.pdf&amp;diff=92809</id>
		<title>File:Cordova CLI.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File:Cordova_CLI.pdf&amp;diff=92809"/>
		<updated>2014-06-23T11:03:13Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: A diagrammatic representation of workflow inside cordova-cli using cordova-lib.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A diagrammatic representation of workflow inside cordova-cli using cordova-lib.&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/Building_Cordova_Container_for_Sugar&amp;diff=92462</id>
		<title>Summer of Code/2014/Building Cordova Container for Sugar</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/Building_Cordova_Container_for_Sugar&amp;diff=92462"/>
		<updated>2014-04-25T10:43:14Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: Puneet Kaur moved page Summer of Code/2014/Building Cordova Container for Sugar to Summer of Code/2014/sugar cordova&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Summer of Code/2014/sugar cordova]]&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=92461</id>
		<title>Summer of Code/2014/sugar cordova</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=92461"/>
		<updated>2014-04-25T10:43:14Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: Puneet Kaur moved page Summer of Code/2014/Building Cordova Container for Sugar to Summer of Code/2014/sugar cordova&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &amp;lt;!-- Please fix Section Header lengths to make a usable Table of Contents. (Use other means to format those lines). --&amp;gt;&lt;br /&gt;
==About me==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== My name ====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your email address? =====&lt;br /&gt;
puneet.gkaur@gmail.com&lt;br /&gt;
&lt;br /&gt;
===== What is your Sugar Labs wiki username? =====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your IRC nickname on irc.freenode.net? =====&lt;br /&gt;
puneet_kaur&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
English&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
Delhi, India&lt;br /&gt;
Work time are not fixed, work as I get time from my regular coursework&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
Did contribute a little to the sugar project.A small contribution can be found here[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba] .This patch was possible only by the cooperative support of Gonzalo. I worked on sugar in August - September last year. I went through the paint code to know the possible ways by which we can incoporate the functionality of saving the tool state at which the user left before saving the activity.This is done by storing the values of the tool and its corresponding state in form of json.I wish to contribute more to this wonderful community with supportive people around and that&#039;s why I am applying this time to gsoc. I hope to make a good contribution to the community. Many communities dont really care about different people writing to them or review their mails and respond in time. The best part I love about the sugar community is that whether its walter bender or gonzalo or lionel or anybody else, they will surely make it a point to respond back to the people in the best possible manner and never hesitate sharing their knowledge with other.This is the reason why I too wish to be a part of this community where people care for and support each other.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
==== What is the name of your project? ====&lt;br /&gt;
Cordova container for sugar platform&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
This project is aimed at building a new platform on cordova for sugar. It shall help us to build activities for mobile using html,js and css and the interaction with the device&#039;s native api can be provided by invoking the javascript libraries. These libraries provide device specific native backing code.We can access the camera functions and many others using javascript alone.So basically the mobile apps can be built in js rather than native code which implies that knowing the native code to built an activity and to interact with device functionality is no longer a neccesity.The technologies required to complete this project are javascript,python programming knowledge and sugar built, cordova platform for developing upon.&lt;br /&gt;
&lt;br /&gt;
The figure below shows how the hybrid apps help the developers to port their applications to different platforms using the cordova platform and give a view why developing the cordova container for sugar would be useful.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova applications run on different platforms.png|center|500px|Figure1]]&lt;br /&gt;
&lt;br /&gt;
Also the application build using HTML,CSS,JS can be designed to run over various devices which in turn provides the developer to develop apps which are universal in nature. This can be achieved by making the design responsive which adapts according to the device&#039;s features.This forms a key reason why we would want to develop using HTML,CSS and JS usiing the cordova platform.The concept can be explained by the following image.&lt;br /&gt;
&lt;br /&gt;
[[File:Why_is_cordova_neccesary.jpg|center|500px|Figure2]]&lt;br /&gt;
&lt;br /&gt;
The main part allowing the interoperability of the html apps over different platforms is the cordova libraries that provide the javascript APIs.The high level view of the cordova architecture which allows seamless operation over different platforms can be explained as below.The native platform API&#039;s are first developed which communicate with the cordova libraries, these native cordova libraries then communicate with the javascript APIs which the developer uses to develop his HTML, CSS and JS application.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova_Html_application_on_different_platforms.jpg|center|650px|Figure3]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To allow the web developers to interact with the device&#039;s native functionality, we shall build a communication between the python and javascript part by using the sugar web architecture.Once that is done, we then need to add to the cordova-js project of cordova - which provides the common API&#039;s for sending messages and triggering error and success callbacks with native framework responses.The high level view of the architecture to be built can be specified as follows.The cordova plugins will interact with the sugar platform through the sugar API (we need to develop that) and with the webview through its native API.This will then provide a javascript API to developers for their apps.&lt;br /&gt;
&lt;br /&gt;
[[File:Sugar_cordova_architecture.jpg|center|650px|Figure4]]&lt;br /&gt;
&lt;br /&gt;
Hence as per the above diagram we shall be building the cordova plugins, sugar api which interacts with the cordova plugins,the native cordova api which interacts with the webview and the javascript API which allows the developers to make their apps directly on HTML,CSS and JS using the device functionality through plugins and customs plugins.&lt;br /&gt;
&lt;br /&gt;
So in a nutshell we shall develop the middle layer, which shall help the HTML apps to communicate with the sugar platform beneath.We shall build the cordova part as well as the native APIs needed to communicate with the cordova middle layer.Finally we shall provide the javascript APIs though which the developers can make their HTML apps for the sugar platform.So the final goal of the project is to provide the javascript APIs for the developers and code some sample apps which depict the usage of those APIs in the real environment&lt;br /&gt;
&lt;br /&gt;
===== What is the timeline for development of your project? The Summer of Code work period is from May 19 - August 22; 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 (27 June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. =====&lt;br /&gt;
April 21 –May 19 – Talk with my mentors and discuss a clear outline of the project, define steps to approach the problem and discuss ways by which we can attack the issue, understand all the technicalities required for the project - the sugar -web architecture through the code, the record activity and other python code on which we shall be developing, start coding in python as required &amp;lt;br /&amp;gt;&lt;br /&gt;
May 19 – May 31 – Code up the sugar APIs required for the further building the cordova plugins&amp;lt;br /&amp;gt;&lt;br /&gt;
May 31 - June 15 - Code the cordova plugins and the corresponding code in the cordova native APIs , write the javascript APIs&amp;lt;br /&amp;gt;&lt;br /&gt;
June 15 - June 30 - Make a sample activity to show the working of the architecture developed&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mid Term Examination&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
July 1 - July 15 - add more plugins, improve upon the existing code as required&amp;lt;br /&amp;gt;&lt;br /&gt;
July 15 - July 31 - write the corresponding activities for the plugins added above and test the work done till now&amp;lt;br /&amp;gt;&lt;br /&gt;
August 1 - August 18 - Document the work, APIs and improve upon the existing project&lt;br /&gt;
&lt;br /&gt;
===== 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. =====&lt;br /&gt;
I have already worked on sugar before, configured it and been with it for a few months, so I think I can develop on it.Same goes for cordova as well.Have developed apps on phonegap cordova.Hence I felt I would be in a position to help out in this project. Previously apart from sugar and phonegap I have done projects on C, php and java.&amp;lt;br /&amp;gt;&lt;br /&gt;
I have added all my project and their code on github , you can have a look [https://github.com/puneetgkaur]&lt;br /&gt;
Some of my earlier projects include : &lt;br /&gt;
* Flowchart Generator - It was developed using C language.It takes input as a C programs and extracts the control units out of it and analyses the flow structure to finally output a corresponding graph matrix for the program.This helped to automatically generate test cases for a given program.This project was made use in the program submission portal whereby the students submitted programs as a part of their assignment.The students programs were run for all the test cases generated from the teacher&#039;s program ( a program submitted by the teacher was considered to be correct).The project  allowed to generate the corresponding graph matrix of the teacher&#039;s code and hence helping to generate the test cases based on which the accuracy of the students code was tested.&lt;br /&gt;
* Data Enrichment through Twitter and Google API : I did this project as a part of my internship.This project was developed basically in Java.The aim was to dig out the information about Food Poisoning Incidents in Singapore and the analyse the results in a systematic manner to join the dots and draw some conclusions based on it.We extracted the tweets related to food poisoning by specifying some parameters and then fetched information from a particular site which mentioned about the restaurants and their location.Also Google Map API was used to find the location of the restaurants, and some more information from the different blogs fetched and filtered out to draw useful conclusion related to the food poisoning incidents.&lt;br /&gt;
* Amazon In App Purchase : Integrated the amazon in app purchase feature in the phonegap android app, the corresponding code can be found on the github site.&lt;br /&gt;
* Integration of dropbox sync feature in Android Phonegap App : Integrated the dropbox sync API with the android phonegap app which allowed to sync and upload / download the objects using the the dropbox sync API&lt;br /&gt;
* Paint Alarm PhoneGap App : In a alarm clock application build on phonegap, I provided the feature to draw and paint your own wallpaper.Here the cordova&#039;s camera feature was also used.User had an option to include the picture from the gallery or click it right from the camera and insert in the canvas upon which he could draw.This picture was then stored in the phone memory and could be uploaded to the user&#039;s dropbox account using the dropbox sync API&lt;br /&gt;
*Online Treasure Hunt : Made an online PHP game for our technical fest.MySQL was used at the backend to store the information and the php logic was used to determine whether the user should be allowed to go to the next level. The leader board was developed according to the time taken by the user to solve the questions.&lt;br /&gt;
*Have been a part of website team of the [http://www.csi-india.org/ CSI(Computer Society of India)] technical society of our college for three consecutive years and have helped develop sites for the society and fest.&lt;br /&gt;
*Have contributed to sugar in past[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== You and the community ==&lt;br /&gt;
&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;
&#039;&#039;&#039;Lionel :&#039;&#039;&#039; Today, Sugar activities written using the Sugar Web Framework had limited features because they can&#039;t benefit to device capabilities (camera, audio/video capture, accelerometer, network detection, ...). Integrating a PhoneGap container into Sugar will allow to provide the same level of features to Sugar Web activities than existing Sugar activities. Plus it will allow to web developers familiar with PhoneGap/Cordova framework to easily port or adapt their applications to Sugar. So we could expect to enhance the community of developers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suraj KS&#039;&#039;&#039; : Writing activities using HTML5/JavaScript has already given a big boost to Sugar. Once we can get wrap it in a Cordova/Phonegap container, it&#039;ll transform Sugar Web activities to a whole new level by utilizing the PhoneGap features. This could further attract many more developers towards Sugar and thereby improving both the quality and quantity of Sugar activities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Puneet Kaur :&#039;&#039;&#039; I think once this project is completed it will help people to develop activities directly on html,js and css and the developers don&#039;t even need to know the native language in order to interact with the device functionalities like camera etc.This will lead to a great expansion of sugar as all the mobile developers who know to code in html,js and css which isn&#039;t much difficult can easily pull in all the cool functions here and make the interaction with the sugar platform much more entertaining than before without much of an effort !&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;
Get in touch with other people of the community who can help.I think I would get some help from other experts in the community.Ask questions over IRC channel.Ask question in other doubt forums.Try searching on my own. Get in touch with people outside the community who can help. For the cordova related help, will ask people from the cordova community for help and do the brainstorming on my own. Try possible methods.Debug it.Analyze why it went wrong or what should be done based on my previous experience. &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;
I&#039;ll blog about the progress and ask my queries to my mentor, ask on IRC or over the mailing list&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== We want to make sure that you can set up a development environment before the summer starts. Please do one of the following: 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;. Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.It&#039;s normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help. ====&lt;br /&gt;
&lt;br /&gt;
[[File:puneet kaur_sugar development environment setup.jpg|thumb|upright=3|center]]&lt;br /&gt;
&lt;br /&gt;
==== Describe a great learning experience you had as a child. ====&lt;br /&gt;
Drawing, Painting and Art. I loved to draw things.Sketch them,paint them in different colors.Drawing basically used to provide a way to unlimited creativity.It used to present a simple blank paper upon which we could lay our imagination in the way we wanted.It new no boundaries and that&#039;s what made me fall in love with art.&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 so fascinated with the project that I would love to work on it even outside GSOC. Would love to contribute to this opensource community which has indeed given the world a beautiful product which helps in learning.&lt;br /&gt;
I have always been attracted to the education world and sugar labs has developed a wonderful solution to the problem the kids face.I see a lot of poor kids out there in my own land and feel sorry for them as they don&#039;t have access to the right education tools they must have. Hence, I feel a natural inclination towards this community and indeed wish to bring sugar labs to a much larger scale than is presently where each kid of the world experiences the joy of learning interactively. For somewhere down the line the root cause of all the ill in the world - crimes etc are related to the fact that the kids are not provided with the right set of values and education they must have been taught at that early stage.&lt;br /&gt;
So sugar forms an essential part of this vision and would be great to see the kids in my country using it and benefiting.Hence I wish to contribute to the project as a part of giving back to the world what I have gained from it so far.&lt;br /&gt;
would love to contribute to sugar otherwise also if not as a part of gsoc and specially take up this project as it fascinates me.&lt;br /&gt;
&lt;br /&gt;
==== Please include the category tag at the bottom of your page: ====&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC ]]&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/puneet_kaur&amp;diff=92214</id>
		<title>Summer of Code/2014/puneet kaur</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/puneet_kaur&amp;diff=92214"/>
		<updated>2014-03-24T13:38:25Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: Puneet Kaur moved page Summer of Code/2014/puneet kaur to Summer of Code/2014/Building Cordova Container for Sugar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Summer of Code/2014/Building Cordova Container for Sugar]]&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=92213</id>
		<title>Summer of Code/2014/sugar cordova</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=92213"/>
		<updated>2014-03-24T13:38:23Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: Puneet Kaur moved page Summer of Code/2014/puneet kaur to Summer of Code/2014/Building Cordova Container for Sugar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &amp;lt;!-- Please fix Section Header lengths to make a usable Table of Contents. (Use other means to format those lines). --&amp;gt;&lt;br /&gt;
==About me==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== My name ====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your email address? =====&lt;br /&gt;
puneet.gkaur@gmail.com&lt;br /&gt;
&lt;br /&gt;
===== What is your Sugar Labs wiki username? =====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your IRC nickname on irc.freenode.net? =====&lt;br /&gt;
puneet_kaur&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
English&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
Delhi, India&lt;br /&gt;
Work time are not fixed, work as I get time from my regular coursework&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
Did contribute a little to the sugar project.A small contribution can be found here[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba] .This patch was possible only by the cooperative support of Gonzalo. I worked on sugar in August - September last year. I went through the paint code to know the possible ways by which we can incoporate the functionality of saving the tool state at which the user left before saving the activity.This is done by storing the values of the tool and its corresponding state in form of json.I wish to contribute more to this wonderful community with supportive people around and that&#039;s why I am applying this time to gsoc. I hope to make a good contribution to the community. Many communities dont really care about different people writing to them or review their mails and respond in time. The best part I love about the sugar community is that whether its walter bender or gonzalo or lionel or anybody else, they will surely make it a point to respond back to the people in the best possible manner and never hesitate sharing their knowledge with other.This is the reason why I too wish to be a part of this community where people care for and support each other.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
==== What is the name of your project? ====&lt;br /&gt;
Cordova container for sugar platform&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
This project is aimed at building a new platform on cordova for sugar. It shall help us to build activities for mobile using html,js and css and the interaction with the device&#039;s native api can be provided by invoking the javascript libraries. These libraries provide device specific native backing code.We can access the camera functions and many others using javascript alone.So basically the mobile apps can be built in js rather than native code which implies that knowing the native code to built an activity and to interact with device functionality is no longer a neccesity.The technologies required to complete this project are javascript,python programming knowledge and sugar built, cordova platform for developing upon.&lt;br /&gt;
&lt;br /&gt;
The figure below shows how the hybrid apps help the developers to port their applications to different platforms using the cordova platform and give a view why developing the cordova container for sugar would be useful.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova applications run on different platforms.png|center|500px|Figure1]]&lt;br /&gt;
&lt;br /&gt;
Also the application build using HTML,CSS,JS can be designed to run over various devices which in turn provides the developer to develop apps which are universal in nature. This can be achieved by making the design responsive which adapts according to the device&#039;s features.This forms a key reason why we would want to develop using HTML,CSS and JS usiing the cordova platform.The concept can be explained by the following image.&lt;br /&gt;
&lt;br /&gt;
[[File:Why_is_cordova_neccesary.jpg|center|500px|Figure2]]&lt;br /&gt;
&lt;br /&gt;
The main part allowing the interoperability of the html apps over different platforms is the cordova libraries that provide the javascript APIs.The high level view of the cordova architecture which allows seamless operation over different platforms can be explained as below.The native platform API&#039;s are first developed which communicate with the cordova libraries, these native cordova libraries then communicate with the javascript APIs which the developer uses to develop his HTML, CSS and JS application.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova_Html_application_on_different_platforms.jpg|center|650px|Figure3]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To allow the web developers to interact with the device&#039;s native functionality, we shall build a communication between the python and javascript part by using the sugar web architecture.Once that is done, we then need to add to the cordova-js project of cordova - which provides the common API&#039;s for sending messages and triggering error and success callbacks with native framework responses.The high level view of the architecture to be built can be specified as follows.The cordova plugins will interact with the sugar platform through the sugar API (we need to develop that) and with the webview through its native API.This will then provide a javascript API to developers for their apps.&lt;br /&gt;
&lt;br /&gt;
[[File:Sugar_cordova_architecture.jpg|center|650px|Figure4]]&lt;br /&gt;
&lt;br /&gt;
Hence as per the above diagram we shall be building the cordova plugins, sugar api which interacts with the cordova plugins,the native cordova api which interacts with the webview and the javascript API which allows the developers to make their apps directly on HTML,CSS and JS using the device functionality through plugins and customs plugins.&lt;br /&gt;
&lt;br /&gt;
So in a nutshell we shall develop the middle layer, which shall help the HTML apps to communicate with the sugar platform beneath.We shall build the cordova part as well as the native APIs needed to communicate with the cordova middle layer.Finally we shall provide the javascript APIs though which the developers can make their HTML apps for the sugar platform.So the final goal of the project is to provide the javascript APIs for the developers and code some sample apps which depict the usage of those APIs in the real environment&lt;br /&gt;
&lt;br /&gt;
===== What is the timeline for development of your project? The Summer of Code work period is from May 19 - August 22; 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 (27 June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. =====&lt;br /&gt;
April 21 –May 19 – Talk with my mentors and discuss a clear outline of the project, define steps to approach the problem and discuss ways by which we can attack the issue, understand all the technicalities required for the project - the sugar -web architecture through the code, the record activity and other python code on which we shall be developing, start coding in python as required &amp;lt;br /&amp;gt;&lt;br /&gt;
May 19 – May 31 – Code up the sugar APIs required for the further building the cordova plugins&amp;lt;br /&amp;gt;&lt;br /&gt;
May 31 - June 15 - Code the cordova plugins and the corresponding code in the cordova native APIs , write the javascript APIs&amp;lt;br /&amp;gt;&lt;br /&gt;
June 15 - June 30 - Make a sample activity to show the working of the architecture developed&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mid Term Examination&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
July 1 - July 15 - add more plugins, improve upon the existing code as required&amp;lt;br /&amp;gt;&lt;br /&gt;
July 15 - July 31 - write the corresponding activities for the plugins added above and test the work done till now&amp;lt;br /&amp;gt;&lt;br /&gt;
August 1 - August 18 - Document the work, APIs and improve upon the existing project&lt;br /&gt;
&lt;br /&gt;
===== 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. =====&lt;br /&gt;
I have already worked on sugar before, configured it and been with it for a few months, so I think I can develop on it.Same goes for cordova as well.Have developed apps on phonegap cordova.Hence I felt I would be in a position to help out in this project. Previously apart from sugar and phonegap I have done projects on C, php and java.&amp;lt;br /&amp;gt;&lt;br /&gt;
I have added all my project and their code on github , you can have a look [https://github.com/puneetgkaur]&lt;br /&gt;
Some of my earlier projects include : &lt;br /&gt;
* Flowchart Generator - It was developed using C language.It takes input as a C programs and extracts the control units out of it and analyses the flow structure to finally output a corresponding graph matrix for the program.This helped to automatically generate test cases for a given program.This project was made use in the program submission portal whereby the students submitted programs as a part of their assignment.The students programs were run for all the test cases generated from the teacher&#039;s program ( a program submitted by the teacher was considered to be correct).The project  allowed to generate the corresponding graph matrix of the teacher&#039;s code and hence helping to generate the test cases based on which the accuracy of the students code was tested.&lt;br /&gt;
* Data Enrichment through Twitter and Google API : I did this project as a part of my internship.This project was developed basically in Java.The aim was to dig out the information about Food Poisoning Incidents in Singapore and the analyse the results in a systematic manner to join the dots and draw some conclusions based on it.We extracted the tweets related to food poisoning by specifying some parameters and then fetched information from a particular site which mentioned about the restaurants and their location.Also Google Map API was used to find the location of the restaurants, and some more information from the different blogs fetched and filtered out to draw useful conclusion related to the food poisoning incidents.&lt;br /&gt;
* Amazon In App Purchase : Integrated the amazon in app purchase feature in the phonegap android app, the corresponding code can be found on the github site.&lt;br /&gt;
* Integration of dropbox sync feature in Android Phonegap App : Integrated the dropbox sync API with the android phonegap app which allowed to sync and upload / download the objects using the the dropbox sync API&lt;br /&gt;
* Paint Alarm PhoneGap App : In a alarm clock application build on phonegap, I provided the feature to draw and paint your own wallpaper.Here the cordova&#039;s camera feature was also used.User had an option to include the picture from the gallery or click it right from the camera and insert in the canvas upon which he could draw.This picture was then stored in the phone memory and could be uploaded to the user&#039;s dropbox account using the dropbox sync API&lt;br /&gt;
*Online Treasure Hunt : Made an online PHP game for our technical fest.MySQL was used at the backend to store the information and the php logic was used to determine whether the user should be allowed to go to the next level. The leader board was developed according to the time taken by the user to solve the questions.&lt;br /&gt;
*Have been a part of website team of the [http://www.csi-india.org/ CSI(Computer Society of India)] technical society of our college for three consecutive years and have helped develop sites for the society and fest.&lt;br /&gt;
*Have contributed to sugar in past[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== You and the community ==&lt;br /&gt;
&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;
&#039;&#039;&#039;Lionel :&#039;&#039;&#039; Today, Sugar activities written using the Sugar Web Framework had limited features because they can&#039;t benefit to device capabilities (camera, audio/video capture, accelerometer, network detection, ...). Integrating a PhoneGap container into Sugar will allow to provide the same level of features to Sugar Web activities than existing Sugar activities. Plus it will allow to web developers familiar with PhoneGap/Cordova framework to easily port or adapt their applications to Sugar. So we could expect to enhance the community of developers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suraj KS&#039;&#039;&#039; : Writing activities using HTML5/JavaScript has already given a big boost to Sugar. Once we can get wrap it in a Cordova/Phonegap container, it&#039;ll transform Sugar Web activities to a whole new level by utilizing the PhoneGap features. This could further attract many more developers towards Sugar and thereby improving both the quality and quantity of Sugar activities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Puneet Kaur :&#039;&#039;&#039; I think once this project is completed it will help people to develop activities directly on html,js and css and the developers don&#039;t even need to know the native language in order to interact with the device functionalities like camera etc.This will lead to a great expansion of sugar as all the mobile developers who know to code in html,js and css which isn&#039;t much difficult can easily pull in all the cool functions here and make the interaction with the sugar platform much more entertaining than before without much of an effort !&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;
Get in touch with other people of the community who can help.I think I would get some help from other experts in the community.Ask questions over IRC channel.Ask question in other doubt forums.Try searching on my own. Get in touch with people outside the community who can help. For the cordova related help, will ask people from the cordova community for help and do the brainstorming on my own. Try possible methods.Debug it.Analyze why it went wrong or what should be done based on my previous experience. &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;
I&#039;ll blog about the progress and ask my queries to my mentor, ask on IRC or over the mailing list&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== We want to make sure that you can set up a development environment before the summer starts. Please do one of the following: 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;. Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.It&#039;s normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help. ====&lt;br /&gt;
&lt;br /&gt;
[[File:puneet kaur_sugar development environment setup.jpg|thumb|upright=3|center]]&lt;br /&gt;
&lt;br /&gt;
==== Describe a great learning experience you had as a child. ====&lt;br /&gt;
Drawing, Painting and Art. I loved to draw things.Sketch them,paint them in different colors.Drawing basically used to provide a way to unlimited creativity.It used to present a simple blank paper upon which we could lay our imagination in the way we wanted.It new no boundaries and that&#039;s what made me fall in love with art.&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 so fascinated with the project that I would love to work on it even outside GSOC. Would love to contribute to this opensource community which has indeed given the world a beautiful product which helps in learning.&lt;br /&gt;
I have always been attracted to the education world and sugar labs has developed a wonderful solution to the problem the kids face.I see a lot of poor kids out there in my own land and feel sorry for them as they don&#039;t have access to the right education tools they must have. Hence, I feel a natural inclination towards this community and indeed wish to bring sugar labs to a much larger scale than is presently where each kid of the world experiences the joy of learning interactively. For somewhere down the line the root cause of all the ill in the world - crimes etc are related to the fact that the kids are not provided with the right set of values and education they must have been taught at that early stage.&lt;br /&gt;
So sugar forms an essential part of this vision and would be great to see the kids in my country using it and benefiting.Hence I wish to contribute to the project as a part of giving back to the world what I have gained from it so far.&lt;br /&gt;
would love to contribute to sugar otherwise also if not as a part of gsoc and specially take up this project as it fascinates me.&lt;br /&gt;
&lt;br /&gt;
==== Please include the category tag at the bottom of your page: ====&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC ]]&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=92145</id>
		<title>Summer of Code/2014/sugar cordova</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=92145"/>
		<updated>2014-03-21T16:47:53Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: /* 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;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &amp;lt;!-- Please fix Section Header lengths to make a usable Table of Contents. (Use other means to format those lines). --&amp;gt;&lt;br /&gt;
==About me==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== My name ====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your email address? =====&lt;br /&gt;
puneet.gkaur@gmail.com&lt;br /&gt;
&lt;br /&gt;
===== What is your Sugar Labs wiki username? =====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your IRC nickname on irc.freenode.net? =====&lt;br /&gt;
puneet_kaur&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
English&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
Delhi, India&lt;br /&gt;
Work time are not fixed, work as I get time from my regular coursework&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
Did contribute a little to the sugar project.A small contribution can be found here[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba] .This patch was possible only by the cooperative support of Gonzalo. I worked on sugar in August - September last year. I went through the paint code to know the possible ways by which we can incoporate the functionality of saving the tool state at which the user left before saving the activity.This is done by storing the values of the tool and its corresponding state in form of json.I wish to contribute more to this wonderful community with supportive people around and that&#039;s why I am applying this time to gsoc. I hope to make a good contribution to the community. Many communities dont really care about different people writing to them or review their mails and respond in time. The best part I love about the sugar community is that whether its walter bender or gonzalo or lionel or anybody else, they will surely make it a point to respond back to the people in the best possible manner and never hesitate sharing their knowledge with other.This is the reason why I too wish to be a part of this community where people care for and support each other.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
==== What is the name of your project? ====&lt;br /&gt;
Cordova container for sugar platform&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
This project is aimed at building a new platform on cordova for sugar. It shall help us to build activities for mobile using html,js and css and the interaction with the device&#039;s native api can be provided by invoking the javascript libraries. These libraries provide device specific native backing code.We can access the camera functions and many others using javascript alone.So basically the mobile apps can be built in js rather than native code which implies that knowing the native code to built an activity and to interact with device functionality is no longer a neccesity.The technologies required to complete this project are javascript,python programming knowledge and sugar built, cordova platform for developing upon.&lt;br /&gt;
&lt;br /&gt;
The figure below shows how the hybrid apps help the developers to port their applications to different platforms using the cordova platform and give a view why developing the cordova container for sugar would be useful.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova applications run on different platforms.png|center|500px|Figure1]]&lt;br /&gt;
&lt;br /&gt;
Also the application build using HTML,CSS,JS can be designed to run over various devices which in turn provides the developer to develop apps which are universal in nature. This can be achieved by making the design responsive which adapts according to the device&#039;s features.This forms a key reason why we would want to develop using HTML,CSS and JS usiing the cordova platform.The concept can be explained by the following image.&lt;br /&gt;
&lt;br /&gt;
[[File:Why_is_cordova_neccesary.jpg|center|500px|Figure2]]&lt;br /&gt;
&lt;br /&gt;
The main part allowing the interoperability of the html apps over different platforms is the cordova libraries that provide the javascript APIs.The high level view of the cordova architecture which allows seamless operation over different platforms can be explained as below.The native platform API&#039;s are first developed which communicate with the cordova libraries, these native cordova libraries then communicate with the javascript APIs which the developer uses to develop his HTML, CSS and JS application.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova_Html_application_on_different_platforms.jpg|center|650px|Figure3]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To allow the web developers to interact with the device&#039;s native functionality, we shall build a communication between the python and javascript part by using the sugar web architecture.Once that is done, we then need to add to the cordova-js project of cordova - which provides the common API&#039;s for sending messages and triggering error and success callbacks with native framework responses.The high level view of the architecture to be built can be specified as follows.The cordova plugins will interact with the sugar platform through the sugar API (we need to develop that) and with the webview through its native API.This will then provide a javascript API to developers for their apps.&lt;br /&gt;
&lt;br /&gt;
[[File:Sugar_cordova_architecture.jpg|center|650px|Figure4]]&lt;br /&gt;
&lt;br /&gt;
Hence as per the above diagram we shall be building the cordova plugins, sugar api which interacts with the cordova plugins,the native cordova api which interacts with the webview and the javascript API which allows the developers to make their apps directly on HTML,CSS and JS using the device functionality through plugins and customs plugins.&lt;br /&gt;
&lt;br /&gt;
So in a nutshell we shall develop the middle layer, which shall help the HTML apps to communicate with the sugar platform beneath.We shall build the cordova part as well as the native APIs needed to communicate with the cordova middle layer.Finally we shall provide the javascript APIs though which the developers can make their HTML apps for the sugar platform.So the final goal of the project is to provide the javascript APIs for the developers and code some sample apps which depict the usage of those APIs in the real environment&lt;br /&gt;
&lt;br /&gt;
===== What is the timeline for development of your project? The Summer of Code work period is from May 19 - August 22; 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 (27 June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. =====&lt;br /&gt;
April 21 –May 19 – Talk with my mentors and discuss a clear outline of the project, define steps to approach the problem and discuss ways by which we can attack the issue, understand all the technicalities required for the project - the sugar -web architecture through the code, the record activity and other python code on which we shall be developing, start coding in python as required &amp;lt;br /&amp;gt;&lt;br /&gt;
May 19 – May 31 – Code up the sugar APIs required for the further building the cordova plugins&amp;lt;br /&amp;gt;&lt;br /&gt;
May 31 - June 15 - Code the cordova plugins and the corresponding code in the cordova native APIs , write the javascript APIs&amp;lt;br /&amp;gt;&lt;br /&gt;
June 15 - June 30 - Make a sample activity to show the working of the architecture developed&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mid Term Examination&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
July 1 - July 15 - add more plugins, improve upon the existing code as required&amp;lt;br /&amp;gt;&lt;br /&gt;
July 15 - July 31 - write the corresponding activities for the plugins added above and test the work done till now&amp;lt;br /&amp;gt;&lt;br /&gt;
August 1 - August 18 - Document the work, APIs and improve upon the existing project&lt;br /&gt;
&lt;br /&gt;
===== 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. =====&lt;br /&gt;
I have already worked on sugar before, configured it and been with it for a few months, so I think I can develop on it.Same goes for cordova as well.Have developed apps on phonegap cordova.Hence I felt I would be in a position to help out in this project. Previously apart from sugar and phonegap I have done projects on C, php and java.&amp;lt;br /&amp;gt;&lt;br /&gt;
I have added all my project and their code on github , you can have a look [https://github.com/puneetgkaur]&lt;br /&gt;
Some of my earlier projects include : &lt;br /&gt;
* Flowchart Generator - It was developed using C language.It takes input as a C programs and extracts the control units out of it and analyses the flow structure to finally output a corresponding graph matrix for the program.This helped to automatically generate test cases for a given program.This project was made use in the program submission portal whereby the students submitted programs as a part of their assignment.The students programs were run for all the test cases generated from the teacher&#039;s program ( a program submitted by the teacher was considered to be correct).The project  allowed to generate the corresponding graph matrix of the teacher&#039;s code and hence helping to generate the test cases based on which the accuracy of the students code was tested.&lt;br /&gt;
* Data Enrichment through Twitter and Google API : I did this project as a part of my internship.This project was developed basically in Java.The aim was to dig out the information about Food Poisoning Incidents in Singapore and the analyse the results in a systematic manner to join the dots and draw some conclusions based on it.We extracted the tweets related to food poisoning by specifying some parameters and then fetched information from a particular site which mentioned about the restaurants and their location.Also Google Map API was used to find the location of the restaurants, and some more information from the different blogs fetched and filtered out to draw useful conclusion related to the food poisoning incidents.&lt;br /&gt;
* Amazon In App Purchase : Integrated the amazon in app purchase feature in the phonegap android app, the corresponding code can be found on the github site.&lt;br /&gt;
* Integration of dropbox sync feature in Android Phonegap App : Integrated the dropbox sync API with the android phonegap app which allowed to sync and upload / download the objects using the the dropbox sync API&lt;br /&gt;
* Paint Alarm PhoneGap App : In a alarm clock application build on phonegap, I provided the feature to draw and paint your own wallpaper.Here the cordova&#039;s camera feature was also used.User had an option to include the picture from the gallery or click it right from the camera and insert in the canvas upon which he could draw.This picture was then stored in the phone memory and could be uploaded to the user&#039;s dropbox account using the dropbox sync API&lt;br /&gt;
*Online Treasure Hunt : Made an online PHP game for our technical fest.MySQL was used at the backend to store the information and the php logic was used to determine whether the user should be allowed to go to the next level. The leader board was developed according to the time taken by the user to solve the questions.&lt;br /&gt;
*Have been a part of website team of the [http://www.csi-india.org/ CSI(Computer Society of India)] technical society of our college for three consecutive years and have helped develop sites for the society and fest.&lt;br /&gt;
*Have contributed to sugar in past[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== You and the community ==&lt;br /&gt;
&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;
&#039;&#039;&#039;Lionel :&#039;&#039;&#039; Today, Sugar activities written using the Sugar Web Framework had limited features because they can&#039;t benefit to device capabilities (camera, audio/video capture, accelerometer, network detection, ...). Integrating a PhoneGap container into Sugar will allow to provide the same level of features to Sugar Web activities than existing Sugar activities. Plus it will allow to web developers familiar with PhoneGap/Cordova framework to easily port or adapt their applications to Sugar. So we could expect to enhance the community of developers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suraj KS&#039;&#039;&#039; : Writing activities using HTML5/JavaScript has already given a big boost to Sugar. Once we can get wrap it in a Cordova/Phonegap container, it&#039;ll transform Sugar Web activities to a whole new level by utilizing the PhoneGap features. This could further attract many more developers towards Sugar and thereby improving both the quality and quantity of Sugar activities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Puneet Kaur :&#039;&#039;&#039; I think once this project is completed it will help people to develop activities directly on html,js and css and the developers don&#039;t even need to know the native language in order to interact with the device functionalities like camera etc.This will lead to a great expansion of sugar as all the mobile developers who know to code in html,js and css which isn&#039;t much difficult can easily pull in all the cool functions here and make the interaction with the sugar platform much more entertaining than before without much of an effort !&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;
Get in touch with other people of the community who can help.I think I would get some help from other experts in the community.Ask questions over IRC channel.Ask question in other doubt forums.Try searching on my own. Get in touch with people outside the community who can help. For the cordova related help, will ask people from the cordova community for help and do the brainstorming on my own. Try possible methods.Debug it.Analyze why it went wrong or what should be done based on my previous experience. &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;
I&#039;ll blog about the progress and ask my queries to my mentor, ask on IRC or over the mailing list&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== We want to make sure that you can set up a development environment before the summer starts. Please do one of the following: 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;. Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.It&#039;s normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help. ====&lt;br /&gt;
&lt;br /&gt;
[[File:puneet kaur_sugar development environment setup.jpg|thumb|upright=3|center]]&lt;br /&gt;
&lt;br /&gt;
==== Describe a great learning experience you had as a child. ====&lt;br /&gt;
Drawing, Painting and Art. I loved to draw things.Sketch them,paint them in different colors.Drawing basically used to provide a way to unlimited creativity.It used to present a simple blank paper upon which we could lay our imagination in the way we wanted.It new no boundaries and that&#039;s what made me fall in love with art.&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 so fascinated with the project that I would love to work on it even outside GSOC. Would love to contribute to this opensource community which has indeed given the world a beautiful product which helps in learning.&lt;br /&gt;
I have always been attracted to the education world and sugar labs has developed a wonderful solution to the problem the kids face.I see a lot of poor kids out there in my own land and feel sorry for them as they don&#039;t have access to the right education tools they must have. Hence, I feel a natural inclination towards this community and indeed wish to bring sugar labs to a much larger scale than is presently where each kid of the world experiences the joy of learning interactively. For somewhere down the line the root cause of all the ill in the world - crimes etc are related to the fact that the kids are not provided with the right set of values and education they must have been taught at that early stage.&lt;br /&gt;
So sugar forms an essential part of this vision and would be great to see the kids in my country using it and benefiting.Hence I wish to contribute to the project as a part of giving back to the world what I have gained from it so far.&lt;br /&gt;
would love to contribute to sugar otherwise also if not as a part of gsoc and specially take up this project as it fascinates me.&lt;br /&gt;
&lt;br /&gt;
==== Please include the category tag at the bottom of your page: ====&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC ]]&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File:Sugar_cordova_architecture.jpg&amp;diff=91941</id>
		<title>File:Sugar cordova architecture.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File:Sugar_cordova_architecture.jpg&amp;diff=91941"/>
		<updated>2014-03-18T19:58:52Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: Puneet Kaur uploaded a new version of &amp;amp;quot;File:Sugar cordova architecture.jpg&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=91926</id>
		<title>Summer of Code/2014/sugar cordova</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=91926"/>
		<updated>2014-03-18T17:06:02Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: /* What is the timeline for development of your project? The Summer of Code work period is from May 19 - August 22; 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&amp;#039;s good to h...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &amp;lt;!-- Please fix Section Header lengths to make a usable Table of Contents. (Use other means to format those lines). --&amp;gt;&lt;br /&gt;
==About me==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== My name ====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your email address? =====&lt;br /&gt;
puneet.gkaur@gmail.com&lt;br /&gt;
&lt;br /&gt;
===== What is your Sugar Labs wiki username? =====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your IRC nickname on irc.freenode.net? =====&lt;br /&gt;
puneet_kaur&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
English&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
Delhi, India&lt;br /&gt;
Work time are not fixed, work as I get time from my regular coursework&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
Did contribute a little to the sugar project.A small contribution can be found here[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba] .This patch was possible only by the cooperative support of Gonzalo. I worked on sugar in August - September last year. I went through the paint code to know the possible ways by which we can incoporate the functionality of saving the tool state at which the user left before saving the activity.This is done by storing the values of the tool and its corresponding state in form of json.I wish to contribute more to this wonderful community with supportive people around and that&#039;s why I am applying this time to gsoc. I hope to make a good contribution to the community. Many communities dont really care about different people writing to them or review their mails and respond in time. The best part I love about the sugar community is that whether its walter bender or gonzalo or lionel or anybody else, they will surely make it a point to respond back to the people in the best possible manner and never hesitate sharing their knowledge with other.This is the reason why I too wish to be a part of this community where people care for and support each other.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
==== What is the name of your project? ====&lt;br /&gt;
Cordova container for sugar platform&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
This project is aimed at building a new platform on cordova for sugar. It shall help us to build activities for mobile using html,js and css and the interaction with the device&#039;s native api can be provided by invoking the javascript libraries. These libraries provide device specific native backing code.We can access the camera functions and many others using javascript alone.So basically the mobile apps can be built in js rather than native code which implies that knowing the native code to built an activity and to interact with device functionality is no longer a neccesity.The technologies required to complete this project are javascript,python programming knowledge and sugar built, cordova platform for developing upon.&lt;br /&gt;
&lt;br /&gt;
The figure below shows how the hybrid apps help the developers to port their applications to different platforms using the cordova platform and give a view why developing the cordova container for sugar would be useful.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova applications run on different platforms.png|center|500px|Figure1]]&lt;br /&gt;
&lt;br /&gt;
Also the application build using HTML,CSS,JS can be designed to run over various devices which in turn provides the developer to develop apps which are universal in nature. This can be achieved by making the design responsive which adapts according to the device&#039;s features.This forms a key reason why we would want to develop using HTML,CSS and JS usiing the cordova platform.The concept can be explained by the following image.&lt;br /&gt;
&lt;br /&gt;
[[File:Why_is_cordova_neccesary.jpg|center|500px|Figure2]]&lt;br /&gt;
&lt;br /&gt;
The main part allowing the interoperability of the html apps over different platforms is the cordova libraries that provide the javascript APIs.The high level view of the cordova architecture which allows seamless operation over different platforms can be explained as below.The native platform API&#039;s are first developed which communicate with the cordova libraries, these native cordova libraries then communicate with the javascript APIs which the developer uses to develop his HTML, CSS and JS application.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova_Html_application_on_different_platforms.jpg|center|650px|Figure3]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To allow the web developers to interact with the device&#039;s native functionality, we shall build a communication between the python and javascript part by using the sugar web architecture.Once that is done, we then need to add to the cordova-js project of cordova - which provides the common API&#039;s for sending messages and triggering error and success callbacks with native framework responses.The high level view of the architecture to be built can be specified as follows.The cordova plugins will interact with the sugar platform through the sugar API (we need to develop that) and with the webview through its native API.This will then provide a javascript API to developers for their apps.&lt;br /&gt;
&lt;br /&gt;
[[File:Sugar_cordova_architecture.jpg|center|650px|Figure4]]&lt;br /&gt;
&lt;br /&gt;
Hence as per the above diagram we shall be building the cordova plugins, sugar api which interacts with the cordova plugins,the native cordova api which interacts with the webview and the javascript API which allows the developers to make their apps directly on HTML,CSS and JS using the device functionality through plugins and customs plugins.&lt;br /&gt;
&lt;br /&gt;
So in a nutshell we shall develop the middle layer, which shall help the HTML apps to communicate with the sugar platform beneath.We shall build the cordova part as well as the native APIs needed to communicate with the cordova middle layer.Finally we shall provide the javascript APIs though which the developers can make their HTML apps for the sugar platform.So the final goal of the project is to provide the javascript APIs for the developers and code some sample apps which depict the usage of those APIs in the real environment&lt;br /&gt;
&lt;br /&gt;
===== What is the timeline for development of your project? The Summer of Code work period is from May 19 - August 22; 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 (27 June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. =====&lt;br /&gt;
April 21 –May 19 – Talk with my mentors and discuss a clear outline of the project, define steps to approach the problem and discuss ways by which we can attack the issue, understand all the technicalities required for the project - the sugar -web architecture through the code, the record activity and other python code on which we shall be developing, start coding in python as required &amp;lt;br /&amp;gt;&lt;br /&gt;
May 19 – May 31 – Code up the sugar APIs required for the further building the cordova plugins&amp;lt;br /&amp;gt;&lt;br /&gt;
May 31 - June 15 - Code the cordova plugins and the corresponding code in the cordova native APIs , write the javascript APIs&amp;lt;br /&amp;gt;&lt;br /&gt;
June 15 - June 30 - Make a sample activity to show the working of the architecture developed&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mid Term Examination&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
July 1 - July 15 - add more plugins, improve upon the existing code as required&amp;lt;br /&amp;gt;&lt;br /&gt;
July 15 - July 31 - write the corresponding activities for the plugins added above and test the work done till now&amp;lt;br /&amp;gt;&lt;br /&gt;
August 1 - August 18 - Document the work, APIs and improve upon the existing project&lt;br /&gt;
&lt;br /&gt;
===== 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. =====&lt;br /&gt;
I have already worked on sugar before, configured it and been with it for a few months, so I think I can develop on it.Same goes for cordova as well.Have developed apps on phonegap cordova.Hence I felt I would be in a position to help out in this project. Previously apart from sugar and phonegap I have done projects on C, php and java.&amp;lt;br /&amp;gt;&lt;br /&gt;
I have added all my project and their code on github , you can have a look [https://github.com/puneetgkaur]&lt;br /&gt;
Some of my earlier projects include : &lt;br /&gt;
* Flowchart Generator - It was developed using C language.It takes input as a C programs and extracts the control units out of it and analyses the flow structure to finally output a corresponding graph matrix for the program.This helped to automatically generate test cases for a given program.This project was made use in the program submission portal whereby the students submitted programs as a part of their assignment.The students programs were run for all the test cases generated from the teacher&#039;s program ( a program submitted by the teacher was considered to be correct).The project  allowed to generate the corresponding graph matrix of the teacher&#039;s code and hence helping to generate the test cases based on which the accuracy of the students code was tested.&lt;br /&gt;
* Data Enrichment through Twitter and Google API : I did this project as a part of my internship.This project was developed basically in Java.The aim was to dig out the information about Food Poisoning Incidents in Singapore and the analyse the results in a systematic manner to join the dots and draw some conclusions based on it.We extracted the tweets related to food poisoning by specifying some parameters and then fetched information from a particular site which mentioned about the restaurants and their location.Also Google Map API was used to find the location of the restaurants, and some more information from the different blogs fetched and filtered out to draw useful conclusion related to the food poisoning incidents.&lt;br /&gt;
* Amazon In App Purchase : Integrated the amazon in app purchase feature in the phonegap android app, the corresponding code can be found on the github site.&lt;br /&gt;
* Integration of dropbox sync feature in Android Phonegap App : Integrated the dropbox sync API with the android phonegap app which allowed to sync and upload / download the objects using the the dropbox sync API&lt;br /&gt;
* Paint Alarm PhoneGap App : In a alarm clock application build on phonegap, I provided the feature to draw and paint your own wallpaper.Here the cordova&#039;s camera feature was also used.User had an option to include the picture from the gallery or click it right from the camera and insert in the canvas upon which he could draw.This picture was then stored in the phone memory and could be uploaded to the user&#039;s dropbox account using the dropbox sync API&lt;br /&gt;
*Online Treasure Hunt : Made an online PHP game for our technical fest.MySQL was used at the backend to store the information and the php logic was used to determine whether the user should be allowed to go to the next level. The leader board was developed according to the time taken by the user to solve the questions.&lt;br /&gt;
*Have been a part of website team of the [http://www.csi-india.org/ CSI(Computer Society of India)] technical society of our college for three consecutive years and have helped develop sites for the society and fest.&lt;br /&gt;
*Have contributed to sugar in past[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== You and the community ==&lt;br /&gt;
&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;
&#039;&#039;&#039;Lionel :&#039;&#039;&#039; Today, Sugar activities written using the Sugar Web Framework had limited features because they can&#039;t benefit to device capabilities (camera, audio/video capture, accelerometer, network detection, ...). Integrating a PhoneGap container into Sugar will allow to provide the same level of features to Sugar Web activities than existing Sugar activities. Plus it will allow to web developers familiar with PhoneGap/Cordova framework to easily port or adapt their applications to Sugar. So we could expect to enhance the community of developers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suraj KS&#039;&#039;&#039; : Writing activities using HTML5/JavaScript has already given a big boost to Sugar. Once we can get wrap it in a Cordova/Phonegap container, it&#039;ll transform Sugar Web activities to a whole new level by utilizing the PhoneGap features. This could further attract many more developers towards Sugar and thereby improving both the quality and quantity of Sugar activities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Puneet Kaur :&#039;&#039;&#039; I think once this project is completed it will help people to develop activities directly on html,js and css and the developers don&#039;t even need to know the native language in order to interact with the device functionalities like camera etc.This will lead to a great expansion of sugar as all the mobile developers who know to code in html,js and css which isn&#039;t much difficult can easily pull in all the cool functions here and make the interaction with the sugar platform much more entertaining than before without much of an effort !&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;
Get in touch with other people of the community who can help.I think I would get some help from other experts in the community.Ask questions over IRC channel.Ask question in other doubt forums.Try searching on my own. Get in touch with people outside the community who can help. For the cordova related help, will ask people from the cordova community for help and do the brainstorming on my own. Try possible methods.Debug it.Analyze why it went wrong or what should be done based on my previous experience. &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;
I&#039;ll blog about the progress and ask my queries to my mentor, ask on IRC or over the mailing list&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== We want to make sure that you can set up a development environment before the summer starts. Please do one of the following: 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;. Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.It&#039;s normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help. ====&lt;br /&gt;
&lt;br /&gt;
[[File:puneet kaur_sugar development environment setup.jpg|thumb|upright=3|center]]&lt;br /&gt;
&lt;br /&gt;
==== Describe a great learning experience you had as a child. ====&lt;br /&gt;
Drawing, Painting and Art. I loved to draw things.Sketch them,paint them in different colors.Drawing basically used to provide a way to unlimited creativity.It used to present a simple blank paper upon which we could lay our imagination in the way we wanted.It new no boundaries and that&#039;s what made me fall in love with art.&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 have worked with sugar before and that I consider would help me to dive in this project.Also have contributed to some phonegap android apps which are based on cordova.Hence I think I should be able to contribute to this project.&lt;br /&gt;
&lt;br /&gt;
==== Please include the category tag at the bottom of your page: ====&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC ]]&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=91925</id>
		<title>Summer of Code/2014/sugar cordova</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=91925"/>
		<updated>2014-03-18T15:44:42Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: /* 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? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &amp;lt;!-- Please fix Section Header lengths to make a usable Table of Contents. (Use other means to format those lines). --&amp;gt;&lt;br /&gt;
==About me==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== My name ====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your email address? =====&lt;br /&gt;
puneet.gkaur@gmail.com&lt;br /&gt;
&lt;br /&gt;
===== What is your Sugar Labs wiki username? =====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your IRC nickname on irc.freenode.net? =====&lt;br /&gt;
puneet_kaur&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
English&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
Delhi, India&lt;br /&gt;
Work time are not fixed, work as I get time from my regular coursework&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
Did contribute a little to the sugar project.A small contribution can be found here[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba] .This patch was possible only by the cooperative support of Gonzalo. I worked on sugar in August - September last year. I went through the paint code to know the possible ways by which we can incoporate the functionality of saving the tool state at which the user left before saving the activity.This is done by storing the values of the tool and its corresponding state in form of json.I wish to contribute more to this wonderful community with supportive people around and that&#039;s why I am applying this time to gsoc. I hope to make a good contribution to the community. Many communities dont really care about different people writing to them or review their mails and respond in time. The best part I love about the sugar community is that whether its walter bender or gonzalo or lionel or anybody else, they will surely make it a point to respond back to the people in the best possible manner and never hesitate sharing their knowledge with other.This is the reason why I too wish to be a part of this community where people care for and support each other.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
==== What is the name of your project? ====&lt;br /&gt;
Cordova container for sugar platform&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
This project is aimed at building a new platform on cordova for sugar. It shall help us to build activities for mobile using html,js and css and the interaction with the device&#039;s native api can be provided by invoking the javascript libraries. These libraries provide device specific native backing code.We can access the camera functions and many others using javascript alone.So basically the mobile apps can be built in js rather than native code which implies that knowing the native code to built an activity and to interact with device functionality is no longer a neccesity.The technologies required to complete this project are javascript,python programming knowledge and sugar built, cordova platform for developing upon.&lt;br /&gt;
&lt;br /&gt;
The figure below shows how the hybrid apps help the developers to port their applications to different platforms using the cordova platform and give a view why developing the cordova container for sugar would be useful.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova applications run on different platforms.png|center|500px|Figure1]]&lt;br /&gt;
&lt;br /&gt;
Also the application build using HTML,CSS,JS can be designed to run over various devices which in turn provides the developer to develop apps which are universal in nature. This can be achieved by making the design responsive which adapts according to the device&#039;s features.This forms a key reason why we would want to develop using HTML,CSS and JS usiing the cordova platform.The concept can be explained by the following image.&lt;br /&gt;
&lt;br /&gt;
[[File:Why_is_cordova_neccesary.jpg|center|500px|Figure2]]&lt;br /&gt;
&lt;br /&gt;
The main part allowing the interoperability of the html apps over different platforms is the cordova libraries that provide the javascript APIs.The high level view of the cordova architecture which allows seamless operation over different platforms can be explained as below.The native platform API&#039;s are first developed which communicate with the cordova libraries, these native cordova libraries then communicate with the javascript APIs which the developer uses to develop his HTML, CSS and JS application.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova_Html_application_on_different_platforms.jpg|center|650px|Figure3]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To allow the web developers to interact with the device&#039;s native functionality, we shall build a communication between the python and javascript part by using the sugar web architecture.Once that is done, we then need to add to the cordova-js project of cordova - which provides the common API&#039;s for sending messages and triggering error and success callbacks with native framework responses.The high level view of the architecture to be built can be specified as follows.The cordova plugins will interact with the sugar platform through the sugar API (we need to develop that) and with the webview through its native API.This will then provide a javascript API to developers for their apps.&lt;br /&gt;
&lt;br /&gt;
[[File:Sugar_cordova_architecture.jpg|center|650px|Figure4]]&lt;br /&gt;
&lt;br /&gt;
Hence as per the above diagram we shall be building the cordova plugins, sugar api which interacts with the cordova plugins,the native cordova api which interacts with the webview and the javascript API which allows the developers to make their apps directly on HTML,CSS and JS using the device functionality through plugins and customs plugins.&lt;br /&gt;
&lt;br /&gt;
So in a nutshell we shall develop the middle layer, which shall help the HTML apps to communicate with the sugar platform beneath.We shall build the cordova part as well as the native APIs needed to communicate with the cordova middle layer.Finally we shall provide the javascript APIs though which the developers can make their HTML apps for the sugar platform.So the final goal of the project is to provide the javascript APIs for the developers and code some sample apps which depict the usage of those APIs in the real environment&lt;br /&gt;
&lt;br /&gt;
===== What is the timeline for development of your project? The Summer of Code work period is from May 19 - August 22; 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 (27 June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. =====&lt;br /&gt;
March 9 – March 15 – Understand the high level architecture of project , go through the code of different platforms, come out with plan for sugar lab platform&amp;lt;br /&amp;gt;&lt;br /&gt;
March 16 – March 22 – Look into the corresponding code of sugar labs , how the cordova plugins can be made from the  present sugar code&amp;lt;br /&amp;gt;&lt;br /&gt;
March 23 – March 29 – Understand the sugar code required for implementing the the functionalities &amp;lt;br /&amp;gt;&lt;br /&gt;
April 1 – 12 – Buffer Period (Have sessional exams in college)&amp;lt;br /&amp;gt;&lt;br /&gt;
April 13 –May 19 – Talk with my mentors and discuss a clear outline of the project, define steps to approach the problem and discuss ways by which we can attack the issue, understand all the technicalities required for the project - the sugar -web architecture through the code, the record activity and other python code on which we shall be developing, start coding in python as required &amp;lt;br /&amp;gt;&lt;br /&gt;
May 19 – June 15 – Build the architecture for the python-javascript for the cordova container&amp;lt;br /&amp;gt;&lt;br /&gt;
June 15 - June 30 - Make a sample activity to show the working of the architecture developed&amp;lt;br /&amp;gt;&lt;br /&gt;
June 31 - Mid Term Examination&amp;lt;br /&amp;gt;&lt;br /&gt;
July 1 - July 20 - Refine the code developed till now, add more functionality and features, remove errors&amp;lt;br /&amp;gt;&lt;br /&gt;
July 20 onwards – Document all the new API&#039;s of the JavaScript library made till now, add more&lt;br /&gt;
&lt;br /&gt;
===== 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. =====&lt;br /&gt;
I have already worked on sugar before, configured it and been with it for a few months, so I think I can develop on it.Same goes for cordova as well.Have developed apps on phonegap cordova.Hence I felt I would be in a position to help out in this project. Previously apart from sugar and phonegap I have done projects on C, php and java.&amp;lt;br /&amp;gt;&lt;br /&gt;
I have added all my project and their code on github , you can have a look [https://github.com/puneetgkaur]&lt;br /&gt;
Some of my earlier projects include : &lt;br /&gt;
* Flowchart Generator - It was developed using C language.It takes input as a C programs and extracts the control units out of it and analyses the flow structure to finally output a corresponding graph matrix for the program.This helped to automatically generate test cases for a given program.This project was made use in the program submission portal whereby the students submitted programs as a part of their assignment.The students programs were run for all the test cases generated from the teacher&#039;s program ( a program submitted by the teacher was considered to be correct).The project  allowed to generate the corresponding graph matrix of the teacher&#039;s code and hence helping to generate the test cases based on which the accuracy of the students code was tested.&lt;br /&gt;
* Data Enrichment through Twitter and Google API : I did this project as a part of my internship.This project was developed basically in Java.The aim was to dig out the information about Food Poisoning Incidents in Singapore and the analyse the results in a systematic manner to join the dots and draw some conclusions based on it.We extracted the tweets related to food poisoning by specifying some parameters and then fetched information from a particular site which mentioned about the restaurants and their location.Also Google Map API was used to find the location of the restaurants, and some more information from the different blogs fetched and filtered out to draw useful conclusion related to the food poisoning incidents.&lt;br /&gt;
* Amazon In App Purchase : Integrated the amazon in app purchase feature in the phonegap android app, the corresponding code can be found on the github site.&lt;br /&gt;
* Integration of dropbox sync feature in Android Phonegap App : Integrated the dropbox sync API with the android phonegap app which allowed to sync and upload / download the objects using the the dropbox sync API&lt;br /&gt;
* Paint Alarm PhoneGap App : In a alarm clock application build on phonegap, I provided the feature to draw and paint your own wallpaper.Here the cordova&#039;s camera feature was also used.User had an option to include the picture from the gallery or click it right from the camera and insert in the canvas upon which he could draw.This picture was then stored in the phone memory and could be uploaded to the user&#039;s dropbox account using the dropbox sync API&lt;br /&gt;
*Online Treasure Hunt : Made an online PHP game for our technical fest.MySQL was used at the backend to store the information and the php logic was used to determine whether the user should be allowed to go to the next level. The leader board was developed according to the time taken by the user to solve the questions.&lt;br /&gt;
*Have been a part of website team of the [http://www.csi-india.org/ CSI(Computer Society of India)] technical society of our college for three consecutive years and have helped develop sites for the society and fest.&lt;br /&gt;
*Have contributed to sugar in past[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== You and the community ==&lt;br /&gt;
&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;
&#039;&#039;&#039;Lionel :&#039;&#039;&#039; Today, Sugar activities written using the Sugar Web Framework had limited features because they can&#039;t benefit to device capabilities (camera, audio/video capture, accelerometer, network detection, ...). Integrating a PhoneGap container into Sugar will allow to provide the same level of features to Sugar Web activities than existing Sugar activities. Plus it will allow to web developers familiar with PhoneGap/Cordova framework to easily port or adapt their applications to Sugar. So we could expect to enhance the community of developers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suraj KS&#039;&#039;&#039; : Writing activities using HTML5/JavaScript has already given a big boost to Sugar. Once we can get wrap it in a Cordova/Phonegap container, it&#039;ll transform Sugar Web activities to a whole new level by utilizing the PhoneGap features. This could further attract many more developers towards Sugar and thereby improving both the quality and quantity of Sugar activities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Puneet Kaur :&#039;&#039;&#039; I think once this project is completed it will help people to develop activities directly on html,js and css and the developers don&#039;t even need to know the native language in order to interact with the device functionalities like camera etc.This will lead to a great expansion of sugar as all the mobile developers who know to code in html,js and css which isn&#039;t much difficult can easily pull in all the cool functions here and make the interaction with the sugar platform much more entertaining than before without much of an effort !&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;
Get in touch with other people of the community who can help.I think I would get some help from other experts in the community.Ask questions over IRC channel.Ask question in other doubt forums.Try searching on my own. Get in touch with people outside the community who can help. For the cordova related help, will ask people from the cordova community for help and do the brainstorming on my own. Try possible methods.Debug it.Analyze why it went wrong or what should be done based on my previous experience. &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;
I&#039;ll blog about the progress and ask my queries to my mentor, ask on IRC or over the mailing list&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== We want to make sure that you can set up a development environment before the summer starts. Please do one of the following: 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;. Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.It&#039;s normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help. ====&lt;br /&gt;
&lt;br /&gt;
[[File:puneet kaur_sugar development environment setup.jpg|thumb|upright=3|center]]&lt;br /&gt;
&lt;br /&gt;
==== Describe a great learning experience you had as a child. ====&lt;br /&gt;
Drawing, Painting and Art. I loved to draw things.Sketch them,paint them in different colors.Drawing basically used to provide a way to unlimited creativity.It used to present a simple blank paper upon which we could lay our imagination in the way we wanted.It new no boundaries and that&#039;s what made me fall in love with art.&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 have worked with sugar before and that I consider would help me to dive in this project.Also have contributed to some phonegap android apps which are based on cordova.Hence I think I should be able to contribute to this project.&lt;br /&gt;
&lt;br /&gt;
==== Please include the category tag at the bottom of your page: ====&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC ]]&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=91924</id>
		<title>Summer of Code/2014/sugar cordova</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=91924"/>
		<updated>2014-03-18T15:28:58Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: /* Please include the category tag at the bottom of your page: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &amp;lt;!-- Please fix Section Header lengths to make a usable Table of Contents. (Use other means to format those lines). --&amp;gt;&lt;br /&gt;
==About me==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== My name ====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your email address? =====&lt;br /&gt;
puneet.gkaur@gmail.com&lt;br /&gt;
&lt;br /&gt;
===== What is your Sugar Labs wiki username? =====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your IRC nickname on irc.freenode.net? =====&lt;br /&gt;
puneet_kaur&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
English&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
Delhi, India&lt;br /&gt;
Work time are not fixed, work as I get time from my regular coursework&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
Did contribute a little to the sugar project.A small contribution can be found here[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba] .This patch was possible only by the cooperative support of Gonzalo. I worked on sugar in August - September last year. I went through the paint code to know the possible ways by which we can incoporate the functionality of saving the tool state at which the user left before saving the activity.This is done by storing the values of the tool and its corresponding state in form of json.I wish to contribute more to this wonderful community with supportive people around and that&#039;s why I am applying this time to gsoc. I hope to make a good contribution to the community. Many communities dont really care about different people writing to them or review their mails and respond in time. The best part I love about the sugar community is that whether its walter bender or gonzalo or lionel or anybody else, they will surely make it a point to respond back to the people in the best possible manner and never hesitate sharing their knowledge with other.This is the reason why I too wish to be a part of this community where people care for and support each other.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
==== What is the name of your project? ====&lt;br /&gt;
Cordova container for sugar platform&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
This project is aimed at building a new platform on cordova for sugar. It shall help us to build activities for mobile using html,js and css and the interaction with the device&#039;s native api can be provided by invoking the javascript libraries. These libraries provide device specific native backing code.We can access the camera functions and many others using javascript alone.So basically the mobile apps can be built in js rather than native code which implies that knowing the native code to built an activity and to interact with device functionality is no longer a neccesity.The technologies required to complete this project are javascript,python programming knowledge and sugar built, cordova platform for developing upon.&lt;br /&gt;
&lt;br /&gt;
The figure below shows how the hybrid apps help the developers to port their applications to different platforms using the cordova platform and give a view why developing the cordova container for sugar would be useful.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova applications run on different platforms.png|center|500px|Figure1]]&lt;br /&gt;
&lt;br /&gt;
Also the application build using HTML,CSS,JS can be designed to run over various devices which in turn provides the developer to develop apps which are universal in nature. This can be achieved by making the design responsive which adapts according to the device&#039;s features.This forms a key reason why we would want to develop using HTML,CSS and JS usiing the cordova platform.The concept can be explained by the following image.&lt;br /&gt;
&lt;br /&gt;
[[File:Why_is_cordova_neccesary.jpg|center|500px|Figure2]]&lt;br /&gt;
&lt;br /&gt;
The main part allowing the interoperability of the html apps over different platforms is the cordova libraries that provide the javascript APIs.The high level view of the cordova architecture which allows seamless operation over different platforms can be explained as below.The native platform API&#039;s are first developed which communicate with the cordova libraries, these native cordova libraries then communicate with the javascript APIs which the developer uses to develop his HTML, CSS and JS application.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova_Html_application_on_different_platforms.jpg|center|650px|Figure3]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To allow the web developers to interact with the device&#039;s native functionality, we shall build a communication between the python and javascript part by using the sugar web architecture.Once that is done, we then need to add to the cordova-js project of cordova - which provides the common API&#039;s for sending messages and triggering error and success callbacks with native framework responses.The high level view of the architecture to be built can be specified as follows.The cordova plugins will interact with the sugar platform through the sugar API (we need to develop that) and with the webview through its native API.This will then provide a javascript API to developers for their apps.&lt;br /&gt;
&lt;br /&gt;
[[File:Sugar_cordova_architecture.jpg|center|650px|Figure4]]&lt;br /&gt;
&lt;br /&gt;
Hence as per the above diagram we shall be building the cordova plugins, sugar api whiich interacts with the cordova plugins,the native cordova api which interacts with the webview and the javascript API which allows the developers to make their apps directly on HTML,CSS and JS using the device functionality through plugins and customs plugins.&lt;br /&gt;
&lt;br /&gt;
So in a nutshell develop the middle layer, which shall help the HTML apps to communicate with the sugar platform beneath.We shall build the cordova part as well as the native APIs needed to communicate with the cordova middle layer.Finally we shall provide the javascript APIs though which the developers can make their HTML apps for the sugar platform.So the final goal of the project is to provide the javascript APIs for the developers and code some sample apps which depict the usage of those APIs in the real environment&lt;br /&gt;
&lt;br /&gt;
===== What is the timeline for development of your project? The Summer of Code work period is from May 19 - August 22; 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 (27 June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. =====&lt;br /&gt;
March 9 – March 15 – Understand the high level architecture of project , go through the code of different platforms, come out with plan for sugar lab platform&amp;lt;br /&amp;gt;&lt;br /&gt;
March 16 – March 22 – Look into the corresponding code of sugar labs , how the cordova plugins can be made from the  present sugar code&amp;lt;br /&amp;gt;&lt;br /&gt;
March 23 – March 29 – Understand the sugar code required for implementing the the functionalities &amp;lt;br /&amp;gt;&lt;br /&gt;
April 1 – 12 – Buffer Period (Have sessional exams in college)&amp;lt;br /&amp;gt;&lt;br /&gt;
April 13 –May 19 – Talk with my mentors and discuss a clear outline of the project, define steps to approach the problem and discuss ways by which we can attack the issue, understand all the technicalities required for the project - the sugar -web architecture through the code, the record activity and other python code on which we shall be developing, start coding in python as required &amp;lt;br /&amp;gt;&lt;br /&gt;
May 19 – June 15 – Build the architecture for the python-javascript for the cordova container&amp;lt;br /&amp;gt;&lt;br /&gt;
June 15 - June 30 - Make a sample activity to show the working of the architecture developed&amp;lt;br /&amp;gt;&lt;br /&gt;
June 31 - Mid Term Examination&amp;lt;br /&amp;gt;&lt;br /&gt;
July 1 - July 20 - Refine the code developed till now, add more functionality and features, remove errors&amp;lt;br /&amp;gt;&lt;br /&gt;
July 20 onwards – Document all the new API&#039;s of the JavaScript library made till now, add more&lt;br /&gt;
&lt;br /&gt;
===== 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. =====&lt;br /&gt;
I have already worked on sugar before, configured it and been with it for a few months, so I think I can develop on it.Same goes for cordova as well.Have developed apps on phonegap cordova.Hence I felt I would be in a position to help out in this project. Previously apart from sugar and phonegap I have done projects on C, php and java.&amp;lt;br /&amp;gt;&lt;br /&gt;
I have added all my project and their code on github , you can have a look [https://github.com/puneetgkaur]&lt;br /&gt;
Some of my earlier projects include : &lt;br /&gt;
* Flowchart Generator - It was developed using C language.It takes input as a C programs and extracts the control units out of it and analyses the flow structure to finally output a corresponding graph matrix for the program.This helped to automatically generate test cases for a given program.This project was made use in the program submission portal whereby the students submitted programs as a part of their assignment.The students programs were run for all the test cases generated from the teacher&#039;s program ( a program submitted by the teacher was considered to be correct).The project  allowed to generate the corresponding graph matrix of the teacher&#039;s code and hence helping to generate the test cases based on which the accuracy of the students code was tested.&lt;br /&gt;
* Data Enrichment through Twitter and Google API : I did this project as a part of my internship.This project was developed basically in Java.The aim was to dig out the information about Food Poisoning Incidents in Singapore and the analyse the results in a systematic manner to join the dots and draw some conclusions based on it.We extracted the tweets related to food poisoning by specifying some parameters and then fetched information from a particular site which mentioned about the restaurants and their location.Also Google Map API was used to find the location of the restaurants, and some more information from the different blogs fetched and filtered out to draw useful conclusion related to the food poisoning incidents.&lt;br /&gt;
* Amazon In App Purchase : Integrated the amazon in app purchase feature in the phonegap android app, the corresponding code can be found on the github site.&lt;br /&gt;
* Integration of dropbox sync feature in Android Phonegap App : Integrated the dropbox sync API with the android phonegap app which allowed to sync and upload / download the objects using the the dropbox sync API&lt;br /&gt;
* Paint Alarm PhoneGap App : In a alarm clock application build on phonegap, I provided the feature to draw and paint your own wallpaper.Here the cordova&#039;s camera feature was also used.User had an option to include the picture from the gallery or click it right from the camera and insert in the canvas upon which he could draw.This picture was then stored in the phone memory and could be uploaded to the user&#039;s dropbox account using the dropbox sync API&lt;br /&gt;
*Online Treasure Hunt : Made an online PHP game for our technical fest.MySQL was used at the backend to store the information and the php logic was used to determine whether the user should be allowed to go to the next level. The leader board was developed according to the time taken by the user to solve the questions.&lt;br /&gt;
*Have been a part of website team of the [http://www.csi-india.org/ CSI(Computer Society of India)] technical society of our college for three consecutive years and have helped develop sites for the society and fest.&lt;br /&gt;
*Have contributed to sugar in past[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== You and the community ==&lt;br /&gt;
&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;
&#039;&#039;&#039;Lionel :&#039;&#039;&#039; Today, Sugar activities written using the Sugar Web Framework had limited features because they can&#039;t benefit to device capabilities (camera, audio/video capture, accelerometer, network detection, ...). Integrating a PhoneGap container into Sugar will allow to provide the same level of features to Sugar Web activities than existing Sugar activities. Plus it will allow to web developers familiar with PhoneGap/Cordova framework to easily port or adapt their applications to Sugar. So we could expect to enhance the community of developers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suraj KS&#039;&#039;&#039; : Writing activities using HTML5/JavaScript has already given a big boost to Sugar. Once we can get wrap it in a Cordova/Phonegap container, it&#039;ll transform Sugar Web activities to a whole new level by utilizing the PhoneGap features. This could further attract many more developers towards Sugar and thereby improving both the quality and quantity of Sugar activities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Puneet Kaur :&#039;&#039;&#039; I think once this project is completed it will help people to develop activities directly on html,js and css and the developers don&#039;t even need to know the native language in order to interact with the device functionalities like camera etc.This will lead to a great expansion of sugar as all the mobile developers who know to code in html,js and css which isn&#039;t much difficult can easily pull in all the cool functions here and make the interaction with the sugar platform much more entertaining than before without much of an effort !&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;
Get in touch with other people of the community who can help.I think I would get some help from other experts in the community.Ask questions over IRC channel.Ask question in other doubt forums.Try searching on my own. Get in touch with people outside the community who can help. For the cordova related help, will ask people from the cordova community for help and do the brainstorming on my own. Try possible methods.Debug it.Analyze why it went wrong or what should be done based on my previous experience. &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;
I&#039;ll blog about the progress and ask my queries to my mentor, ask on IRC or over the mailing list&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== We want to make sure that you can set up a development environment before the summer starts. Please do one of the following: 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;. Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.It&#039;s normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help. ====&lt;br /&gt;
&lt;br /&gt;
[[File:puneet kaur_sugar development environment setup.jpg|thumb|upright=3|center]]&lt;br /&gt;
&lt;br /&gt;
==== Describe a great learning experience you had as a child. ====&lt;br /&gt;
Drawing, Painting and Art. I loved to draw things.Sketch them,paint them in different colors.Drawing basically used to provide a way to unlimited creativity.It used to present a simple blank paper upon which we could lay our imagination in the way we wanted.It new no boundaries and that&#039;s what made me fall in love with art.&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 have worked with sugar before and that I consider would help me to dive in this project.Also have contributed to some phonegap android apps which are based on cordova.Hence I think I should be able to contribute to this project.&lt;br /&gt;
&lt;br /&gt;
==== Please include the category tag at the bottom of your page: ====&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC ]]&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=91923</id>
		<title>Summer of Code/2014/sugar cordova</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=91923"/>
		<updated>2014-03-18T15:23:38Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: /* Please include the category tag at the bottom of your page: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &amp;lt;!-- Please fix Section Header lengths to make a usable Table of Contents. (Use other means to format those lines). --&amp;gt;&lt;br /&gt;
==About me==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== My name ====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your email address? =====&lt;br /&gt;
puneet.gkaur@gmail.com&lt;br /&gt;
&lt;br /&gt;
===== What is your Sugar Labs wiki username? =====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your IRC nickname on irc.freenode.net? =====&lt;br /&gt;
puneet_kaur&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
English&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
Delhi, India&lt;br /&gt;
Work time are not fixed, work as I get time from my regular coursework&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
Did contribute a little to the sugar project.A small contribution can be found here[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba] .This patch was possible only by the cooperative support of Gonzalo. I worked on sugar in August - September last year. I went through the paint code to know the possible ways by which we can incoporate the functionality of saving the tool state at which the user left before saving the activity.This is done by storing the values of the tool and its corresponding state in form of json.I wish to contribute more to this wonderful community with supportive people around and that&#039;s why I am applying this time to gsoc. I hope to make a good contribution to the community. Many communities dont really care about different people writing to them or review their mails and respond in time. The best part I love about the sugar community is that whether its walter bender or gonzalo or lionel or anybody else, they will surely make it a point to respond back to the people in the best possible manner and never hesitate sharing their knowledge with other.This is the reason why I too wish to be a part of this community where people care for and support each other.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
==== What is the name of your project? ====&lt;br /&gt;
Cordova container for sugar platform&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
This project is aimed at building a new platform on cordova for sugar. It shall help us to build activities for mobile using html,js and css and the interaction with the device&#039;s native api can be provided by invoking the javascript libraries. These libraries provide device specific native backing code.We can access the camera functions and many others using javascript alone.So basically the mobile apps can be built in js rather than native code which implies that knowing the native code to built an activity and to interact with device functionality is no longer a neccesity.The technologies required to complete this project are javascript,python programming knowledge and sugar built, cordova platform for developing upon.&lt;br /&gt;
&lt;br /&gt;
The figure below shows how the hybrid apps help the developers to port their applications to different platforms using the cordova platform and give a view why developing the cordova container for sugar would be useful.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova applications run on different platforms.png|center|500px|Figure1]]&lt;br /&gt;
&lt;br /&gt;
Also the application build using HTML,CSS,JS can be designed to run over various devices which in turn provides the developer to develop apps which are universal in nature. This can be achieved by making the design responsive which adapts according to the device&#039;s features.This forms a key reason why we would want to develop using HTML,CSS and JS usiing the cordova platform.The concept can be explained by the following image.&lt;br /&gt;
&lt;br /&gt;
[[File:Why_is_cordova_neccesary.jpg|center|500px|Figure2]]&lt;br /&gt;
&lt;br /&gt;
The main part allowing the interoperability of the html apps over different platforms is the cordova libraries that provide the javascript APIs.The high level view of the cordova architecture which allows seamless operation over different platforms can be explained as below.The native platform API&#039;s are first developed which communicate with the cordova libraries, these native cordova libraries then communicate with the javascript APIs which the developer uses to develop his HTML, CSS and JS application.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova_Html_application_on_different_platforms.jpg|center|650px|Figure3]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To allow the web developers to interact with the device&#039;s native functionality, we shall build a communication between the python and javascript part by using the sugar web architecture.Once that is done, we then need to add to the cordova-js project of cordova - which provides the common API&#039;s for sending messages and triggering error and success callbacks with native framework responses.The high level view of the architecture to be built can be specified as follows.The cordova plugins will interact with the sugar platform through the sugar API (we need to develop that) and with the webview through its native API.This will then provide a javascript API to developers for their apps.&lt;br /&gt;
&lt;br /&gt;
[[File:Sugar_cordova_architecture.jpg|center|650px|Figure4]]&lt;br /&gt;
&lt;br /&gt;
Hence as per the above diagram we shall be building the cordova plugins, sugar api whiich interacts with the cordova plugins,the native cordova api which interacts with the webview and the javascript API which allows the developers to make their apps directly on HTML,CSS and JS using the device functionality through plugins and customs plugins.&lt;br /&gt;
&lt;br /&gt;
So in a nutshell develop the middle layer, which shall help the HTML apps to communicate with the sugar platform beneath.We shall build the cordova part as well as the native APIs needed to communicate with the cordova middle layer.Finally we shall provide the javascript APIs though which the developers can make their HTML apps for the sugar platform.So the final goal of the project is to provide the javascript APIs for the developers and code some sample apps which depict the usage of those APIs in the real environment&lt;br /&gt;
&lt;br /&gt;
===== What is the timeline for development of your project? The Summer of Code work period is from May 19 - August 22; 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 (27 June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. =====&lt;br /&gt;
March 9 – March 15 – Understand the high level architecture of project , go through the code of different platforms, come out with plan for sugar lab platform&amp;lt;br /&amp;gt;&lt;br /&gt;
March 16 – March 22 – Look into the corresponding code of sugar labs , how the cordova plugins can be made from the  present sugar code&amp;lt;br /&amp;gt;&lt;br /&gt;
March 23 – March 29 – Understand the sugar code required for implementing the the functionalities &amp;lt;br /&amp;gt;&lt;br /&gt;
April 1 – 12 – Buffer Period (Have sessional exams in college)&amp;lt;br /&amp;gt;&lt;br /&gt;
April 13 –May 19 – Talk with my mentors and discuss a clear outline of the project, define steps to approach the problem and discuss ways by which we can attack the issue, understand all the technicalities required for the project - the sugar -web architecture through the code, the record activity and other python code on which we shall be developing, start coding in python as required &amp;lt;br /&amp;gt;&lt;br /&gt;
May 19 – June 15 – Build the architecture for the python-javascript for the cordova container&amp;lt;br /&amp;gt;&lt;br /&gt;
June 15 - June 30 - Make a sample activity to show the working of the architecture developed&amp;lt;br /&amp;gt;&lt;br /&gt;
June 31 - Mid Term Examination&amp;lt;br /&amp;gt;&lt;br /&gt;
July 1 - July 20 - Refine the code developed till now, add more functionality and features, remove errors&amp;lt;br /&amp;gt;&lt;br /&gt;
July 20 onwards – Document all the new API&#039;s of the JavaScript library made till now, add more&lt;br /&gt;
&lt;br /&gt;
===== 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. =====&lt;br /&gt;
I have already worked on sugar before, configured it and been with it for a few months, so I think I can develop on it.Same goes for cordova as well.Have developed apps on phonegap cordova.Hence I felt I would be in a position to help out in this project. Previously apart from sugar and phonegap I have done projects on C, php and java.&amp;lt;br /&amp;gt;&lt;br /&gt;
I have added all my project and their code on github , you can have a look [https://github.com/puneetgkaur]&lt;br /&gt;
Some of my earlier projects include : &lt;br /&gt;
* Flowchart Generator - It was developed using C language.It takes input as a C programs and extracts the control units out of it and analyses the flow structure to finally output a corresponding graph matrix for the program.This helped to automatically generate test cases for a given program.This project was made use in the program submission portal whereby the students submitted programs as a part of their assignment.The students programs were run for all the test cases generated from the teacher&#039;s program ( a program submitted by the teacher was considered to be correct).The project  allowed to generate the corresponding graph matrix of the teacher&#039;s code and hence helping to generate the test cases based on which the accuracy of the students code was tested.&lt;br /&gt;
* Data Enrichment through Twitter and Google API : I did this project as a part of my internship.This project was developed basically in Java.The aim was to dig out the information about Food Poisoning Incidents in Singapore and the analyse the results in a systematic manner to join the dots and draw some conclusions based on it.We extracted the tweets related to food poisoning by specifying some parameters and then fetched information from a particular site which mentioned about the restaurants and their location.Also Google Map API was used to find the location of the restaurants, and some more information from the different blogs fetched and filtered out to draw useful conclusion related to the food poisoning incidents.&lt;br /&gt;
* Amazon In App Purchase : Integrated the amazon in app purchase feature in the phonegap android app, the corresponding code can be found on the github site.&lt;br /&gt;
* Integration of dropbox sync feature in Android Phonegap App : Integrated the dropbox sync API with the android phonegap app which allowed to sync and upload / download the objects using the the dropbox sync API&lt;br /&gt;
* Paint Alarm PhoneGap App : In a alarm clock application build on phonegap, I provided the feature to draw and paint your own wallpaper.Here the cordova&#039;s camera feature was also used.User had an option to include the picture from the gallery or click it right from the camera and insert in the canvas upon which he could draw.This picture was then stored in the phone memory and could be uploaded to the user&#039;s dropbox account using the dropbox sync API&lt;br /&gt;
*Online Treasure Hunt : Made an online PHP game for our technical fest.MySQL was used at the backend to store the information and the php logic was used to determine whether the user should be allowed to go to the next level. The leader board was developed according to the time taken by the user to solve the questions.&lt;br /&gt;
*Have been a part of website team of the [http://www.csi-india.org/ CSI(Computer Society of India)] technical society of our college for three consecutive years and have helped develop sites for the society and fest.&lt;br /&gt;
*Have contributed to sugar in past[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== You and the community ==&lt;br /&gt;
&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;
&#039;&#039;&#039;Lionel :&#039;&#039;&#039; Today, Sugar activities written using the Sugar Web Framework had limited features because they can&#039;t benefit to device capabilities (camera, audio/video capture, accelerometer, network detection, ...). Integrating a PhoneGap container into Sugar will allow to provide the same level of features to Sugar Web activities than existing Sugar activities. Plus it will allow to web developers familiar with PhoneGap/Cordova framework to easily port or adapt their applications to Sugar. So we could expect to enhance the community of developers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suraj KS&#039;&#039;&#039; : Writing activities using HTML5/JavaScript has already given a big boost to Sugar. Once we can get wrap it in a Cordova/Phonegap container, it&#039;ll transform Sugar Web activities to a whole new level by utilizing the PhoneGap features. This could further attract many more developers towards Sugar and thereby improving both the quality and quantity of Sugar activities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Puneet Kaur :&#039;&#039;&#039; I think once this project is completed it will help people to develop activities directly on html,js and css and the developers don&#039;t even need to know the native language in order to interact with the device functionalities like camera etc.This will lead to a great expansion of sugar as all the mobile developers who know to code in html,js and css which isn&#039;t much difficult can easily pull in all the cool functions here and make the interaction with the sugar platform much more entertaining than before without much of an effort !&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;
Get in touch with other people of the community who can help.I think I would get some help from other experts in the community.Ask questions over IRC channel.Ask question in other doubt forums.Try searching on my own. Get in touch with people outside the community who can help. For the cordova related help, will ask people from the cordova community for help and do the brainstorming on my own. Try possible methods.Debug it.Analyze why it went wrong or what should be done based on my previous experience. &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;
I&#039;ll blog about the progress and ask my queries to my mentor, ask on IRC or over the mailing list&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== We want to make sure that you can set up a development environment before the summer starts. Please do one of the following: 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;. Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.It&#039;s normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help. ====&lt;br /&gt;
&lt;br /&gt;
[[File:puneet kaur_sugar development environment setup.jpg|thumb|upright=3|center]]&lt;br /&gt;
&lt;br /&gt;
==== Describe a great learning experience you had as a child. ====&lt;br /&gt;
Drawing, Painting and Art. I loved to draw things.Sketch them,paint them in different colors.Drawing basically used to provide a way to unlimited creativity.It used to present a simple blank paper upon which we could lay our imagination in the way we wanted.It new no boundaries and that&#039;s what made me fall in love with art.&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 have worked with sugar before and that I consider would help me to dive in this project.Also have contributed to some phonegap android apps which are based on cordova.Hence I think I should be able to contribute to this project.&lt;br /&gt;
&lt;br /&gt;
==== Please include the category tag at the bottom of your page: ====&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC | 2014 GSoC Applications ]]&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=91922</id>
		<title>Summer of Code/2014/sugar cordova</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2014/sugar_cordova&amp;diff=91922"/>
		<updated>2014-03-18T15:23:02Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: /* 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? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &amp;lt;!-- Please fix Section Header lengths to make a usable Table of Contents. (Use other means to format those lines). --&amp;gt;&lt;br /&gt;
==About me==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== My name ====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your email address? =====&lt;br /&gt;
puneet.gkaur@gmail.com&lt;br /&gt;
&lt;br /&gt;
===== What is your Sugar Labs wiki username? =====&lt;br /&gt;
Puneet Kaur&lt;br /&gt;
&lt;br /&gt;
===== What is your IRC nickname on irc.freenode.net? =====&lt;br /&gt;
puneet_kaur&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
English&lt;br /&gt;
&lt;br /&gt;
===== 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.) =====&lt;br /&gt;
Delhi, India&lt;br /&gt;
Work time are not fixed, work as I get time from my regular coursework&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
Did contribute a little to the sugar project.A small contribution can be found here[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba] .This patch was possible only by the cooperative support of Gonzalo. I worked on sugar in August - September last year. I went through the paint code to know the possible ways by which we can incoporate the functionality of saving the tool state at which the user left before saving the activity.This is done by storing the values of the tool and its corresponding state in form of json.I wish to contribute more to this wonderful community with supportive people around and that&#039;s why I am applying this time to gsoc. I hope to make a good contribution to the community. Many communities dont really care about different people writing to them or review their mails and respond in time. The best part I love about the sugar community is that whether its walter bender or gonzalo or lionel or anybody else, they will surely make it a point to respond back to the people in the best possible manner and never hesitate sharing their knowledge with other.This is the reason why I too wish to be a part of this community where people care for and support each other.&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&lt;br /&gt;
==== What is the name of your project? ====&lt;br /&gt;
Cordova container for sugar platform&lt;br /&gt;
&lt;br /&gt;
==== 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? ====&lt;br /&gt;
This project is aimed at building a new platform on cordova for sugar. It shall help us to build activities for mobile using html,js and css and the interaction with the device&#039;s native api can be provided by invoking the javascript libraries. These libraries provide device specific native backing code.We can access the camera functions and many others using javascript alone.So basically the mobile apps can be built in js rather than native code which implies that knowing the native code to built an activity and to interact with device functionality is no longer a neccesity.The technologies required to complete this project are javascript,python programming knowledge and sugar built, cordova platform for developing upon.&lt;br /&gt;
&lt;br /&gt;
The figure below shows how the hybrid apps help the developers to port their applications to different platforms using the cordova platform and give a view why developing the cordova container for sugar would be useful.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova applications run on different platforms.png|center|500px|Figure1]]&lt;br /&gt;
&lt;br /&gt;
Also the application build using HTML,CSS,JS can be designed to run over various devices which in turn provides the developer to develop apps which are universal in nature. This can be achieved by making the design responsive which adapts according to the device&#039;s features.This forms a key reason why we would want to develop using HTML,CSS and JS usiing the cordova platform.The concept can be explained by the following image.&lt;br /&gt;
&lt;br /&gt;
[[File:Why_is_cordova_neccesary.jpg|center|500px|Figure2]]&lt;br /&gt;
&lt;br /&gt;
The main part allowing the interoperability of the html apps over different platforms is the cordova libraries that provide the javascript APIs.The high level view of the cordova architecture which allows seamless operation over different platforms can be explained as below.The native platform API&#039;s are first developed which communicate with the cordova libraries, these native cordova libraries then communicate with the javascript APIs which the developer uses to develop his HTML, CSS and JS application.&lt;br /&gt;
&lt;br /&gt;
[[File:Cordova_Html_application_on_different_platforms.jpg|center|650px|Figure3]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To allow the web developers to interact with the device&#039;s native functionality, we shall build a communication between the python and javascript part by using the sugar web architecture.Once that is done, we then need to add to the cordova-js project of cordova - which provides the common API&#039;s for sending messages and triggering error and success callbacks with native framework responses.The high level view of the architecture to be built can be specified as follows.The cordova plugins will interact with the sugar platform through the sugar API (we need to develop that) and with the webview through its native API.This will then provide a javascript API to developers for their apps.&lt;br /&gt;
&lt;br /&gt;
[[File:Sugar_cordova_architecture.jpg|center|650px|Figure4]]&lt;br /&gt;
&lt;br /&gt;
Hence as per the above diagram we shall be building the cordova plugins, sugar api whiich interacts with the cordova plugins,the native cordova api which interacts with the webview and the javascript API which allows the developers to make their apps directly on HTML,CSS and JS using the device functionality through plugins and customs plugins.&lt;br /&gt;
&lt;br /&gt;
So in a nutshell develop the middle layer, which shall help the HTML apps to communicate with the sugar platform beneath.We shall build the cordova part as well as the native APIs needed to communicate with the cordova middle layer.Finally we shall provide the javascript APIs though which the developers can make their HTML apps for the sugar platform.So the final goal of the project is to provide the javascript APIs for the developers and code some sample apps which depict the usage of those APIs in the real environment&lt;br /&gt;
&lt;br /&gt;
===== What is the timeline for development of your project? The Summer of Code work period is from May 19 - August 22; 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 (27 June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then. =====&lt;br /&gt;
March 9 – March 15 – Understand the high level architecture of project , go through the code of different platforms, come out with plan for sugar lab platform&amp;lt;br /&amp;gt;&lt;br /&gt;
March 16 – March 22 – Look into the corresponding code of sugar labs , how the cordova plugins can be made from the  present sugar code&amp;lt;br /&amp;gt;&lt;br /&gt;
March 23 – March 29 – Understand the sugar code required for implementing the the functionalities &amp;lt;br /&amp;gt;&lt;br /&gt;
April 1 – 12 – Buffer Period (Have sessional exams in college)&amp;lt;br /&amp;gt;&lt;br /&gt;
April 13 –May 19 – Talk with my mentors and discuss a clear outline of the project, define steps to approach the problem and discuss ways by which we can attack the issue, understand all the technicalities required for the project - the sugar -web architecture through the code, the record activity and other python code on which we shall be developing, start coding in python as required &amp;lt;br /&amp;gt;&lt;br /&gt;
May 19 – June 15 – Build the architecture for the python-javascript for the cordova container&amp;lt;br /&amp;gt;&lt;br /&gt;
June 15 - June 30 - Make a sample activity to show the working of the architecture developed&amp;lt;br /&amp;gt;&lt;br /&gt;
June 31 - Mid Term Examination&amp;lt;br /&amp;gt;&lt;br /&gt;
July 1 - July 20 - Refine the code developed till now, add more functionality and features, remove errors&amp;lt;br /&amp;gt;&lt;br /&gt;
July 20 onwards – Document all the new API&#039;s of the JavaScript library made till now, add more&lt;br /&gt;
&lt;br /&gt;
===== 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. =====&lt;br /&gt;
I have already worked on sugar before, configured it and been with it for a few months, so I think I can develop on it.Same goes for cordova as well.Have developed apps on phonegap cordova.Hence I felt I would be in a position to help out in this project. Previously apart from sugar and phonegap I have done projects on C, php and java.&amp;lt;br /&amp;gt;&lt;br /&gt;
I have added all my project and their code on github , you can have a look [https://github.com/puneetgkaur]&lt;br /&gt;
Some of my earlier projects include : &lt;br /&gt;
* Flowchart Generator - It was developed using C language.It takes input as a C programs and extracts the control units out of it and analyses the flow structure to finally output a corresponding graph matrix for the program.This helped to automatically generate test cases for a given program.This project was made use in the program submission portal whereby the students submitted programs as a part of their assignment.The students programs were run for all the test cases generated from the teacher&#039;s program ( a program submitted by the teacher was considered to be correct).The project  allowed to generate the corresponding graph matrix of the teacher&#039;s code and hence helping to generate the test cases based on which the accuracy of the students code was tested.&lt;br /&gt;
* Data Enrichment through Twitter and Google API : I did this project as a part of my internship.This project was developed basically in Java.The aim was to dig out the information about Food Poisoning Incidents in Singapore and the analyse the results in a systematic manner to join the dots and draw some conclusions based on it.We extracted the tweets related to food poisoning by specifying some parameters and then fetched information from a particular site which mentioned about the restaurants and their location.Also Google Map API was used to find the location of the restaurants, and some more information from the different blogs fetched and filtered out to draw useful conclusion related to the food poisoning incidents.&lt;br /&gt;
* Amazon In App Purchase : Integrated the amazon in app purchase feature in the phonegap android app, the corresponding code can be found on the github site.&lt;br /&gt;
* Integration of dropbox sync feature in Android Phonegap App : Integrated the dropbox sync API with the android phonegap app which allowed to sync and upload / download the objects using the the dropbox sync API&lt;br /&gt;
* Paint Alarm PhoneGap App : In a alarm clock application build on phonegap, I provided the feature to draw and paint your own wallpaper.Here the cordova&#039;s camera feature was also used.User had an option to include the picture from the gallery or click it right from the camera and insert in the canvas upon which he could draw.This picture was then stored in the phone memory and could be uploaded to the user&#039;s dropbox account using the dropbox sync API&lt;br /&gt;
*Online Treasure Hunt : Made an online PHP game for our technical fest.MySQL was used at the backend to store the information and the php logic was used to determine whether the user should be allowed to go to the next level. The leader board was developed according to the time taken by the user to solve the questions.&lt;br /&gt;
*Have been a part of website team of the [http://www.csi-india.org/ CSI(Computer Society of India)] technical society of our college for three consecutive years and have helped develop sites for the society and fest.&lt;br /&gt;
*Have contributed to sugar in past[http://git.sugarlabs.org/paint/mainline/commit/181c0a8dfc5fd434a978498840586e3d2b3637ba]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== You and the community ==&lt;br /&gt;
&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;
&#039;&#039;&#039;Lionel :&#039;&#039;&#039; Today, Sugar activities written using the Sugar Web Framework had limited features because they can&#039;t benefit to device capabilities (camera, audio/video capture, accelerometer, network detection, ...). Integrating a PhoneGap container into Sugar will allow to provide the same level of features to Sugar Web activities than existing Sugar activities. Plus it will allow to web developers familiar with PhoneGap/Cordova framework to easily port or adapt their applications to Sugar. So we could expect to enhance the community of developers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suraj KS&#039;&#039;&#039; : Writing activities using HTML5/JavaScript has already given a big boost to Sugar. Once we can get wrap it in a Cordova/Phonegap container, it&#039;ll transform Sugar Web activities to a whole new level by utilizing the PhoneGap features. This could further attract many more developers towards Sugar and thereby improving both the quality and quantity of Sugar activities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Puneet Kaur :&#039;&#039;&#039; I think once this project is completed it will help people to develop activities directly on html,js and css and the developers don&#039;t even need to know the native language in order to interact with the device functionalities like camera etc.This will lead to a great expansion of sugar as all the mobile developers who know to code in html,js and css which isn&#039;t much difficult can easily pull in all the cool functions here and make the interaction with the sugar platform much more entertaining than before without much of an effort !&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;
Get in touch with other people of the community who can help.I think I would get some help from other experts in the community.Ask questions over IRC channel.Ask question in other doubt forums.Try searching on my own. Get in touch with people outside the community who can help. For the cordova related help, will ask people from the cordova community for help and do the brainstorming on my own. Try possible methods.Debug it.Analyze why it went wrong or what should be done based on my previous experience. &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;
I&#039;ll blog about the progress and ask my queries to my mentor, ask on IRC or over the mailing list&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== We want to make sure that you can set up a development environment before the summer starts. Please do one of the following: 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;. Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.It&#039;s normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help. ====&lt;br /&gt;
&lt;br /&gt;
[[File:puneet kaur_sugar development environment setup.jpg|thumb|upright=3|center]]&lt;br /&gt;
&lt;br /&gt;
==== Describe a great learning experience you had as a child. ====&lt;br /&gt;
Drawing, Painting and Art. I loved to draw things.Sketch them,paint them in different colors.Drawing basically used to provide a way to unlimited creativity.It used to present a simple blank paper upon which we could lay our imagination in the way we wanted.It new no boundaries and that&#039;s what made me fall in love with art.&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 have worked with sugar before and that I consider would help me to dive in this project.Also have contributed to some phonegap android apps which are based on cordova.Hence I think I should be able to contribute to this project.&lt;br /&gt;
&lt;br /&gt;
==== Please include the category tag at the bottom of your page: ====&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC ]]&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File:Sugar_cordova_architecture.jpg&amp;diff=91921</id>
		<title>File:Sugar cordova architecture.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File:Sugar_cordova_architecture.jpg&amp;diff=91921"/>
		<updated>2014-03-18T15:14:46Z</updated>

		<summary type="html">&lt;p&gt;Puneet Kaur: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Puneet Kaur</name></author>
	</entry>
</feed>