<?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=Kashes911</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=Kashes911"/>
	<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/go/Special:Contributions/Kashes911"/>
	<updated>2026-04-18T06:36:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.86/Roadmap&amp;diff=29908</id>
		<title>0.86/Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.86/Roadmap&amp;diff=29908"/>
		<updated>2009-05-29T10:53:05Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{ GoogleTrans-en | es =show | bg =show | zh-CN =show | zh-TW =show | hr =show | cs =show | da =show | nl =show | fi =show | fr =show | de =show | el =show | hi =show | it =show | ja =show | ko =show | no =show | pl =show | pt =show | ro =show | ru =show | sv =show }}&lt;br /&gt;
{{TeamHeader|Development Team|roadmap_link=Release/Roadmap/{{Upcoming Stable Release}}}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{TOCright}}&lt;br /&gt;
== Sucrose Development ==&lt;br /&gt;
&lt;br /&gt;
Sucrose 0.85.x is an unstable development series intended for testing and&lt;br /&gt;
development purposes. Sucrose uses odd minor version numbers to indicate&lt;br /&gt;
development status, so this unstable 0.85.x series will eventually become&lt;br /&gt;
the 0.86 stable release.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Task&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|2009 Jun 05&lt;br /&gt;
|Release goals proposal&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Jun 12&lt;br /&gt;
|New modules proposal&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Jun 25&lt;br /&gt;
|Sucrose 0.85.1 Tarballs Due&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Jun 26&lt;br /&gt;
|Sucrose 0.85.1 Development Release&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Jul 23&lt;br /&gt;
|Sucrose 0.85.2 Tarballs Due&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Jul 24 &lt;br /&gt;
|Sucrose 0.85.2 Development Release&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Aug 20&lt;br /&gt;
|Sucrose 0.85.3 Tarballs Due&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Aug 21&lt;br /&gt;
|Sucrose 0.85 Alpha (0.85.3)&lt;br /&gt;
|Feature and API Freeze, String Cooling*&lt;br /&gt;
|-&lt;br /&gt;
|Aug 27&lt;br /&gt;
|Sucrose 0.85.4 Tarballs Due&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Aug 28&lt;br /&gt;
|Sucrose 0.85.4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sep 03&lt;br /&gt;
|Sucrose 0.85.5 Tarballs Due&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sep 04&lt;br /&gt;
|Sucrose 0.85.5 Beta (0.85.5)&lt;br /&gt;
|String Freeze**&lt;br /&gt;
|-&lt;br /&gt;
|Sep 10&lt;br /&gt;
|Sucrose 0.85.6 Tarballs Due&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sep 11&lt;br /&gt;
|Sucrose 0.85.6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sep 17&lt;br /&gt;
|Sucrose 0.86 Tarballs Due&lt;br /&gt;
|Hard code freeze&lt;br /&gt;
|-&lt;br /&gt;
|Sep 18&lt;br /&gt;
|Sucrose 0.86 Final Release!&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; String changes have to be announced, but no exceptions have to be requested.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt; Every string change has to be requested and to be approved.&lt;br /&gt;
&lt;br /&gt;
== Glucose Development Team/Release/Modules ==&lt;br /&gt;
&lt;br /&gt;
* [[Development Team/Release/Modules#etoys|etoys]]&lt;br /&gt;
* [[Development Team/Release/Modules#sugar|sugar]]&lt;br /&gt;
* [[Development Team/Release/Modules#sugar-base|sugar-base]]&lt;br /&gt;
* [[Development Team/Release/Modules#sugar-datastore|sugar-datastore]]&lt;br /&gt;
* [[Development Team/Release/Modules#sugar-presence-service|sugar-presence-service]]&lt;br /&gt;
* [[Development Team/Release/Modules#sugar-toolkit|sugar-toolkit]]&lt;br /&gt;
* [[Development Team/Release/Modules#sugar-artwork|sugar-artwork]]&lt;br /&gt;
&lt;br /&gt;
== Fructose Development Team/Release/Modules ==&lt;br /&gt;
* [[Development Team/Release/Modules#chat-activity|chat-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#web-activity|web-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#read-activity|read-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#log-activity|log-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#write-activity|write-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#calculate-activity|calculate-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#terminal-activity|terminal-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#pippy-activity|pippy-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#etoys-activity|etoys-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#jukebox-activity|jukebox-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#turtleart-activity|turtleart-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#imageviewer-activity|imageviewer-activity]]&lt;br /&gt;
&lt;br /&gt;
== Glucose Dependencies ==&lt;br /&gt;
&lt;br /&gt;
* hippo-canvas&lt;br /&gt;
* [http://telepathy.freedesktop.org/releases/telepathy-glib/ telepathy-glib]&lt;br /&gt;
* [http://telepathy.freedesktop.org/releases/telepathy-gabble/ telepathy-gabble]&lt;br /&gt;
* [http://telepathy.freedesktop.org/releases/telepathy-salut/ telepathy-salut]&lt;br /&gt;
* [http://telepathy.freedesktop.org/releases/telepathy-python/ telepathy-python]&lt;br /&gt;
* [http://squeakvm.org/unix/ squeak-vm]&lt;br /&gt;
&lt;br /&gt;
== Fructose Dependencies ==&lt;br /&gt;
&lt;br /&gt;
* pyabiword&lt;br /&gt;
* hulahop&lt;br /&gt;
&lt;br /&gt;
== Proposal Goals ==&lt;br /&gt;
&lt;br /&gt;
==== Switch to a standard WM ====&lt;br /&gt;
&lt;br /&gt;
Switch to a standard compliant window manager (possibly Metacity)&lt;br /&gt;
&lt;br /&gt;
* better non-sugarized activity support&lt;br /&gt;
* our current version of matchbox is unmaintained&lt;br /&gt;
* [http://dev.sugarlabs.org/ticket/602 #602]&lt;br /&gt;
* goal: test patch in a custom Soas image&lt;br /&gt;
* Owner/Coordinator: Sayamindu&lt;br /&gt;
&lt;br /&gt;
==== New toolbar widget ====&lt;br /&gt;
* add new widget and switch basic activities to it&lt;br /&gt;
* keep the old widget if some of the activities do not change in this cycle&lt;br /&gt;
* [[Design_Team/Designs/Toolbars | Eben&#039;s mockups]]&lt;br /&gt;
* Ticket [http://dev.sugarlabs.org/ticket/452 #452]&lt;br /&gt;
* Owner/Coordinator: Marco/Benzea?&lt;br /&gt;
&lt;br /&gt;
==== Browse ====&lt;br /&gt;
* tabs support (open popup windows in tabs, saving of tabs history, standard behavior of Browse should not change -&amp;gt; no open tab by default)&lt;br /&gt;
* better naming of files to be uploaded (change temp name to something based on the title)&lt;br /&gt;
* export for offline viewing (Web page - HTML only, Web page - Complete)&lt;br /&gt;
* creating of web pages (highlighting support in Write, Activity with special HTML based features(can happen outside of the official cycle))&lt;br /&gt;
* bookmarks (global bookmarks, at the moment we only have session bookmarks and the autocompletion functionality)&lt;br /&gt;
* fix theme (scroll-bars [http://dev.sugarlabs.org/ticket/805 #805], html form widgets - Gary)&lt;br /&gt;
* Owner/Coordinator: Simon&lt;br /&gt;
&lt;br /&gt;
==== Tags in the Journal ====&lt;br /&gt;
* auto completion for already existing tags, tag clouds&lt;br /&gt;
** its implemented in Library activity as well&lt;br /&gt;
* Owner/Coordinator: ?, attach it to Library?&lt;br /&gt;
&lt;br /&gt;
==== More Accelerators (short cuts) ====&lt;br /&gt;
* make sure we use the accelerators where possible, get discussion about which modifiers to use for which settings as early as possible going&lt;br /&gt;
* [[Design_Team/Proposals/Keyboard_Action]]&lt;br /&gt;
* Owner/Coordinator: Homunq?&lt;br /&gt;
&lt;br /&gt;
==== Printing support ====&lt;br /&gt;
* [http://wiki.sugarlabs.org/go/Print_Support Google summer of code project]&lt;br /&gt;
* Owner/Coordinator: IwikiwI &lt;br /&gt;
&lt;br /&gt;
==== Search in home view ====&lt;br /&gt;
* the search is recently builds disabled&lt;br /&gt;
* Owner/Coordinator: ?, attach it to Library?&lt;br /&gt;
&lt;br /&gt;
==== Collaboration ====&lt;br /&gt;
* Scalable presence service - Integrate gadget in the Sugar UI [http://dev.laptop.org/ticket/7711 #7711]&lt;br /&gt;
* Make collaboration more stable&lt;br /&gt;
* Owner/Coordinator: ?&lt;br /&gt;
&lt;br /&gt;
==== Flash activities ====&lt;br /&gt;
* using the [http://git.sugarlabs.org/projects/sugar-gnash sugar gnash widget] - a [http://blog.tomeuvizoso.net/2009/04/embed-flash-movies-with-gnash-in-your.html blog post] from Tomeu has some more info&lt;br /&gt;
* SWFEdit from Tomeu is in gitorious, I plan to make a couple of sample Flash based activities with it.&lt;br /&gt;
* Owner/Coordinator: Gary?&lt;br /&gt;
&lt;br /&gt;
==== Groups ====&lt;br /&gt;
* tagging buddies to build up relations, tagging can happen by a teacher tagging a class or the learner can tag himself&lt;br /&gt;
* Owner/Coordinator: Kartik Rustagi&lt;br /&gt;
* [[Tagging_Proposal|Proposal]]&lt;br /&gt;
&lt;br /&gt;
==== List views ====&lt;br /&gt;
*in the mesh view a list view of the access points&lt;br /&gt;
* switching to use gtk-tree-view for the lists (journal, activity) - this has accessibility support already&lt;br /&gt;
** see [http://git.sugarlabs.org/projects/sugar-port/repos/mainline/trees/master/lazyview lazyview] in sugar-port which is used in Library&lt;br /&gt;
* Owner/Coordinator: ?&lt;br /&gt;
&lt;br /&gt;
==== Mesh View ====&lt;br /&gt;
* use buddy color to seed the position to get a more stable positioning in the mesh view&lt;br /&gt;
* See ticket [http://dev.sugarlabs.org/ticket/381 #318]&lt;br /&gt;
* Owner/Coordinator: ?&lt;br /&gt;
&lt;br /&gt;
==== Ad-hoc networking ====&lt;br /&gt;
* as an alternative to the mesh&lt;br /&gt;
* Owner/Coordinator: ?&lt;br /&gt;
&lt;br /&gt;
==== Bindings ====&lt;br /&gt;
* Moving Sugar to [http://live.gnome.org/PyBank PyBank] to save memory and improve startup speed. Pybank builds the bindings as you need them, so you don&#039;t import all the bindings for gtk at startup of every process.&lt;br /&gt;
* [http://live.gnome.org/Vala/Bindings Vala bindings] for the toolkit&lt;br /&gt;
** (?) we could write [[#Decoupling of Sucrose]]/&#039;&#039;&#039;bridge&#039;&#039;&#039; level on vala i.e. use for &#039;&#039;&#039;core&#039;&#039;&#039; only dbus API and provide bride level in vala binding [[User:Alsroot|Alsroot]] 06:15, 25 May 2009 (UTC)&lt;br /&gt;
* Owner/Coordinator: Tomeu&lt;br /&gt;
&lt;br /&gt;
==== Keyboard control panel extension ====&lt;br /&gt;
* (Sayamindu would prefer to keep it as a separate module, since everyone may not choose to go with XKB)&lt;br /&gt;
* Owner/Coordinator: Sayamindu&lt;br /&gt;
&lt;br /&gt;
==== Dictionary support in the shell ====&lt;br /&gt;
* [http://lists.sugarlabs.org/archive/sugar-devel/2009-May/014217.html Dictionary Proposal]&lt;br /&gt;
* Owner/Coordinator: Sayamindu&lt;br /&gt;
&lt;br /&gt;
==== CP - Language in native language ====&lt;br /&gt;
* link to ticket here&lt;br /&gt;
* Owner/Coordinator: Sayamindu&lt;br /&gt;
&lt;br /&gt;
==== TA ====&lt;br /&gt;
* de-couple the portfolio from the base TA&lt;br /&gt;
* Owner/Coordinator: Walter&lt;br /&gt;
&lt;br /&gt;
==== Library activity ====&lt;br /&gt;
* [[Activities/Library | Library Activity Proposal]]&lt;br /&gt;
* in honey&lt;br /&gt;
* maybe we want a pluggable Views(Home/Journal) to ease the use of such kinds of activities(activities that can browse sugar objects)&lt;br /&gt;
** another option - add autostart activities&lt;br /&gt;
* Owner/Coordinator: Alsroot&lt;br /&gt;
&lt;br /&gt;
==== API work ====&lt;br /&gt;
* backwards compability&lt;br /&gt;
* (http://wiki.sugarlabs.org/go/Development_Team/sugar-port will take care for the activities needs for a working activity on 0.82 for example) see &amp;quot;Decoupling of Sucrose&amp;quot; section [[User:Alsroot|Alsroot]] 16:16, 21 May 2009 (UTC)&lt;br /&gt;
* (?) start moving to pure dbus interface for glucose&lt;br /&gt;
** dbus method to resume/open activities(instead of sugar-toolkit API)&lt;br /&gt;
*** something simple like dbus_object.activate(uid) or&lt;br /&gt;
** etc.&lt;br /&gt;
* Owner/Coordinator: ?&lt;br /&gt;
&lt;br /&gt;
==== Decoupling of Sucrose ====&lt;br /&gt;
The major idea is to have tough core(with stable release cycle) &amp;lt;=&amp;gt; dbus-API/sugar-toolkit-API(in ideal only dbus) &amp;lt;=&amp;gt; unlimited count of activities that uses core functionality and do not follow 6 months release cycle(which could be overmuch for activity).&lt;br /&gt;
&lt;br /&gt;
It could looks like:&lt;br /&gt;
* &#039;&#039;&#039;core&#039;&#039;&#039; - glucose, six months(or so) release cycle, w/o any activities, only API&lt;br /&gt;
** in ideal, it should have only dbus API&lt;br /&gt;
* &#039;&#039;&#039;bridge&#039;&#039;&#039; - [[Development_Team/sugar-port|sugar-port]] for example, between all(in ideal) already deployed sugars and activities i.e. it provides backwards compatibility(so the same activity code will work on all sugars) and at the same time provides features from newest sugar(so the same activity code will use last sugar&#039;s features)&lt;br /&gt;
** we could write this level in vala to provide core functionality for wide range of programming languages&lt;br /&gt;
* &#039;&#039;&#039;world&#039;&#039;&#039; - the rest of sugar world i.e. fructose/honey (but now there are no differences between them) that use core directly, if all deployed sugars have the same API for desired functionality(for example in case of preselected mime type, ObjectsChooser has different API for 0.82-0.86), or use bridge otherwise.&amp;lt;br&amp;gt;imho another point to have activities outside of core release cycle - activities have more shorter release cycle then core has&lt;br /&gt;
&lt;br /&gt;
And of course deployers can form any sets from these components&lt;br /&gt;
&lt;br /&gt;
     Core                       Bridge                         World         &lt;br /&gt;
 +------------+                                            +------------+&lt;br /&gt;
 | Sugar-0.82 |---+                                    +---| Activity A |&lt;br /&gt;
 +------------+   |    +---------------------------+   |   +------------+&lt;br /&gt;
 +------------+   |    | sugar-port                |   |   +------------+&lt;br /&gt;
 |     ...    |--dbus--| do not fail on 0.82       |---+---|    ...     |&lt;br /&gt;
 +------------+   |    | but uses all 777 features |   |   +------------+&lt;br /&gt;
 +------------+   |    +---------------------------+   |   +------------+&lt;br /&gt;
 | Sugar-777  |---+                                    +---| Activity Z |&lt;br /&gt;
 +------------+                                            +------------+&lt;br /&gt;
&lt;br /&gt;
* Owner/Coordinator: ?&lt;br /&gt;
&lt;br /&gt;
==== Version support for datastore ====&lt;br /&gt;
See [[Version_support_for_datastore/Proposal]].&lt;br /&gt;
* Owner/Coordinator: Silbe&lt;br /&gt;
&lt;br /&gt;
==== Datastore features that could benefit Library ====&lt;br /&gt;
These features can benefit [[Activities/Library]] activity. At present(for 0.82/0.84) Library uses &amp;quot;rich&amp;quot; datastore client which fetches all Journal objects to make short list of objects(by collapsing all versions to one item), moreover it has to unzip .xo bundles to get &#039;&#039;bundle_id&#039;&#039; value. So its not good.&lt;br /&gt;
&lt;br /&gt;
With all these features implemented Library can use &amp;quot;thin&amp;quot; datastore client and not fetch all objects, just make proper request for datasotre.find() to get sorted and collapsed objects by portions (by using offset/limit find() arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Get collapsed find()&#039;s resultset&amp;lt;/strong&amp;gt;&lt;br /&gt;
Let user call datastore.find() to get list of collapsed objects(all versions by one item).&lt;br /&gt;
&lt;br /&gt;
That should mean that any datastore object should have &amp;quot;object id&amp;quot;:&lt;br /&gt;
* &#039;&#039;activity_id&#039;&#039; for objects that were generated by activities (already implemented)&lt;br /&gt;
* &#039;&#039;bundle_id&#039;&#039; for .xo bundles in the Journal&lt;br /&gt;
* &#039;&#039;uid&#039;&#039; for other objecets (already implemented)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;History of collapsed object&amp;lt;/strong&amp;gt;&lt;br /&gt;
Let datastore clients browse history of collapsed objects:&lt;br /&gt;
* for &#039;&#039;activity_id&#039;&#039; objects - sort by timestamp (already impelemented)&lt;br /&gt;
* for &#039;&#039;bundle_id&#039;&#039; objects - sort by &#039;&#039;activity_version&#039;&#039;(or so) field&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Sort find()&#039;s resultset&amp;lt;/strong&amp;gt;&lt;br /&gt;
Let datastore clients sort objects by any field(not only predefined like uid, activity_id etc).&lt;br /&gt;
* Sort by buddies count&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Owner/Coordinator: ?&lt;br /&gt;
&lt;br /&gt;
==== Security ====&lt;br /&gt;
[http://dev.sugarlabs.org/ticket/593 Add support] for the current version of [http://wiki.laptop.org/go/Rainbow Rainbow] so &lt;br /&gt;
# security flaws in Browse (which are the norm rather than the exception) don&#039;t allow an attacker to take over the machine and&lt;br /&gt;
# programming mistakes cannot affect other activities (like deleting all Journal contents).&lt;br /&gt;
* Owner/Coordinator: ?&lt;br /&gt;
&lt;br /&gt;
==== Testing ====&lt;br /&gt;
Add some automated testing to catch bugs earlier and ease integration work:&lt;br /&gt;
* [http://dev.sugarlabs.org/ticket/594 SugarBot] (activity-level testing)&lt;br /&gt;
* some system-level tests (e.g. verify datastore works correctly)&lt;br /&gt;
* [http://dev.sugarlabs.org/ticket/595 regression tests]&lt;br /&gt;
* Owner/Coordinator: ?&lt;br /&gt;
&lt;br /&gt;
==== Activities updates ====&lt;br /&gt;
&lt;br /&gt;
Let users update theirs activities.&lt;br /&gt;
&lt;br /&gt;
There could be several options:&lt;br /&gt;
* Use XO&#039;s mechanism to have update item in control panel(pretty common choice)&lt;br /&gt;
** we will have specific option - update only activities&lt;br /&gt;
* Follow [[Unified Objects]] paradigm, one of implementation of this idea is [[Activities/Library]], so give user more freedom in upgrading procedure(i.e. w/o ceilings) - incorporate updating procedure into browsing tool(like Journal, Library), so users get one unified method to browse and update(sync) theirs objects(not only activities).&lt;br /&gt;
** in case of [[Activities/Library]] we could have 0.82+ upgrading tool&lt;br /&gt;
&lt;br /&gt;
Owner/Coordinator: ?&lt;br /&gt;
&lt;br /&gt;
==== Old items ====&lt;br /&gt;
* Accessibility in Sugar [http://lists.sugarlabs.org/archive/sugar-devel/2009-April/013665.html]&lt;br /&gt;
* [[Unified Bundles]] merge .xol bundles to .xo&lt;br /&gt;
&lt;br /&gt;
== Proposed modules ==&lt;br /&gt;
&#039;&#039;nothing proposed yet&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Roadmap]]&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0.86/Roadmap&amp;diff=29853</id>
		<title>0.86/Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0.86/Roadmap&amp;diff=29853"/>
		<updated>2009-05-28T13:26:34Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{ GoogleTrans-en | es =show | bg =show | zh-CN =show | zh-TW =show | hr =show | cs =show | da =show | nl =show | fi =show | fr =show | de =show | el =show | hi =show | it =show | ja =show | ko =show | no =show | pl =show | pt =show | ro =show | ru =show | sv =show }}&lt;br /&gt;
{{TeamHeader|Development Team|roadmap_link=Release/Roadmap/{{Upcoming Stable Release}}}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{TOCright}}&lt;br /&gt;
== Sucrose Development ==&lt;br /&gt;
&lt;br /&gt;
Sucrose 0.85.x is an unstable development series intended for testing and&lt;br /&gt;
development purposes. Sucrose uses odd minor version numbers to indicate&lt;br /&gt;
development status, so this unstable 0.85.x series will eventually become&lt;br /&gt;
the 0.86 stable release.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Date&lt;br /&gt;
!Task&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|2009 Jun 05&lt;br /&gt;
|Release goals proposal&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Jun 12&lt;br /&gt;
|New modules proposal&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Jun 25&lt;br /&gt;
|Sucrose 0.85.1 Tarballs Due&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Jun 26&lt;br /&gt;
|Sucrose 0.85.1 Development Release&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Jul 23&lt;br /&gt;
|Sucrose 0.85.2 Tarballs Due&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Jul 24 &lt;br /&gt;
|Sucrose 0.85.2 Development Release&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Aug 20&lt;br /&gt;
|Sucrose 0.85.3 Tarballs Due&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Aug 21&lt;br /&gt;
|Sucrose 0.85 Alpha (0.85.3)&lt;br /&gt;
|Feature and API Freeze, String Cooling*&lt;br /&gt;
|-&lt;br /&gt;
|Aug 27&lt;br /&gt;
|Sucrose 0.85.4 Tarballs Due&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Aug 28&lt;br /&gt;
|Sucrose 0.85.4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sep 03&lt;br /&gt;
|Sucrose 0.85.5 Tarballs Due&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sep 04&lt;br /&gt;
|Sucrose 0.85.5 Beta (0.85.5)&lt;br /&gt;
|String Freeze**&lt;br /&gt;
|-&lt;br /&gt;
|Sep 10&lt;br /&gt;
|Sucrose 0.85.6 Tarballs Due&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sep 11&lt;br /&gt;
|Sucrose 0.85.6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sep 17&lt;br /&gt;
|Sucrose 0.86 Tarballs Due&lt;br /&gt;
|Hard code freeze&lt;br /&gt;
|-&lt;br /&gt;
|Sep 18&lt;br /&gt;
|Sucrose 0.86 Final Release!&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; String changes have to be announced, but no exceptions have to be requested.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt; Every string change has to be requested and to be approved.&lt;br /&gt;
&lt;br /&gt;
== Glucose Development Team/Release/Modules ==&lt;br /&gt;
&lt;br /&gt;
* [[Development Team/Release/Modules#etoys|etoys]]&lt;br /&gt;
* [[Development Team/Release/Modules#sugar|sugar]]&lt;br /&gt;
* [[Development Team/Release/Modules#sugar-base|sugar-base]]&lt;br /&gt;
* [[Development Team/Release/Modules#sugar-datastore|sugar-datastore]]&lt;br /&gt;
* [[Development Team/Release/Modules#sugar-presence-service|sugar-presence-service]]&lt;br /&gt;
* [[Development Team/Release/Modules#sugar-toolkit|sugar-toolkit]]&lt;br /&gt;
* [[Development Team/Release/Modules#sugar-artwork|sugar-artwork]]&lt;br /&gt;
&lt;br /&gt;
== Fructose Development Team/Release/Modules ==&lt;br /&gt;
* [[Development Team/Release/Modules#chat-activity|chat-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#web-activity|web-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#read-activity|read-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#log-activity|log-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#write-activity|write-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#calculate-activity|calculate-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#terminal-activity|terminal-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#pippy-activity|pippy-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#etoys-activity|etoys-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#jukebox-activity|jukebox-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#turtleart-activity|turtleart-activity]]&lt;br /&gt;
* [[Development Team/Release/Modules#imageviewer-activity|imageviewer-activity]]&lt;br /&gt;
&lt;br /&gt;
== Glucose Dependencies ==&lt;br /&gt;
&lt;br /&gt;
* hippo-canvas&lt;br /&gt;
* [http://telepathy.freedesktop.org/releases/telepathy-glib/ telepathy-glib]&lt;br /&gt;
* [http://telepathy.freedesktop.org/releases/telepathy-gabble/ telepathy-gabble]&lt;br /&gt;
* [http://telepathy.freedesktop.org/releases/telepathy-salut/ telepathy-salut]&lt;br /&gt;
* [http://telepathy.freedesktop.org/releases/telepathy-python/ telepathy-python]&lt;br /&gt;
* [http://squeakvm.org/unix/ squeak-vm]&lt;br /&gt;
&lt;br /&gt;
== Fructose Dependencies ==&lt;br /&gt;
&lt;br /&gt;
* pyabiword&lt;br /&gt;
* hulahop&lt;br /&gt;
&lt;br /&gt;
== Proposal Goals ==&lt;br /&gt;
&lt;br /&gt;
==== Switch to a standard WM ====&lt;br /&gt;
&lt;br /&gt;
Switch to a standard compliant window manager (possibly Metacity)&lt;br /&gt;
&lt;br /&gt;
* better non-sugarized activity support&lt;br /&gt;
* our current version of matchbox is unmaintained&lt;br /&gt;
* [http://dev.sugarlabs.org/ticket/602 #602]&lt;br /&gt;
* goal: test patch in a custom Soas image&lt;br /&gt;
* Owner: Tomeu?&lt;br /&gt;
&lt;br /&gt;
==== New toolbar widget ====&lt;br /&gt;
* add new widget and switch basic activities to it&lt;br /&gt;
* keep the old widget if some of the activities do not change in this cycle&lt;br /&gt;
* [[Design_Team/Designs/Toolbars | Eben&#039;s mockups]]&lt;br /&gt;
* Ticket [http://dev.sugarlabs.org/ticket/452 #452]&lt;br /&gt;
* Owner: Marco?&lt;br /&gt;
&lt;br /&gt;
==== Browse ====&lt;br /&gt;
* tabs support (open popup windows in tabs, saving of tabs history, standard behavior of Browse should not change -&amp;gt; no open tab by default)&lt;br /&gt;
* better naming of files to be uploaded (change temp name to something based on the title)&lt;br /&gt;
* export for offline viewing (Web page - HTML only, Web page - Complete)&lt;br /&gt;
* creating of web pages (highlighting support in Write, Activity with special HTML based features(can happen outside of the official cycle))&lt;br /&gt;
* bookmarks (global bookmarks, at the moment we only have session bookmarks and the autocompletion functionality)&lt;br /&gt;
* fix theme (scroll-bars [http://dev.sugarlabs.org/ticket/805 #805], html form widgets - Gary)&lt;br /&gt;
* Owner: Simon?&lt;br /&gt;
&lt;br /&gt;
==== Tags in the Journal ====&lt;br /&gt;
* auto completion for already existing tags, tag clouds&lt;br /&gt;
** its implemented in Library activity as well&lt;br /&gt;
* Owner: ?&lt;br /&gt;
&lt;br /&gt;
==== More Accelerators (short cuts) ====&lt;br /&gt;
* make sure we use the accelerators where possible, get discussion about which modifiers to use for which settings as early as possible going&lt;br /&gt;
* Owner: ?&lt;br /&gt;
&lt;br /&gt;
==== Printing support ====&lt;br /&gt;
* [http://wiki.sugarlabs.org/go/Print_Support Google summer of code project]&lt;br /&gt;
* Owner: IwikiwI &lt;br /&gt;
&lt;br /&gt;
==== Search in home view ====&lt;br /&gt;
* the search is recently builds disabled&lt;br /&gt;
* Owner: ?&lt;br /&gt;
&lt;br /&gt;
==== Collaboration ====&lt;br /&gt;
* Scalable presence service - Integrate gadget in the Sugar UI [http://dev.laptop.org/ticket/7711 #7711]&lt;br /&gt;
* Make collaboration more stable&lt;br /&gt;
* Owner: ?&lt;br /&gt;
&lt;br /&gt;
==== Flash activities ====&lt;br /&gt;
* using the [http://git.sugarlabs.org/projects/sugar-gnash sugar gnash widget] - a [http://blog.tomeuvizoso.net/2009/04/embed-flash-movies-with-gnash-in-your.html blog post] from Tomeu has some more info&lt;br /&gt;
* SWFEdit from Tomeu is in gitorious, I plan to make a couple of sample Flash based activities with it.&lt;br /&gt;
* Owner: Gary?&lt;br /&gt;
&lt;br /&gt;
==== Groups ====&lt;br /&gt;
* tagging buddies to build up relations, tagging can happen by a teacher tagging a class or the learner can tag himself&lt;br /&gt;
* Owner: Kartig Rustagi&lt;br /&gt;
* [[Tagging_Proposal|Proposal]]&lt;br /&gt;
&lt;br /&gt;
==== List views ====&lt;br /&gt;
*in the mesh view a list view of the access points&lt;br /&gt;
* switching to use gtk-tree-view for the lists (journal, activity) - this has accessibility support already&lt;br /&gt;
* Owner: ?&lt;br /&gt;
&lt;br /&gt;
==== Mesh View ====&lt;br /&gt;
* use buddy color to seed the position to get a more stable positioning in the mesh view&lt;br /&gt;
* See ticket [http://dev.sugarlabs.org/ticket/381 #318]&lt;br /&gt;
* Owner: ?&lt;br /&gt;
&lt;br /&gt;
==== Ad-hoc networking ====&lt;br /&gt;
* as an alternative to the mesh&lt;br /&gt;
* Owner: ?&lt;br /&gt;
&lt;br /&gt;
==== Bindings ====&lt;br /&gt;
* Moving Sugar to [http://live.gnome.org/PyBank PyBank] to save memory and improve startup speed. Pybank builds the bindings as you need them, so you don&#039;t import all the bindings for gtk at startup of every process.&lt;br /&gt;
* [http://live.gnome.org/Vala/Bindings Vala bindings] for the toolkit&lt;br /&gt;
** (?) we could write [[#Decoupling of Sucrose]]/&#039;&#039;&#039;bridge&#039;&#039;&#039; level on vala i.e. use for &#039;&#039;&#039;core&#039;&#039;&#039; only dbus API and provide bride level in vala binding [[User:Alsroot|Alsroot]] 06:15, 25 May 2009 (UTC)&lt;br /&gt;
* Owner: Tomeu&lt;br /&gt;
&lt;br /&gt;
==== Keyboard control panel extension ====&lt;br /&gt;
* (Sayamindu would prefer to keep it as a separate module, since everyone may not choose to go with XKB)&lt;br /&gt;
* Owner: Sayamindu&lt;br /&gt;
&lt;br /&gt;
==== Dictionary support in the shell ====&lt;br /&gt;
* [http://lists.sugarlabs.org/archive/sugar-devel/2009-May/014217.html Dictionary Proposal]&lt;br /&gt;
* Owner: Sayamindu&lt;br /&gt;
&lt;br /&gt;
==== CP - Language in native language ====&lt;br /&gt;
* link to ticket here&lt;br /&gt;
* Owner: Sayamindu&lt;br /&gt;
&lt;br /&gt;
==== TA ====&lt;br /&gt;
* de-couple the portfolio from the base TA&lt;br /&gt;
* Owner: Walter&lt;br /&gt;
&lt;br /&gt;
==== Library activity ====&lt;br /&gt;
* [[Activities/Library | Library Activity Proposal]]&lt;br /&gt;
* in honey&lt;br /&gt;
* maybe we want a pluggable Views(Home/Journal) to ease the use of such kinds of activities(activities that can browse sugar objects)&lt;br /&gt;
** another option - add autostart activities&lt;br /&gt;
* Owner: Alsroot&lt;br /&gt;
&lt;br /&gt;
==== API work ====&lt;br /&gt;
* backwards compability&lt;br /&gt;
* (http://wiki.sugarlabs.org/go/Development_Team/sugar-port will take care for the activities needs for a working activity on 0.82 for example) see &amp;quot;Decoupling of Sucrose&amp;quot; section [[User:Alsroot|Alsroot]] 16:16, 21 May 2009 (UTC)&lt;br /&gt;
* (?) start moving to pure dbus interface for glucose&lt;br /&gt;
** dbus method to resume/open activities(instead of sugar-toolkit API)&lt;br /&gt;
*** something simple like dbus_object.activate(uid) or&lt;br /&gt;
** etc.&lt;br /&gt;
* Owner: ?&lt;br /&gt;
&lt;br /&gt;
==== Decoupling of Sucrose ====&lt;br /&gt;
The major idea is to have tough core(with stable release cycle) &amp;lt;=&amp;gt; dbus-API/sugar-toolkit-API(in ideal only dbus) &amp;lt;=&amp;gt; unlimited count of activities that uses core functionality and do not follow 6 months release cycle(which could be overmuch for activity).&lt;br /&gt;
&lt;br /&gt;
It could looks like:&lt;br /&gt;
* &#039;&#039;&#039;core&#039;&#039;&#039; - glucose, six months(or so) release cycle, w/o any activities, only API&lt;br /&gt;
** in ideal, it should have only dbus API&lt;br /&gt;
* &#039;&#039;&#039;bridge&#039;&#039;&#039; - [[Development_Team/sugar-port|sugar-port]] for example, between all(in ideal) already deployed sugars and activities i.e. it provides backwards compatibility(so the same activity code will work on all sugars) and at the same time provides features from newest sugar(so the same activity code will use last sugar&#039;s features)&lt;br /&gt;
** we could write this level in vala to provide core functionality for wide range of programming languages&lt;br /&gt;
* &#039;&#039;&#039;world&#039;&#039;&#039; - the rest of sugar world i.e. fructose/honey (but now there are no differences between them) that use core directly, if all deployed sugars have the same API for desired functionality(for example in case of preselected mime type, ObjectsChooser has different API for 0.82-0.86), or use bridge otherwise.&amp;lt;br&amp;gt;imho another point to have activities outside of core release cycle - activities have more shorter release cycle then core has&lt;br /&gt;
&lt;br /&gt;
And of course deployers can form any sets from these components&lt;br /&gt;
&lt;br /&gt;
     Core                       Bridge                         World         &lt;br /&gt;
 +------------+                                            +------------+&lt;br /&gt;
 | Sugar-0.82 |---+                                    +---| Activity A |&lt;br /&gt;
 +------------+   |    +---------------------------+   |   +------------+&lt;br /&gt;
 +------------+   |    | sugar-port                |   |   +------------+&lt;br /&gt;
 |     ...    |--dbus--| do not fail on 0.82       |---+---|    ...     |&lt;br /&gt;
 +------------+   |    | but uses all 777 features |   |   +------------+&lt;br /&gt;
 +------------+   |    +---------------------------+   |   +------------+&lt;br /&gt;
 | Sugar-777  |---+                                    +---| Activity Z |&lt;br /&gt;
 +------------+                                            +------------+&lt;br /&gt;
&lt;br /&gt;
* Owner: ?&lt;br /&gt;
&lt;br /&gt;
==== Version support for datastore ====&lt;br /&gt;
See [[Version_support_for_datastore/Proposal]].&lt;br /&gt;
* Owner: Silbe&lt;br /&gt;
&lt;br /&gt;
==== Datastore features that could benefit Library ====&lt;br /&gt;
These features can benefit [[Activities/Library]] activity. At present(for 0.82/0.84) Library uses &amp;quot;rich&amp;quot; datastore client which fetches all Journal objects to make short list of objects(by collapsing all versions to one item), moreover it has to unzip .xo bundles to get &#039;&#039;bundle_id&#039;&#039; value. So its not good.&lt;br /&gt;
&lt;br /&gt;
With all these features implemented Library can use &amp;quot;thin&amp;quot; datastore client and not fetch all objects, just make proper request for datasotre.find() to get sorted and collapsed objects by portions (by using offset/limit find() arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Get collapsed find()&#039;s resultset&amp;lt;/strong&amp;gt;&lt;br /&gt;
Let user call datastore.find() to get list of collapsed objects(all versions by one item).&lt;br /&gt;
&lt;br /&gt;
That should mean that any datastore object should have &amp;quot;object id&amp;quot;:&lt;br /&gt;
* &#039;&#039;activity_id&#039;&#039; for objects that were generated by activities (already implemented)&lt;br /&gt;
* &#039;&#039;bundle_id&#039;&#039; for .xo bundles in the Journal&lt;br /&gt;
* &#039;&#039;uid&#039;&#039; for other objecets (already implemented)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;History of collapsed object&amp;lt;/strong&amp;gt;&lt;br /&gt;
Let datastore clients browse history of collapsed objects:&lt;br /&gt;
* for &#039;&#039;activity_id&#039;&#039; objects - sort by timestamp (already impelemented)&lt;br /&gt;
* for &#039;&#039;bundle_id&#039;&#039; objects - sort by &#039;&#039;activity_version&#039;&#039;(or so) field&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Sort find()&#039;s resultset&amp;lt;/strong&amp;gt;&lt;br /&gt;
Let datastore clients sort objects by any field(not only predefined like uid, activity_id etc).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Sort by buddies count&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Owner: ?&lt;br /&gt;
&lt;br /&gt;
==== Security ====&lt;br /&gt;
[http://dev.sugarlabs.org/ticket/593 Add support] for the current version of [http://wiki.laptop.org/go/Rainbow Rainbow] so &lt;br /&gt;
# security flaws in Browse (which are the norm rather than the exception) don&#039;t allow an attacker to take over the machine and&lt;br /&gt;
# programming mistakes cannot affect other activities (like deleting all Journal contents).&lt;br /&gt;
* Owner: ?&lt;br /&gt;
&lt;br /&gt;
==== Testing ====&lt;br /&gt;
Add some automated testing to catch bugs earlier and ease integration work:&lt;br /&gt;
* [http://dev.sugarlabs.org/ticket/594 SugarBot] (activity-level testing)&lt;br /&gt;
* some system-level tests (e.g. verify datastore works correctly)&lt;br /&gt;
* [http://dev.sugarlabs.org/ticket/595 regression tests]&lt;br /&gt;
* Owner: ?&lt;br /&gt;
&lt;br /&gt;
==== Activities updates ====&lt;br /&gt;
&lt;br /&gt;
Let users update theirs activities.&lt;br /&gt;
&lt;br /&gt;
There could be several options:&lt;br /&gt;
* Use XO&#039;s mechanism to have update item in control panel(pretty common choice)&lt;br /&gt;
** we will have specific option - update only activities&lt;br /&gt;
* Follow [[Unified Objects]] paradigm, one of implementation of this idea is [[Activities/Library]], so give user more freedom in upgrading procedure(i.e. w/o ceilings) - incorporate updating procedure into browsing tool(like Journal, Library), so users get one unified method to browse and update(sync) theirs objects(not only activities).&lt;br /&gt;
** in case of [[Activities/Library]] we could have 0.82+ upgrading tool&lt;br /&gt;
&lt;br /&gt;
Owner: ?&lt;br /&gt;
&lt;br /&gt;
==== Old items ====&lt;br /&gt;
* Accessibility in Sugar [http://lists.sugarlabs.org/archive/sugar-devel/2009-April/013665.html]&lt;br /&gt;
* [[Unified Bundles]] merge .xol bundles to .xo&lt;br /&gt;
&lt;br /&gt;
== Proposed modules ==&lt;br /&gt;
&#039;&#039;nothing proposed yet&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Roadmap]]&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/Interviews&amp;diff=27421</id>
		<title>Summer of Code/Interviews</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/Interviews&amp;diff=27421"/>
		<updated>2009-04-14T16:49:52Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We would like to interview the candidates for Google Summer of Code under Sugar Labs. Please sign up for a time below. If you have been told the name of your provisional prospective mentor, and your mentor has put his/her preferred times below, please try to find a time which works for your mentor. (Note that mentor assignments are still in flux; if your provisional prospective mentor changes, we will try to accommodate your chosen time or reschedule at a convenient time for you.)&lt;br /&gt;
&lt;br /&gt;
Interviews will be conducted over IRC; even hours on #sugar-interview0 and half-hours on #sugar-interview1 . Please treat these like real rooms, ie, do not lurk unless you are a mentor. If you have some quick pre-interview questions, we will be in #sugar too.&lt;br /&gt;
&lt;br /&gt;
If you have specifically been told to sign up to interview, please sign up here. Even if your provisional prospective mentor has not indicated availability, put your available times, and your mentor will renegotiate with you later if necessary. We have invited the 9-10 proposals which are currently ranked highest, for the 4-6 slots we will probably get. However, we &#039;&#039;do&#039;&#039; want to interview you even if you have not specifically been invited; although your proposal is a long shot in that case, you may impress us, and in any case we&#039;d like to talk to you about participating in Sugar outside of GSoC.&lt;br /&gt;
&lt;br /&gt;
Like many other organizations participating in GSoC, we have received more good applications than we will have funding from Google for. Almost all of the applications we&#039;ve received are things that we&#039;d really love to have you working on, even if we don&#039;t have space for you in GSoC. If you are interested in finishing your project and would like a mentor assigned even though we can&#039;t give you a slot, you can also contact us on the sugar-devel or gsoc mailing list and we&#039;ll work something out.&lt;br /&gt;
&lt;br /&gt;
== Sunday Apr 1 ==&lt;br /&gt;
&lt;br /&gt;
Mentors attending: Guido van Rossum, Linus Torvalds, Bill Gates ...&lt;br /&gt;
&lt;br /&gt;
* [http://www.timeanddate.com/counters/customcounter.html?day=1&amp;amp;month=04&amp;amp;year=2009&amp;amp;hour=14&amp;amp;min=0&amp;amp;sec=0&amp;amp;p0=0 1400 UTC]: [[User:example|example]] 18:11, 13 April 2009 (UTC) (Spanish interview preferred) (just an example - I used &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt; to add a signature, and added any special requests after.)&lt;br /&gt;
&lt;br /&gt;
== Wed Apr 15 ==&lt;br /&gt;
&lt;br /&gt;
Mentors attending: Jameson Quinn, Luis G. Lira, [[User:Aa|aa]], [[User:Tomeu|Tomeu]], ...&lt;br /&gt;
&lt;br /&gt;
* [http://www.timeanddate.com/counters/customcounter.html?day=15&amp;amp;month=04&amp;amp;year=2009&amp;amp;hour=14&amp;amp;min=0&amp;amp;sec=0&amp;amp;p0=0 1400 UTC]: Vamsi Krishna Davuluri (iwikiwi)&lt;br /&gt;
&lt;br /&gt;
* 1430 UTC: Eduardo Silva (edsiper)&lt;br /&gt;
&lt;br /&gt;
* 1500 UTC: Lucian Branescu (lucian1900)&lt;br /&gt;
&lt;br /&gt;
* 1530 UTC: Deepank Gupta (deepank)&lt;br /&gt;
&lt;br /&gt;
== Thurs Apr 16 (Wed 15 in the western hemisphere) ==&lt;br /&gt;
&lt;br /&gt;
Mentors attending: Jameson Quinn, [[User:Aa|aa]], [[User:BryanWB|BryanWB]], [[User:Nrp|Nirav Patel]] ...&lt;br /&gt;
&lt;br /&gt;
* [http://www.timeanddate.com/counters/customcounter.html?day=16&amp;amp;month=04&amp;amp;year=2009&amp;amp;hour=0&amp;amp;min=0&amp;amp;sec=0&amp;amp;p0=0 0000 UTC]:Felipe López Toledo (subzero)  ?Can we move this to 0100 UTC? I usually just wake up at this time. [[User:BryanWB|BryanWB]]&lt;br /&gt;
* 0030 UTC:&lt;br /&gt;
&lt;br /&gt;
* 0100 UTC:&lt;br /&gt;
&lt;br /&gt;
* 0130 UTC:&lt;br /&gt;
&lt;br /&gt;
== Thurs Apr 16 ==&lt;br /&gt;
&lt;br /&gt;
Mentors attending: Jameson Quinn, Sayamindu Dasgupta, Assim Deodia, [[User:Tomeu|Tomeu]], ...&lt;br /&gt;
&lt;br /&gt;
* [http://www.timeanddate.com/counters/customcounter.html?day=16&amp;amp;month=04&amp;amp;year=2009&amp;amp;hour=18&amp;amp;min=0&amp;amp;sec=0&amp;amp;p0=0 1800 UTC]: Satya Komaragiri (mavu)&lt;br /&gt;
&lt;br /&gt;
* 1830 UTC: [[http://wiki.sugarlabs.org/go/speech-synthesis chirag jain (chirag)]]&lt;br /&gt;
&lt;br /&gt;
* 1900 UTC: [http://wiki.sugarlabs.org/go/Marbles Puneet_Girdhar]&lt;br /&gt;
&lt;br /&gt;
* 1930 UTC: Kartik Rustagi&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0-th&amp;diff=27081</id>
		<title>0-th</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0-th&amp;diff=27081"/>
		<updated>2009-04-10T10:43:32Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;better formated version at: http://pastebin.com/f3222e122&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;org.freedesktop.Telepathy.Connection.Interface.FileSharing.DRAFT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementations of this interface must also implement:&lt;br /&gt;
   * org.freedesktop.Telepathy.Connection&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
An interface on connections to support protocols which allow users to designate a set of files as available for retrieval by other users of their choosing. Other features specified by this interface include file metadata, revisions, and download mirrors.&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
Methods:&lt;br /&gt;
&lt;br /&gt;
	CreateFileListing ( s: Title, s: File_Listing, s: Description)-&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	In order to be able to publish a file one should have a File_Listing node. Here the Discription parameter is optional. Returns whether the File_Listing was created (&#039;true&#039;) or not (&#039;false&#039;). &lt;br /&gt;
	&lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	Title - s&lt;br /&gt;
		&lt;br /&gt;
This will be the title of the File_Listing.&lt;br /&gt;
	&lt;br /&gt;
	File_Listing - s&lt;br /&gt;
		&lt;br /&gt;
This is how the File_Listing of the user will be referenced.&lt;br /&gt;
	&lt;br /&gt;
	Discription - s&lt;br /&gt;
		&lt;br /&gt;
This is optional and can be use to give the discription of the File_Listing that is being created.&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
	Returns&lt;br /&gt;
	&lt;br /&gt;
		Returns &#039;true&#039; if the File_Listing was created and &#039;false&#039; if it was not.	&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		&lt;br /&gt;
The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signaled status Disconnected for reason None.&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		 &lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	AddSubSection ( s: Title, s: File_Listing_Parent, s: File_Listing_Derived, s: Description) -&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	This method is called in order to add a SubSection (File_Listing_Derived) to an already existing File_Listing (File_Listing_Parent). This method returns whether the creation of the SubSection was successful (&#039;true&#039;) or not (&#039;false&#039;).  &lt;br /&gt;
	&lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	Title - s&lt;br /&gt;
		This will be the title of the subsection.&lt;br /&gt;
	&lt;br /&gt;
	File_Listing_Parent - s&lt;br /&gt;
		This is how the repository of the user will be referenced.&lt;br /&gt;
	&lt;br /&gt;
	File_Listing_Derived - s&lt;br /&gt;
		This is how the SubSection will be referenced.&lt;br /&gt;
	&lt;br /&gt;
	Discription - s&lt;br /&gt;
		This is optional and can be use to give the discription of the SubSection that is being created.&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	Returns&lt;br /&gt;
	&lt;br /&gt;
		Returns &#039;true&#039; if the SubSection was created and &#039;false&#039; if it was not.	&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The File_Listing_Parent specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
	&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
    		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	SuscribeList ( s: File_List, s: Subscription_Type, s: Subscription_Depth) -&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	This method is called when one wants to suscribe to a File_List.  This method returns whether the subscription was successful (&#039;true&#039;) or not (&#039;false&#039;).  &lt;br /&gt;
	note: &amp;quot;no-ops&amp;quot; for AIM&lt;br /&gt;
&lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	File_List - s&lt;br /&gt;
		This is the File_List user wants to subscibe.&lt;br /&gt;
	&lt;br /&gt;
	Subscription_Type - s&lt;br /&gt;
		This gives the subscription type.&lt;br /&gt;
		&lt;br /&gt;
	Subscription_Depth - s&lt;br /&gt;
		Since a pubsub FileListing might have many SubSections,therefore this parameter gives the depth a user want to subscribe to.&lt;br /&gt;
			&lt;br /&gt;
	&lt;br /&gt;
	Returns&lt;br /&gt;
	&lt;br /&gt;
		Returns &#039;true&#039; if the subscription was done and &#039;false&#039; if it was not.	&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The File_List specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	UnSuscribeList ( s: File_List) -&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	This method is called when one wants to unsuscribe to a File_List.  This method returns whether the subscription was successful (&#039;true&#039;) or not (&#039;false&#039;).  &lt;br /&gt;
	note: &amp;quot;no-ops&amp;quot; for AIM&lt;br /&gt;
&lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	File_List - s&lt;br /&gt;
		This is the File_List user wants to unsubscibe from&lt;br /&gt;
			&lt;br /&gt;
	&lt;br /&gt;
	Returns&lt;br /&gt;
	&lt;br /&gt;
		Returns &#039;true&#039; if the unsubscription was done and &#039;false&#039; if it was not.	&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The File_List specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	PublishFile ( s: File_List, s: Filename, q: ItemId, as: Metadata, s: Mirrors) -&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	This method is called in order to to add a file to the File_List of published files. This method returns whether the file was published successfully 	(&#039;true&#039;) or not (&#039;false&#039;).  &lt;br /&gt;
	&lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	File_List - s&lt;br /&gt;
		This is the File_List user wants to publish file to.&lt;br /&gt;
	&lt;br /&gt;
	Filename - s&lt;br /&gt;
		This is the FileName user want to publish.&lt;br /&gt;
	&lt;br /&gt;
	ItemId - q&lt;br /&gt;
		This Id is used to create more than one version of the same file.&lt;br /&gt;
	&lt;br /&gt;
	Metadata - as&lt;br /&gt;
		This list all the metadata about the file which includes Size,Modified,CheckSum,Ckecksumtype and Mime.&lt;br /&gt;
		&lt;br /&gt;
	Mirrors	- s&lt;br /&gt;
		This list the mirrors from where the file can be fetched.&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Return&lt;br /&gt;
		Returns &#039;true&#039; if the Filename was published and &#039;false&#039; if it was not.&lt;br /&gt;
		 &lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The File_List specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	DeleteRevision ( s: File_List, q: File_Item_Id) -&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	This method is called in order to delete a revision from the list of published files on a File_List. This method returns whether the file was 		deleted successfully (&#039;true&#039;) or not (&#039;false&#039;).&lt;br /&gt;
	&lt;br /&gt;
	  &lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	File_List - s&lt;br /&gt;
		This is the File_List which is holding the file with the Item_Id equal to File_Item_Id&lt;br /&gt;
		&lt;br /&gt;
	File_Item_Id - q&lt;br /&gt;
		This is the ItemId of the FileName that has to be deleted&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Return&lt;br /&gt;
		Returns &#039;true&#039; if the FileItemId was deleted and &#039;false&#039; if it was not.&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
	&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The File_List specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	MakeRevision ( s: File_List, s: Filename, q: ItemId, as: Metadata, s: Mirrors) -&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	This method is called in order to make a revision to an existing file on File_List. Use a different ItemId than the original file. This method 		returns whether the file was revised successfully (&#039;true&#039;) or not (&#039;false&#039;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	File_List - s&lt;br /&gt;
		This is the File_List on which the file user want to make revision to is listed.&lt;br /&gt;
	&lt;br /&gt;
	Filename - s&lt;br /&gt;
		This is the FileName user want to publish.&lt;br /&gt;
	&lt;br /&gt;
	ItemId - q&lt;br /&gt;
		This Id is used to create more than one version of the same file.&lt;br /&gt;
	&lt;br /&gt;
	Metadata - as&lt;br /&gt;
		This list all the metadata about the file which includes Size,Modified,CheckSum,Ckecksumtype and Mime.&lt;br /&gt;
		&lt;br /&gt;
	Mirrors	- s&lt;br /&gt;
		This list the mirrors from where the file can be fetched.&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Return&lt;br /&gt;
		Returns &#039;true&#039; if the FileName was published and &#039;false&#039; if it was not.&lt;br /&gt;
		 &lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The File_List specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	SetPermissions ( s: File_List, u: User_Handle, s: Affilation) -&amp;gt; Nothing&lt;br /&gt;
&lt;br /&gt;
	This method is called in order to set permissions for users regarding a File_List owned by an owner.  This method returns whether permissions were set successfully (&#039;true&#039;) or not (&#039;false&#039;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	Parameter&lt;br /&gt;
		&lt;br /&gt;
	File_List - s	&lt;br /&gt;
		This is the File_List owner want to change permission of.&lt;br /&gt;
		&lt;br /&gt;
	UserHandle - u&lt;br /&gt;
		UserHandle of the user whose permission/affilation are being changed.&lt;br /&gt;
	&lt;br /&gt;
	Affilation - s&lt;br /&gt;
		This is the permission that will be set for the User_Handle&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Return&lt;br /&gt;
		Nothing&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
	Possible Error&lt;br /&gt;
	&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The File_List specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	GetRepoList( u: User_Handle ) -&amp;gt; as&lt;br /&gt;
	&lt;br /&gt;
	This method is called to request the File_list which are hosted by User_Handle.&lt;br /&gt;
	&lt;br /&gt;
	Parameter&lt;br /&gt;
	&lt;br /&gt;
	User_Handle - u&lt;br /&gt;
		The Contact_Handle of the user whose list of hosted File_List is being requested.&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Return&lt;br /&gt;
		Returns an array of strings where each string represents a File_List hosted by the User.&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Possible Error&lt;br /&gt;
			&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The User_handle specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	GetFileList( s: File_List, u: User_Handle ) -&amp;gt; as&lt;br /&gt;
	&lt;br /&gt;
	This method is called to request the list of files in a File_List hosted by the user with Contact_Handle as User_Handle.&lt;br /&gt;
  &lt;br /&gt;
	Parameter&lt;br /&gt;
&lt;br /&gt;
	File_List - s&lt;br /&gt;
		This is the File_List whose list of included file is being requested&lt;br /&gt;
	&lt;br /&gt;
	User_Handle - u&lt;br /&gt;
		The Contact_Handle of the user whose list of hosted File_List is being requested.&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Return&lt;br /&gt;
		Returns an array of strings where each string represents a Filename hosted by the User. If their is a Subsection at the same hierarchy level, it is aso retturned in this array.&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Possible Error&lt;br /&gt;
			&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The File_List/User_handle specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	RequestFile(s: File_List, u: User_Handle, s: Filename) -&amp;gt; nothing&lt;br /&gt;
	&lt;br /&gt;
		In order to request for a file to be sent one must request a FileSharing channel for the mirror hosting the file including the following mandatory 		properties (Protocol, FileId). After this RequestFile is called to to configure the socket that will be used to complete this operation.&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	Parameter	&lt;br /&gt;
		&lt;br /&gt;
		File_List - s&lt;br /&gt;
			This is the File_List whose list of included file is being requested&lt;br /&gt;
	&lt;br /&gt;
		User_Handle - u&lt;br /&gt;
			The Contact_Handle of the user whose list of hosted File_List is being requested.&lt;br /&gt;
&lt;br /&gt;
		Filename - s&lt;br /&gt;
			File which is being requested to be sent&lt;br /&gt;
&lt;br /&gt;
	Possible Error&lt;br /&gt;
			&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The File_List/User_handle specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Signals &lt;br /&gt;
	&lt;br /&gt;
	NotificationChange( s: File_List, s: File_List_Title, s: Filename_Modified, s: Description, as: Metadata, s: Mirror)&lt;br /&gt;
	&lt;br /&gt;
	This signal is sent to every user which is subscribed to the File_List in which the change has been made. &lt;br /&gt;
	&lt;br /&gt;
	Parameter &lt;br /&gt;
	&lt;br /&gt;
	File_List - s&lt;br /&gt;
		This is the File_List on which the change has been done&lt;br /&gt;
	&lt;br /&gt;
	File_List_Title - s&lt;br /&gt;
		This is the title of the File_List which has been modified&lt;br /&gt;
&lt;br /&gt;
	Filename_Modified - s&lt;br /&gt;
		This is Filename on File_List which has been changed&lt;br /&gt;
&lt;br /&gt;
	Discription - s&lt;br /&gt;
		This is the Discripton of the File_List which has been modified&lt;br /&gt;
		&lt;br /&gt;
	Metadata - as&lt;br /&gt;
		This is the Metadata of the file which has been added/deleted&lt;br /&gt;
		&lt;br /&gt;
	Mirror - s&lt;br /&gt;
		Mirror of the modified file.&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Structure types&lt;br /&gt;
&lt;br /&gt;
	Metadata ( u: Size, s: Modified, s: CheckSum, s: Checksumtype, s: Mime )&lt;br /&gt;
&lt;br /&gt;
	This represents all the information needed about the file.&lt;br /&gt;
	&lt;br /&gt;
	Members&lt;br /&gt;
	&lt;br /&gt;
	Size - s&lt;br /&gt;
		Size of the file in KB&lt;br /&gt;
	&lt;br /&gt;
	Modified - s&lt;br /&gt;
		The last modified time of the revision&lt;br /&gt;
		&lt;br /&gt;
	CheckSum - s&lt;br /&gt;
		Checksum of the file&lt;br /&gt;
&lt;br /&gt;
	Checksumtype - s&lt;br /&gt;
		The type of CheckSum used&lt;br /&gt;
	&lt;br /&gt;
	Mime - s&lt;br /&gt;
		Mime Type of the file&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0-th&amp;diff=25850</id>
		<title>0-th</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0-th&amp;diff=25850"/>
		<updated>2009-04-07T10:19:56Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;org.freedesktop.Telepathy.Connection.Interface.FileSharing.DRAFT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementations of this interface must also implement:&lt;br /&gt;
   * org.freedesktop.Telepathy.Connection&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
An interface on connections to support protocols which allow users to designate a set of files as available for retrieval by other users of their choosing. Other features specified by this interface include file metadata, revisions, and download mirrors.&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
Methods:&lt;br /&gt;
&lt;br /&gt;
	CreateFileListing ( s: Title, s: PubSubNodeName, s: Description)-&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	In order to be able to publish a file on a PubSub server one should have a PubSub node. Here the Discription parameter is optional. Returns whether 		the FileListing was created (&#039;true&#039;) or not (&#039;false&#039;). &lt;br /&gt;
	&lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	Title - s&lt;br /&gt;
		This will be the title of the pubsub node.&lt;br /&gt;
	&lt;br /&gt;
	PubSubNodeName - s&lt;br /&gt;
		This is how the repository of the user will be referenced.&lt;br /&gt;
	&lt;br /&gt;
	Discription - s&lt;br /&gt;
		This is optional and can be use to give the discription of the FileListing that is being created.&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
	Returns&lt;br /&gt;
	&lt;br /&gt;
		Returns &#039;true&#039; if the FileListing was created and &#039;false&#039; if it was not.	&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		 &lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	AddSubSection ( s: Title, s: PubSubNodeName, s: SubSectionPubSubNodeName, s: Description) -&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	This method is called in order to add a SubSection to an already existing PubSubNode. This method returns whether the creation of the SubSection 	 was successful (&#039;true&#039;) or not (&#039;false&#039;).  &lt;br /&gt;
	&lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	Title - s&lt;br /&gt;
		This will be the title of the subsection.&lt;br /&gt;
	&lt;br /&gt;
	PubSubNodeName - s&lt;br /&gt;
		This is how the repository of the user will be referenced.&lt;br /&gt;
	&lt;br /&gt;
	SubSectionPubSubNodeName - s&lt;br /&gt;
		This is how the SubSection will be referenced.&lt;br /&gt;
	&lt;br /&gt;
	Discription - s&lt;br /&gt;
		This is optional and can be use to give the discription of the SubSection that is being created.&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	Returns&lt;br /&gt;
	&lt;br /&gt;
		Returns &#039;true&#039; if the SubSection was created and &#039;false&#039; if it was not.	&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The PubSubNodeName specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
	&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
    		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	SuscribeList ( s: PubSubNodeToSubscribe, s: SubscriptionType, s: SubscriptionDepth) -&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	This method is called when one wants to suscribe to a FileList.  This method returns whether the subscription was successful (&#039;true&#039;) or not 		(&#039;false&#039;).  &lt;br /&gt;
	&lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	PubSubNodeToSubscribe - s&lt;br /&gt;
		This is the PubSub node user want to subscibe.&lt;br /&gt;
	&lt;br /&gt;
	SubscriptionType - s&lt;br /&gt;
		This gives the subscription type.&lt;br /&gt;
		&lt;br /&gt;
	SubscriptionDepth - s&lt;br /&gt;
		Since a pubsub FileListing might have many SubSections,therefore this parameter gives the depth a user want to subscribe to.&lt;br /&gt;
			&lt;br /&gt;
	&lt;br /&gt;
	Returns&lt;br /&gt;
	&lt;br /&gt;
		Returns &#039;true&#039; if the SubSection was created and &#039;false&#039; if it was not.	&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The PubSubNodeToSubscribe specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	PublishFile ( s: PubSubNodeToAddFile, s: Filename, q: ItemId, as: Metadata, s: Mirrors) -&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	This method is called in order to to add a file to the list of published files. This method returns whether the file was published successfully 	(&#039;true&#039;) or not (&#039;false&#039;).  &lt;br /&gt;
	&lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	PubSubNodeToAddFile - s&lt;br /&gt;
		This is the PubSub node user want to publish file to.&lt;br /&gt;
	&lt;br /&gt;
	Filename - s&lt;br /&gt;
		This is the FileName user want to publish.&lt;br /&gt;
	&lt;br /&gt;
	ItemId - q&lt;br /&gt;
		This Id is used to create more than one version of the same file.&lt;br /&gt;
	&lt;br /&gt;
	Metadata - as&lt;br /&gt;
		This list all the metadata about the file which includes Size,Modified,CheckSum,Ckecksumtype and Mime.&lt;br /&gt;
		&lt;br /&gt;
	Mirrors	- s&lt;br /&gt;
		This list the mirrors from where the file can be fetched.&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Return&lt;br /&gt;
		Returns &#039;true&#039; if the FileName was published and &#039;false&#039; if it was not.&lt;br /&gt;
		 &lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The PubSubNodeToAddFile specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	DeleteRevision ( s: PubSubNode, q: FileItemId) -&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	This method is called in order to delete a revision from the list of published files on a PubSubNode. This method returns whether the file was 		deleted successfully (&#039;true&#039;) or not (&#039;false&#039;).&lt;br /&gt;
	&lt;br /&gt;
	  &lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	PubSubNode - s&lt;br /&gt;
		This is the pubsub node which is holding the file with the ItemId equal to FileItemId&lt;br /&gt;
		&lt;br /&gt;
	FileItemId - q&lt;br /&gt;
		This is the ItemId of the FileName that has to be deleted&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Return&lt;br /&gt;
		Returns &#039;true&#039; if the FileItemId was deleted and &#039;false&#039; if it was not.&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
	&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The PubSubNode specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	MakeRevision ( s: PubSubNodeHostingFile, s: Filename, q: ItemId, as: Metadata, s: Mirrors) -&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	This method is called in order to make a revision to an existing file on a PubSubNode. Use a different ItemId than the original file. This method 		returns whether the file was revised successfully (&#039;true&#039;) or not (&#039;false&#039;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	PubSubNodeHostingFile - s&lt;br /&gt;
		This is the PubSub node user want to publish file to.&lt;br /&gt;
	&lt;br /&gt;
	Filename - s&lt;br /&gt;
		This is the FileName user want to publish.&lt;br /&gt;
	&lt;br /&gt;
	ItemId - q&lt;br /&gt;
		This Id is used to create more than one version of the same file.&lt;br /&gt;
	&lt;br /&gt;
	Metadata - as&lt;br /&gt;
		This list all the metadata about the file which includes Size,Modified,CheckSum,Ckecksumtype and Mime.&lt;br /&gt;
		&lt;br /&gt;
	Mirrors	- s&lt;br /&gt;
		This list the mirrors from where the file can be fetched.&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Return&lt;br /&gt;
		Returns &#039;true&#039; if the FileName was published and &#039;false&#039; if it was not.&lt;br /&gt;
		 &lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The PubSubNodeHostingFile specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	SetPermissions ( s: PubSubNode, s: Jid, s: Affilation) -&amp;gt; Nothing&lt;br /&gt;
&lt;br /&gt;
	This method is called in order to set permissions for users regarding a PubSubNode.  This method returns whether the file was revised successfully 		(&#039;true&#039;) or not (&#039;false&#039;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	Parameter&lt;br /&gt;
		&lt;br /&gt;
	PubSubNode - s	&lt;br /&gt;
		This is the PubSub node user want to change permission of.&lt;br /&gt;
		&lt;br /&gt;
	Jid - s&lt;br /&gt;
		Jid of the user whose permission/affilation are being changed.&lt;br /&gt;
	&lt;br /&gt;
	Affilation - s&lt;br /&gt;
		This is the permission that will be set gor the Jid&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Return&lt;br /&gt;
		Nothing&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
	Possible Error&lt;br /&gt;
	&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The PubSubNode specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	GetRepo( s: PubSubNode) -&amp;gt; as&lt;br /&gt;
	&lt;br /&gt;
	This method is called to request the Repo hosted on the PubSubNode .&lt;br /&gt;
	&lt;br /&gt;
	Parameter&lt;br /&gt;
	&lt;br /&gt;
	PubSubNode - s&lt;br /&gt;
		The PubSub node on which the file repository is hosted.&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Return&lt;br /&gt;
		Returns an array of strings&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Possible Error&lt;br /&gt;
			&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The PubSubNode specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	RequestFile() -&amp;gt; nothing&lt;br /&gt;
	&lt;br /&gt;
	In order to request for a file to be sent one must request a FileSharing channel for the mirror hosting the file including the following mandatory 		properties (Protocol, FileId). After this RequestFile is called to to configure the socket that will be used to complete this operation.&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Signals :&lt;br /&gt;
	&lt;br /&gt;
	NotificationChange( s: PubSubNodeModified, s: CollectionModified, s: Title, as: Metadata, s: Mirror)&lt;br /&gt;
	&lt;br /&gt;
	This signal is sent to every user which is subscribed to the PubSubNode in which the change has been made. &lt;br /&gt;
	&lt;br /&gt;
	Parameter &lt;br /&gt;
	&lt;br /&gt;
	PubSubNodeModified - s&lt;br /&gt;
		This is the PubSub node on which the change has been done&lt;br /&gt;
		&lt;br /&gt;
	CollectionModified - s&lt;br /&gt;
		This is collection on PubSub node which has been change&lt;br /&gt;
&lt;br /&gt;
	Title - s&lt;br /&gt;
		This is the Title of the collection which has been modified&lt;br /&gt;
		&lt;br /&gt;
	Metadata - as&lt;br /&gt;
		This is the Metadata of the file which has been added/deleted&lt;br /&gt;
		&lt;br /&gt;
	Mirror - s&lt;br /&gt;
		Mirror of the modified file.&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Structure types&lt;br /&gt;
&lt;br /&gt;
	Metadata ( u: Size, s: Modified, s: CheckSum, s: Checksumtype, s: Mime )&lt;br /&gt;
&lt;br /&gt;
	This represents all the information needed about the file.&lt;br /&gt;
	&lt;br /&gt;
	Members&lt;br /&gt;
	&lt;br /&gt;
	Size - s&lt;br /&gt;
		Size of the file in KB&lt;br /&gt;
	&lt;br /&gt;
	Modified - s&lt;br /&gt;
		(undocumented)&lt;br /&gt;
		&lt;br /&gt;
	CheckSum - s&lt;br /&gt;
		Checksum of the file&lt;br /&gt;
&lt;br /&gt;
	Checksumtype - s&lt;br /&gt;
		The type of CheckSum used&lt;br /&gt;
	&lt;br /&gt;
	Mime - s&lt;br /&gt;
		Mime Type of the file&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0-th&amp;diff=25849</id>
		<title>0-th</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0-th&amp;diff=25849"/>
		<updated>2009-04-07T09:54:23Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;org.freedesktop.Telepathy.Connection.Interface.FileSharing.DRAFT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementations of this interface must also implement:&lt;br /&gt;
   &#039;&#039;* org.freedesktop.Telepathy.Connection&#039;&#039;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
An interface on connections to support protocols which allow users to designate a set of files as available for retrieval by other users of their choosing. Other features specified by this interface include file metadata, revisions, and download mirrors.&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
&#039;&#039;&#039;Methods&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
	CreateFileListing ( s: Title, s: PubSubNodeName, s: Description)-&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	In order to be able to publish a file on a PubSub server one should have a PubSub node. Here the Discription parameter is optional. Returns whether 		the FileListing was created (&#039;true&#039;) or not (&#039;false&#039;). &lt;br /&gt;
	&lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	Title - s&lt;br /&gt;
		This will be the title of the pubsub node.&lt;br /&gt;
	&lt;br /&gt;
	PubSubNodeName - s&lt;br /&gt;
		This is how the repository of the user will be referenced.&lt;br /&gt;
	&lt;br /&gt;
	Discription - s&lt;br /&gt;
		This is optional and can be use to give the discription of the FileListing that is being created.&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
	Returns&lt;br /&gt;
	&lt;br /&gt;
		Returns &#039;true&#039; if the FileListing was created and &#039;false&#039; if it was not.	&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		 &lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	AddSubSection ( s: Title, s: PubSubNodeName, s: SubSectionPubSubNodeName, s: Description) -&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	This method is called in order to add a SubSection to an already existing PubSubNode. This method returns whether the creation of the SubSection 	 was successful (&#039;true&#039;) or not (&#039;false&#039;).  &lt;br /&gt;
	&lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	Title - s&lt;br /&gt;
		This will be the title of the subsection.&lt;br /&gt;
	&lt;br /&gt;
	PubSubNodeName - s&lt;br /&gt;
		This is how the repository of the user will be referenced.&lt;br /&gt;
	&lt;br /&gt;
	SubSectionPubSubNodeName - s&lt;br /&gt;
		This is how the SubSection will be referenced.&lt;br /&gt;
	&lt;br /&gt;
	Discription - s&lt;br /&gt;
		This is optional and can be use to give the discription of the SubSection that is being created.&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	Returns&lt;br /&gt;
	&lt;br /&gt;
		Returns &#039;true&#039; if the SubSection was created and &#039;false&#039; if it was not.	&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The PubSubNodeName specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
	&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
    		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	SuscribeList ( s: PubSubNodeToSubscribe, s: SubscriptionType, s: SubscriptionDepth) -&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	This method is called when one wants to suscribe to a FileList.  This method returns whether the subscription was successful (&#039;true&#039;) or not 		(&#039;false&#039;).  &lt;br /&gt;
	&lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	PubSubNodeToSubscribe - s&lt;br /&gt;
		This is the PubSub node user want to subscibe.&lt;br /&gt;
	&lt;br /&gt;
	SubscriptionType - s&lt;br /&gt;
		This gives the subscription type.&lt;br /&gt;
		&lt;br /&gt;
	SubscriptionDepth - s&lt;br /&gt;
		Since a pubsub FileListing might have many SubSections,therefore this parameter gives the depth a user want to subscribe to.&lt;br /&gt;
			&lt;br /&gt;
	&lt;br /&gt;
	Returns&lt;br /&gt;
	&lt;br /&gt;
		Returns &#039;true&#039; if the SubSection was created and &#039;false&#039; if it was not.	&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The PubSubNodeToSubscribe specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	PublishFile ( s: PubSubNodeToAddFile, s: Filename, q: ItemId, u: Size, as: Metadata, s: Mirrors) -&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	This method is called in order to to add a file to the list of published files. This method returns whether the file was published successfully 	(&#039;true&#039;) or not (&#039;false&#039;).  &lt;br /&gt;
	&lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	PubSubNodeToAddFile - s&lt;br /&gt;
		This is the PubSub node user want to publish file to.&lt;br /&gt;
	&lt;br /&gt;
	Filename - s&lt;br /&gt;
		This is the FileName user want to publish.&lt;br /&gt;
	&lt;br /&gt;
	ItemId - q&lt;br /&gt;
		This Id is used to create more than one version of the same file.&lt;br /&gt;
	&lt;br /&gt;
	Metadata - as&lt;br /&gt;
		This list all the metadata about the file which includes Size,Modified,CheckSum,Ckecksumtype and Mime.&lt;br /&gt;
		&lt;br /&gt;
	Mirrors	- s&lt;br /&gt;
		This list the mirrors from where the file can be fetched.&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Return&lt;br /&gt;
		Returns &#039;true&#039; if the FileName was published and &#039;false&#039; if it was not.&lt;br /&gt;
		 &lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The PubSubNodeToAddFile specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	DeleteRevision ( s: PubSubNode, q: FileItemId) -&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	This method is called in order to delete a revision from the list of published files on a PubSubNode. This method returns whether the file was 		deleted successfully (&#039;true&#039;) or not (&#039;false&#039;).&lt;br /&gt;
	&lt;br /&gt;
	  &lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	PubSubNode - s&lt;br /&gt;
		This is the pubsub node which is holding the file with the ItemId equal to FileItemId&lt;br /&gt;
		&lt;br /&gt;
	FileItemId - q&lt;br /&gt;
		This is the ItemId of the FileName that has to be deleted&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Return&lt;br /&gt;
		Returns &#039;true&#039; if the FileItemId was deleted and &#039;false&#039; if it was not.&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
	&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The PubSubNode specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	MakeRevision ( s: PubSubNodeHostingFile, s: Filename, q: ItemId, u: Size, s: Modified, s: CheckSum, s: Ckecksumtype, s: Mime, s: Mirrors) -&amp;gt; b&lt;br /&gt;
	&lt;br /&gt;
	This method is called in order to make a revision to an existing file on a PubSubNode. Use a different ItemId than the original file. This method 		returns whether the file was revised successfully (&#039;true&#039;) or not (&#039;false&#039;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	Parameters&lt;br /&gt;
	&lt;br /&gt;
	PubSubNodeHostingFile - s&lt;br /&gt;
		This is the PubSub node user want to publish file to.&lt;br /&gt;
	&lt;br /&gt;
	Filename - s&lt;br /&gt;
		This is the FileName user want to publish.&lt;br /&gt;
	&lt;br /&gt;
	ItemId - q&lt;br /&gt;
		This Id is used to create more than one version of the same file.&lt;br /&gt;
	&lt;br /&gt;
	Metadata&lt;br /&gt;
		This list all the metadata about the file which includes Size,Modified,CheckSum,Ckecksumtype and Mime.&lt;br /&gt;
		&lt;br /&gt;
	Mirrors	- s&lt;br /&gt;
		This list the mirrors from where the file can be fetched.&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Return&lt;br /&gt;
		Returns &#039;true&#039; if the FileName was published and &#039;false&#039; if it was not.&lt;br /&gt;
		 &lt;br /&gt;
	&lt;br /&gt;
	Possible Error	&lt;br /&gt;
		&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The PubSubNodeHostingFile specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	SetPermissions ( s: PubSubNode, s: Jid, s: Affilation) -&amp;gt; Nothing&lt;br /&gt;
&lt;br /&gt;
	This method is called in order to set permissions for users regarding a PubSubNode.  This method returns whether the file was revised successfully 		(&#039;true&#039;) or not (&#039;false&#039;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	Parameter&lt;br /&gt;
		&lt;br /&gt;
	PubSubNode - s	&lt;br /&gt;
		This is the PubSub node user want to change permission of.&lt;br /&gt;
		&lt;br /&gt;
	Jid - s&lt;br /&gt;
		Jid of the user whose permission/affilation are being changed.&lt;br /&gt;
	&lt;br /&gt;
	Affilation - s&lt;br /&gt;
		This is the permission that will be set gor the Jid&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Return&lt;br /&gt;
		Nothing&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
	Possible Error&lt;br /&gt;
	&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The PubSubNode specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.PermissionDenied&lt;br /&gt;
		The user is not permitted to perform the requested operation. (generic description)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	GetRepo( s: PubSubNode) -&amp;gt; as&lt;br /&gt;
	&lt;br /&gt;
	This method is called to request the Repo hosted on the PubSubNode .&lt;br /&gt;
	&lt;br /&gt;
	Parameter&lt;br /&gt;
	&lt;br /&gt;
	PubSubNode - s&lt;br /&gt;
		The PubSub node on which the file repository is hosted.&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Return&lt;br /&gt;
		Returns an array of strings&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	Possible Error&lt;br /&gt;
			&lt;br /&gt;
	org.freedesktop.Telepathy.Error.Disconnected&lt;br /&gt;
		The connection is not currently connected and cannot be used. This error may also be raised when operations are performed on a Connection 			for which StatusChanged  has signalled status Disconnected for reason None.&lt;br /&gt;
&lt;br /&gt;
	org.freedesktop.Telepathy.Error.InvalidHandle&lt;br /&gt;
    		The PubSubNode specified is unknown on this channel or connection. (generic description)&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	RequestFile() -&amp;gt; nothing&lt;br /&gt;
	&lt;br /&gt;
	In order to request for a file to be sent one must request a FileSharing channel for the mirror hosting the file including the following mandatory 		properties (Protocol, FileId). After this RequestFile is called to to configure the socket that will be used to complete this operation.&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Signals&#039;&#039;&#039; :&lt;br /&gt;
	&lt;br /&gt;
	NotificationChange( s: PubSubNodeModified, s: CollectionModified, s: Title, as: Metadata, s: Mirror)&lt;br /&gt;
	&lt;br /&gt;
	This signal is sent to every user which is subscribed to the PubSubNode in which the change has been made. &lt;br /&gt;
	&lt;br /&gt;
	Parameter &lt;br /&gt;
	&lt;br /&gt;
	PubSubNodeModified - s&lt;br /&gt;
		This is the PubSub node on which the change has been done&lt;br /&gt;
		&lt;br /&gt;
	CollectionModified - s&lt;br /&gt;
		This is collection on PubSub node which has been change&lt;br /&gt;
&lt;br /&gt;
	Title - s&lt;br /&gt;
		This is the Title of the collection which has been modified&lt;br /&gt;
		&lt;br /&gt;
	Metadata - as&lt;br /&gt;
		This is the Metadata of the file which has been added/deleted&lt;br /&gt;
		&lt;br /&gt;
	Mirror - s&lt;br /&gt;
		Mirror of the modified file.&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Structure types&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
	Metadata ( u: Size, s: Modified, s: CheckSum, s: Checksumtype, s: Mime )&lt;br /&gt;
&lt;br /&gt;
	This represents all the information needed about the file.&lt;br /&gt;
	&lt;br /&gt;
	Members&lt;br /&gt;
	&lt;br /&gt;
	Size - s&lt;br /&gt;
		Size of the file in KB&lt;br /&gt;
	&lt;br /&gt;
	Modified - s&lt;br /&gt;
		(undocumented)&lt;br /&gt;
		&lt;br /&gt;
	CheckSum - s&lt;br /&gt;
		Checksum of the file&lt;br /&gt;
&lt;br /&gt;
	Checksumtype - s&lt;br /&gt;
		The type of CheckSum used&lt;br /&gt;
	&lt;br /&gt;
	Mime - s&lt;br /&gt;
		Mime Type of the file&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Talk:File_Sharing_Utility&amp;diff=24976</id>
		<title>Talk:File Sharing Utility</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Talk:File_Sharing_Utility&amp;diff=24976"/>
		<updated>2009-04-03T08:46:21Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Looks pretty good overall. One small question: do you intend to try to integrate glade-based interfaces with existing journal interfaces (non-glade-based)? [[User:Homunq|Homunq]] 02:51, 24 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reply&#039;&#039;&#039; : Thanks Homunq for reviewing it. On thorough research I found out that making glade work on Sugar will be a big project in it self. Therefore sue to fixed schedule of the Gsoc I wont be doing that. I definitely will like to work on such a project though after Gsoc as it will greatly improve development experience on Sugar. PyGTK for now ! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Why not try to us Telepathy for the sharing? [[User:BryanWB|BryanWB]] 11:03, 24 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reply&#039;&#039;&#039; : Thanks BryanWB for spending time to review my application. Telepathy will indeed be used for many purposes. I will be detailing on it in the proposal shortly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I will appreciate any kind of queries/recommendation on my application.&lt;br /&gt;
&lt;br /&gt;
== good, but needs detail  ==&lt;br /&gt;
&lt;br /&gt;
You&#039;re more than half way there, but you need to flesh this out a little bit. [[User:Homunq|Homunq]] 00:11, 31 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reply&#039;&#039;&#039; : I have added detailed time line, answered few of the remaining questions and also included a link to the draft (work in progress) of the first step of my project. Hope you find this sufficient.&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=24975</id>
		<title>File Sharing Utility</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=24975"/>
		<updated>2009-04-03T08:43:18Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====About you====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Kartik Rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911 [AT] gmail [DOT] com&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#039;&#039;&#039;What is your IRC nickname?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kartik_rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.5 : &#039;&#039;&#039;What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : English and Hindi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.6 : &#039;&#039;&#039;Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Located in New Delhi, India, UTC +530. &lt;br /&gt;
Since most of the period of Gsoc comes at a time of summer vacation for me, therefore I am comfortable working at any time of the day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q.7 : &#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I have done the following relevant work:&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Implemented 7-zip compressed commics support in Evince Document Viewer, Gnome   Bug: #532312&lt;br /&gt;
  * Link: http://ftp.gnome.org/pub/GNOME/desktop/2.23/2.23.5/NEWS&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Was involved in the designing of a Joint Architecture for Unmanned Systems (JAUS) compliant Software Development Kit as a part of a startup I am co-founder off. Things I worked on (all in c/c++):&lt;br /&gt;
  * Unix System calls&lt;br /&gt;
  * Unix,UDP and TCP sockets&lt;br /&gt;
  * Threads, semaphores and mutex.&lt;br /&gt;
  * Design of the architecture which involved making UMLs&lt;br /&gt;
  * Object oriented designing &lt;br /&gt;
I cant provide the link to the source code since the work if proprietary. &lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Designed and implemented an Asynchronous Information Dissemination System using Delay Tolerant Networks. Was selected in the top 12 teams from Asia Pacific by Google as a part of Google Product Prodigy. The finals will take place in April.&lt;br /&gt;
  * Link: http://www.google.co.in/intl/en/productprodigy/finalists.html  &lt;br /&gt;
  * Team: Mobile Health&lt;br /&gt;
  * Here specifically a lot of PyGtk was used along with XML DOM, imaplib, smtplib etc.&lt;br /&gt;
TODO: Ask Google if the source code can be made public.&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Implemented a peer-to-peer file search and transfer utility in python. It had the following main features:&lt;br /&gt;
    #Remote discovery of active peers&lt;br /&gt;
    #File search queries using Multicast and File transfer&lt;br /&gt;
    #Object matching using regular expressions&lt;br /&gt;
    #Link: http://code.google.com/p/p2p-lan/downloads/list&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Made a distributed game based on Flash and Python and used Asynchronous servers, Mysql db, DOM in its design and implementation.&lt;br /&gt;
  #Link: http://code.google.com/p/etheravtar/downloads/list&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====About your project====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : File Sharing Utility&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
a) : &#039;&#039;&#039;What are you making&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : There is a lack of file sharing ability in the Sugar Learning Platform right now. Sugar relies on Telepathy for most of its network requirement. Telepathy in turn uses XMPP Extensions as the bases of their various interfaces. The XMPP Extensions for File Repository and Sharing is XEP:0214 . There is no Telepathy interface for this XEP currently and therefore File Sharing is not their right now. Also the File Transfer API is only to send files at the most, not request them. Therefore there will be a need to design a Telepathy interface to announce files, retrieves files from contact and request a file.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Steps for the complete implementation :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) To design a Telepathy interface to announce files, retrieves files from contact and request a file.&lt;br /&gt;
&lt;br /&gt;
2) Understand XEP-0214 and Telepathy enough to write a Telepathy Interface Specification for the functionality of XEP-0214.&lt;br /&gt;
&lt;br /&gt;
3) Implementing that interface in Gabble. &lt;br /&gt;
&lt;br /&gt;
4) XEP-0214 only gets you us as far finding out what files a person has.  Step 4 is writing python code to actually retrieve those files, using &lt;br /&gt;
Telepathy&#039;s existing FileTransfer API.&lt;br /&gt;
&lt;br /&gt;
5) Modify the Sugar interface (probably Journal and Neighborhood view) to expose this functionality to the user, i.e to give an option to share a file or not.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
b) : &#039;&#039;&#039;Who are you making it for&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : This will be of immense use for any one associated with sugar be it students, teachers and even developers since allowing such kind of functionalities will truly enhance Sugar&#039;s ability and bring to it a feature which is considered a basic utility in any platform.   &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
c) : &#039;&#039;&#039;Why do they need it &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : A typical use of this application is the transfer of assignments and similar work among students. Their can be many uses of this functionality for other activities as sharing has been a primary goal for the Sugar Platform. In order to connect the sugar community File Sharing according to me is some thing of prime importance.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
d) : &#039;&#039;&#039;What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Most of the programming will be done in C followed by some part in python too. A major portion of this project will be to understand Telepathy&#039;s existing interfaces therefore Telepathy will be a major technology involved. The GUI will be done using PyGTK. Other technologies involved include D-BUS as the underlying IPC mechanism, GObject etc. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3  : &#039;&#039;&#039;What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; 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 (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Since overall quite a lot of work is involved including learning many new things, therefore I specially aim to use the preiod between filing my application and the actual begining of GSoc to maximum use. I aim to make my self done with Telepathy&#039;s existing source code in this period along with having a first draft of the TP interface to to announce files, retrieves files from contact and request a file in this period only.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Before GSoc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*As a start I will be done with step 1 and step 2 by April 8. Here is the &#039;yet to be complete&#039; [[0-th]] Draft of the TP specification.&lt;br /&gt;
 &lt;br /&gt;
*After this I will be starting with TP&#039;s source code to get a hang of it. This will be finished by maximum by April end.&lt;br /&gt;
&lt;br /&gt;
*I will have 2-3 hours/day ( may lesser on few days) in May to start coding for step 3. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;During Gsoc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Step 3 will be finished maximum by 2nd week of June.&lt;br /&gt;
&lt;br /&gt;
*After this I will start working on the design and the implementation of the GUI required to use the feature of making files public. This task will be done with by the end of 1st week of July.   &lt;br /&gt;
&lt;br /&gt;
*Having done with the GUI Python code will be written to actually retrieve the files. This will be done by the 2nd week of July.&lt;br /&gt;
&lt;br /&gt;
*The rest of the July will be consumed for rigorous testing.&lt;br /&gt;
&lt;br /&gt;
*A buffer of 2 weeks is kept for any kind unpredictable delay.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;After Gsoc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Find a way to share files locally i.e. via Salut and implement it.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 :  &#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, school work, and that sort of thing, but be creative. Link to prior work or other resources as relevant.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : The biggest asset with this proposal is that this proposal has been a result of intense discussion with developers associated with the parent projects i.e Telepathy and Sugar. Very crucial issues like the viability of the implementation and the actual use of such a project for the Sugar community were taken into account before I actually sat down to write this proposal. Therefore I am very clear about the major tasks that I need to complete. Also I being in constant touch with developers had provided me with a basic approach to actually implement these tasks.&lt;br /&gt;
Regarding the issue of my personal skills to complete this task, I have been involved in a startup which helped me realise how the principles of Software Engineering are actually brought into action in the real world. Other then this most of the work I am doing in this startup is infact in C, the major language I will be using. &lt;br /&gt;
Regarding the Python I have done many small/mid-sized projects which make use of each of the libraries I will be needing to conceptualise this proposal. I have also done few projects which were specifically addressing the File sharing (and transfer). This again brings clarity of the process involved.&lt;br /&gt;
Other then this my wish to contribute to the Open Source community in any way possible (Gsoc or no Gsoc) will be the biggest inspiration that will make me complete this project.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====You and the community====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; From myself :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With the completion of this project a very essential feature will be made available to the Sugar Platform. Having the freedom of sharing with anyone any time is essential for such a platform and this project essentially achieves that. Other than this it opens the door for other developers to make creative use of this utility for their own activities. Also it will be a way for Sugar to payback to the Telepathy Community which it makes use of for so many of its needs :)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; From Benjamin M. Schwartz : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;So what I mean is, this feature, file sharing, has been part of the Sugar design since before Sugar existed.&amp;quot; &lt;br /&gt;
This was said in reference to the discussion : http://lists.sugarlabs.org/archive/sugar-devel/2007-August/003323.html &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; From Andrés Ambrois :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If this project succeeds it will be providing a very important missing piece in Sugar&#039;s vision of a learning environment, encouraging content creation and distribution in a local, peer-based fashion. &lt;br /&gt;
&lt;br /&gt;
From my experience here in Uruguay, the collaboration possibilities are being largely ignored in the classroom, partially because of infrastructure problems, but also because of the lack of semantically basic functions such as this. &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I would like the deployment to be at a near by Government school for the poor since they are the students that are usually isolated from the strength of electronic education and hence have the maximum curiosity to learn. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#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;
Ans : I will do the following things in the same order: &lt;br /&gt;
# Search about it Google&lt;br /&gt;
# Ask people on the mailing list and IRC for the solution&lt;br /&gt;
# Will go through the various discussion forums  &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#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;
Ans : I will do the following things : &lt;br /&gt;
# Updating the project wiki&lt;br /&gt;
# Sending regular updates on the mailing list &lt;br /&gt;
# Ping IRC and asking users/developers for review &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous====&lt;br /&gt;
&lt;br /&gt;
# We want to make sure that you can set up a [[DevelopmentTeam#Development_systems|development environment]] before the summer starts. Please 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;Restart.&amp;quot; See the image on the right for an example. 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;
Ans : [[http://p2p-lan.googlecode.com/files/sugar_prerequisite.png  Here is the prerequisite]]&lt;br /&gt;
&lt;br /&gt;
Q.6 :  What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)&lt;br /&gt;
&lt;br /&gt;
Ans : XL&lt;br /&gt;
&lt;br /&gt;
Q.7 : Describe a great learning experience you had as a child.&lt;br /&gt;
&lt;br /&gt;
Ans : I was always afraid of maths during childhood and never used to score good in the subject. Then at a certain time I watched this show on Discovery where they were showing how to visualise maths problem in head. I adopted that methodology in Maths and their has been no looking back. This proved useful not only in maths but in other subjects especially Physics.&lt;br /&gt;
&lt;br /&gt;
Q.8 : 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;
Ans : No&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:2009 GSoC applications]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=24810</id>
		<title>File Sharing Utility</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=24810"/>
		<updated>2009-04-02T04:11:43Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====About you====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Kartik Rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911 [AT] gmail [DOT] com&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#039;&#039;&#039;What is your IRC nickname?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kartik_rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.5 : &#039;&#039;&#039;What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : English and Hindi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.6 : &#039;&#039;&#039;Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Located in New Delhi, India, UTC +530. &lt;br /&gt;
Since most of the period of Gsoc comes at a time of summer vacation for me, therefore I am comfortable working at any time of the day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q.7 : &#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I have done the following relevant work:&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Implemented 7-zip compressed commics support in Evince Document Viewer, Gnome   Bug: #532312&lt;br /&gt;
  * Link: http://ftp.gnome.org/pub/GNOME/desktop/2.23/2.23.5/NEWS&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Was involved in the designing of a Joint Architecture for Unmanned Systems (JAUS) compliant Software Development Kit as a part of a startup I am co-founder off. Things I worked on (all in c/c++):&lt;br /&gt;
  * Unix System calls&lt;br /&gt;
  * Unix,UDP and TCP sockets&lt;br /&gt;
  * Threads, semaphores and mutex.&lt;br /&gt;
  * Design of the architecture which involved making UMLs&lt;br /&gt;
  * Object oriented designing &lt;br /&gt;
I cant provide the link to the source code since the work if proprietary. &lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Designed and implemented an Asynchronous Information Dissemination System using Delay Tolerant Networks. Was selected in the top 12 teams from Asia Pacific by Google as a part of Google Product Prodigy. The finals will take place in April.&lt;br /&gt;
  * Link: http://www.google.co.in/intl/en/productprodigy/finalists.html  &lt;br /&gt;
  * Team: Mobile Health&lt;br /&gt;
  * Here specifically a lot of PyGtk was used along with XML DOM, imaplib, smtplib etc.&lt;br /&gt;
TODO: Ask Google if the source code can be made public.&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Implemented a peer-to-peer file search and transfer utility in python. It had the following main features:&lt;br /&gt;
    #Remote discovery of active peers&lt;br /&gt;
    #File search queries using Multicast and File transfer&lt;br /&gt;
    #Object matching using regular expressions&lt;br /&gt;
    #Link: http://code.google.com/p/p2p-lan/downloads/list&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Made a distributed game based on Flash and Python and used Asynchronous servers, Mysql db, DOM in its design and implementation.&lt;br /&gt;
  #Link: http://code.google.com/p/etheravtar/downloads/list&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====About your project====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : File Sharing Utility&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
a) : &#039;&#039;&#039;What are you making&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : There is a lack of file sharing ability in the Sugar Learning Platform right now. Sugar relies on Telepathy for most of its network requirement. Telepathy in turn uses XMPP Extensions as the bases of their various interfaces. The XMPP Extensions for File Repository and Sharing is XEP:0214 . There is no Telepathy interface for this XEP currently and therefore File Sharing is not their right now. Also the File Transfer API is only to send files at the most, not request them. Therefore there will be a need to design a Telepathy interface to announce files, retrieves files from contact and request a file.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Steps for the complete implementation :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) To design a Telepathy interface to announce files, retrieves files from contact and request a file.&lt;br /&gt;
&lt;br /&gt;
2) Understand XEP-0214 and Telepathy enough to write a Telepathy Interface Specification for the functionality of XEP-0214.&lt;br /&gt;
&lt;br /&gt;
3) Implementing that interface in Gabble. &lt;br /&gt;
&lt;br /&gt;
4) XEP-0214 only gets you us as far finding out what files a person has.  Step 4 is writing python code to actually retrieve those files, using &lt;br /&gt;
Telepathy&#039;s existing FileTransfer API.&lt;br /&gt;
&lt;br /&gt;
5) Modify the Sugar interface (probably Journal and Neighborhood view) to expose this functionality to the user, i.e to give an option to share a file or not.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
b) : &#039;&#039;&#039;Who are you making it for&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : This will be of immense use for any one associated with sugar be it students, teachers and even developers since allowing such kind of functionalities will truly enhance Sugar&#039;s ability and bring to it a feature which is considered a basic utility in any platform.   &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
c) : &#039;&#039;&#039;Why do they need it &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : A typical use of this application is the transfer of assignments and similar work among students. Their can be many uses of this functionality for other activities as sharing has been a primary goal for the Sugar Platform. In order to connect the sugar community File Sharing according to me is some thing of prime importance.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
d) : &#039;&#039;&#039;What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Most of the programming will be done in C followed by some part in python too. A major portion of this project will be to understand Telepathy&#039;s existing interfaces therefore Telepathy will be a major technology involved. The GUI will be done using PyGTK. Other technologies involved include D-BUS as the underlying IPC mechanism, GObject etc. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3  : &#039;&#039;&#039;What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; 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 (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Since overall quite a lot of work is involved including learning many new things, therefore I specially aim to use the preiod between filing my application and the actual begining of GSoc to maximum use. I aim to make my self done with Telepathy&#039;s existing source code in this period along with having a first draft of the TP interface to to announce files, retrieves files from contact and request a file in this period only.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Before GSoc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*As a start I will be done with step 1 and step 2 by April 8. Here is the &#039;yet to be complete&#039; [[0-th]] Draft of the TP specification.&lt;br /&gt;
 &lt;br /&gt;
*After this I will be starting with TP&#039;s source code to get a hang of it. This will be finished by maximum by April end.&lt;br /&gt;
&lt;br /&gt;
*I will have 2-3 hours/day ( may lesser on few days) in May to start coding for step 3. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;During Gsoc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Step 3 will be finished maximum by 2nd week of June.&lt;br /&gt;
&lt;br /&gt;
*After this I will start working on the design and the implementation of the GUI required to use the feature of making files public. This task will be done with by the end of 1st week of July.   &lt;br /&gt;
&lt;br /&gt;
*Having done with the GUI Python code will be written to actually retrieve the files. This will be done by the 2nd week of July.&lt;br /&gt;
&lt;br /&gt;
*The rest of the July will be consumed for rigorous testing.&lt;br /&gt;
&lt;br /&gt;
*A buffer of 2 weeks is kept for any kind unpredictable delay.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;After Gsoc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Find a way to share files locally i.e. via Salut and implement it.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 :  &#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, school work, and that sort of thing, but be creative. Link to prior work or other resources as relevant.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : The biggest asset with this proposal is that this proposal has been a result of intense discussion with developers associated with the parent projects i.e Telepathy and Sugar. Very crucial issues like the viability of the implementation and the actual use of such a project for the Sugar community were taken into account before I actually sat down to write this proposal. Therefore I am very clear about the major tasks that I need to complete. Also I being in constant touch with developers had provided me with a basic approach to actually implement these tasks.&lt;br /&gt;
Regarding the issue of my personal skills to complete this task, I have been involved in a startup which helped me realise how the principles of Software Engineering are actually brought into action in the real world. Other then this most of the work I am doing in this startup is infact in C, the major language I will be using. &lt;br /&gt;
Regarding the Python I have done many small/mid-sized projects which make use of each of the libraries I will be needing to conceptualise this proposal. I have also done few projects which were specifically addressing the File sharing (and transfer). This again brings clarity of the process involved.&lt;br /&gt;
Other then this my wish to contribute to the Open Source community in any way possible (Gsoc or no Gsoc) will be the biggest inspiration that will make me complete this project.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====You and the community====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; From myself :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With the completion of this project a very essential feature will be made available to the Sugar Platform. Having the freedom of sharing with anyone any time is essential for such a platform and this project essentially achieves that. Other than this it opens the door for other developers to make creative use of this utility for their own activities. Also it will be a way for Sugar to payback to the Telepathy Community which it makes use of for so many of its needs :)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; From Benjamin M. Schwartz : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;So what I mean is, this feature, file sharing, has been part of the Sugar design since before Sugar existed.&amp;quot; &lt;br /&gt;
This was said in reference to the discussion : http://lists.sugarlabs.org/archive/sugar-devel/2007-August/003323.html &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; From Andrés Ambrois :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If this project succeeds it will be providing a very important missing piece in Sugar&#039;s vision of a learning environment, encouraging content creation and distribution in a local, peer-based fashion. &lt;br /&gt;
&lt;br /&gt;
From my experience here in Uruguay, the collaboration possibilities are being largely ignored in the classroom, partially because of infrastructure problems, but also because of the lack of semantically basic functions such as this. &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I would like the deployment to be at a near by Government school for the poor since they are the students that are usually isolated from the strength of electronic education and hence have the maximum curiosity to learn. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#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;
Ans : I will do the following things in the same order: &lt;br /&gt;
# Search about it Google&lt;br /&gt;
# Ask people on the mailing list and IRC for the solution&lt;br /&gt;
# Will go through the various discussion forums  &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#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;
Ans : I will do the following things : &lt;br /&gt;
# Updating the project wiki&lt;br /&gt;
# Sending regular updates on the mailing list &lt;br /&gt;
# Ping IRC and asking users/developers for review &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous====&lt;br /&gt;
&lt;br /&gt;
# We want to make sure that you can set up a [[DevelopmentTeam#Development_systems|development environment]] before the summer starts. Please 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;Restart.&amp;quot; See the image on the right for an example. 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;
Ans : [[http://p2p-lan.googlecode.com/files/sugar_prerequisite.png  Here is the prerequisite]]&lt;br /&gt;
&lt;br /&gt;
Q.6 :  What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)&lt;br /&gt;
&lt;br /&gt;
Ans : XL&lt;br /&gt;
&lt;br /&gt;
Q.7 : Describe a great learning experience you had as a child.&lt;br /&gt;
&lt;br /&gt;
Q.8 : 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;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:2009 GSoC applications]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=0-th&amp;diff=24809</id>
		<title>0-th</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=0-th&amp;diff=24809"/>
		<updated>2009-04-02T02:15:42Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: New page: &amp;#039;&amp;#039;&amp;#039;org.freedesktop.Telepathy.channel.Type.FileSharing&amp;#039;&amp;#039;&amp;#039;  Implementations of this interface must also implement:    &amp;#039;&amp;#039; org.freedesktop.Telepathy.Channel &amp;#039;&amp;#039;      *In order to be able to pub...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;org.freedesktop.Telepathy.channel.Type.FileSharing&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementations of this interface must also implement:&lt;br /&gt;
   &#039;&#039; org.freedesktop.Telepathy.Channel &#039;&#039;&lt;br /&gt;
    &lt;br /&gt;
*In order to be able to publish a file on a PubSub server one should have a PubSub node. For this one must request a FileSharing channel for a PubSub server, including the following mandatory properties (Title, PubSubNodeName) and the follwing optional properties (Description). After this, one should call CreateFileListing to configure the socket that will be used to complete this operation.&lt;br /&gt;
&lt;br /&gt;
*In order to add a SubSection to an already existing PubSubNode on a PubSub server one must request a FileSharing channel for a PubSub server, including the following mandatory properties (Title, ParentPubSubNodeName, SubSectionPubSubNodeName) and the follwing optional properties (Description). After this, one should call AddSubSection to configure the socket that will be used to complete this operation.&lt;br /&gt;
&lt;br /&gt;
*In order to Subscribe to a FileListing on an existing PubSubNode on a PubSub server one must request a FileSharing channel for a PubSub server, including the following mandatory properties (PubSubNodeToSubscribe, SubscriptionType, SubscriptionDepth). After this, one should call SuscribeList to configure the socket that will be used to complete this operation.&lt;br /&gt;
&lt;br /&gt;
*In order to add a file to the list of published files on a PubSubNode on a PubSub server one must request a FileSharing channel for a PubSub server, including the following mandatory properties (PubSubNodeToAddFile, Filename, ItemId, Size, Modified, Checksum, ChecksumType, Mime, Mirrors) and the following optional properties (Description). After this, one should call PublishFile to configure the socket that will be used to complete this operation. &lt;br /&gt;
&lt;br /&gt;
*In order to delete a revision from the list of published files on a PubSubNode on a PubSub server one must request a FileSharing channel for a PubSub server, including the following mandatory properties (FileItemId). After this, one should call DeleteRevision to configure the socket that will be used to complete this operation. &lt;br /&gt;
&lt;br /&gt;
*In order to make a revision to an existing file on a PubSubNode on a PubSub server one must request a FileSharing channel for a PubSub server, including the following mandatory properties (PubSubNodeHostingFile,  Filename, ItemId, Size, Modified, Checksum, ChecksumType, Mime, Mirrors). After this, one should call MakeRevision to configure the socket that will be used to complete this operation. &lt;br /&gt;
&lt;br /&gt;
*In order to set permissions for users regarding a PubSubNode on a PubSub server one must request a FileSharing channel for a PubSub server,  including the following mandatory properties (PubSubNode, Jid, Affilation). After this, one should call SetPermissions to configure the socket that will be used to complete this operation.&lt;br /&gt;
&lt;br /&gt;
*In order to request a File Repository one must request a FileSharing channel for the User whose list is being requested and then call GetRepo to configure the socket that will be used to complete this operation..&lt;br /&gt;
&lt;br /&gt;
*In order to send a list of published files in response to GetRepo one must request a FileSharing channel for the User which called GetRepo including the following mandatory properties (RepoAddress, PubSubNodeHostingRepo, Description). After this one should call SendRepo to configure the socket that will be used to complete this operation.&lt;br /&gt;
&lt;br /&gt;
*In order to request for a file to be sent one must request a FileSharing channel for the mirror hosting the file including the following mandatory properties (Protocol, FileId). After this RequestFile is called to to configure the socket that will be used to complete this operation.&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=24808</id>
		<title>File Sharing Utility</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=24808"/>
		<updated>2009-04-02T02:13:01Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====About you====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Kartik Rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911 [AT] gmail [DOT] com&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#039;&#039;&#039;What is your IRC nickname?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kartik_rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.5 : &#039;&#039;&#039;What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : English and Hindi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.6 : &#039;&#039;&#039;Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Located in New Delhi, India, UTC +530. &lt;br /&gt;
Since most of the period of Gsoc comes at a time of summer vacation for me, therefore I am comfortable working at any time of the day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q.7 : &#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I have done the following relevant work:&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Implemented 7-zip compressed commics support in Evince Document Viewer, Gnome   Bug: #532312&lt;br /&gt;
  * Link: http://ftp.gnome.org/pub/GNOME/desktop/2.23/2.23.5/NEWS&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Was involved in the designing of a Joint Architecture for Unmanned Systems (JAUS) compliant Software Development Kit as a part of a startup I am co-founder off. Things I worked on (all in c/c++):&lt;br /&gt;
  * Unix System calls&lt;br /&gt;
  * Unix,UDP and TCP sockets&lt;br /&gt;
  * Threads, semaphores and mutex.&lt;br /&gt;
  * Design of the architecture which involved making UMLs&lt;br /&gt;
  * Object oriented designing &lt;br /&gt;
I cant provide the link to the source code since the work if proprietary. &lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Designed and implemented an Asynchronous Information Dissemination System using Delay Tolerant Networks. Was selected in the top 12 teams from Asia Pacific by Google as a part of Google Product Prodigy. The finals will take place in April.&lt;br /&gt;
  * Link: http://www.google.co.in/intl/en/productprodigy/finalists.html  &lt;br /&gt;
  * Team: Mobile Health&lt;br /&gt;
  * Here specifically a lot of PyGtk was used along with XML DOM, imaplib, smtplib etc.&lt;br /&gt;
TODO: Ask Google if the source code can be made public.&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Implemented a peer-to-peer file search and transfer utility in python. It had the following main features:&lt;br /&gt;
    #Remote discovery of active peers&lt;br /&gt;
    #File search queries using Multicast and File transfer&lt;br /&gt;
    #Object matching using regular expressions&lt;br /&gt;
    #Link: http://code.google.com/p/p2p-lan/downloads/list&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Made a distributed game based on Flash and Python and used Asynchronous servers, Mysql db, DOM in its design and implementation.&lt;br /&gt;
  #Link: http://code.google.com/p/etheravtar/downloads/list&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====About your project====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : File Sharing Utility&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
a) : &#039;&#039;&#039;What are you making&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : There is a lack of file sharing ability in the Sugar Learning Platform right now. Sugar relies on Telepathy for most of its network requirement. Telepathy in turn uses XMPP Extensions as the bases of their various interfaces. The XMPP Extensions for File Repository and Sharing is XEP:0214 . There is no Telepathy interface for this XEP currently and therefore File Sharing is not their right now. Also the File Transfer API is only to send files at the most, not request them. Therefore there will be a need to design a Telepathy interface to announce files, retrieves files from contact and request a file.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Steps for the complete implementation :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) To design a Telepathy interface to announce files, retrieves files from contact and request a file.&lt;br /&gt;
&lt;br /&gt;
2) Understand XEP-0214 and Telepathy enough to write a Telepathy Interface Specification for the functionality of XEP-0214.&lt;br /&gt;
&lt;br /&gt;
3) Implementing that interface in Gabble. &lt;br /&gt;
&lt;br /&gt;
4) XEP-0214 only gets you us as far finding out what files a person has.  Step 4 is writing python code to actually retrieve those files, using &lt;br /&gt;
Telepathy&#039;s existing FileTransfer API.&lt;br /&gt;
&lt;br /&gt;
5) Modify the Sugar interface (probably Journal and Neighborhood view) to expose this functionality to the user, i.e to give an option to share a file or not.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
b) : &#039;&#039;&#039;Who are you making it for&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : This will be of immense use for any one associated with sugar be it students, teachers and even developers since allowing such kind of functionalities will truly enhance Sugar&#039;s ability and bring to it a feature which is considered a basic utility in any platform.   &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
c) : &#039;&#039;&#039;Why do they need it &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : A typical use of this application is the transfer of assignments and similar work among students. Their can be many uses of this functionality for other activities as sharing has been a primary goal for the Sugar Platform. In order to connect the sugar community File Sharing according to me is some thing of prime importance.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
d) : &#039;&#039;&#039;What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Most of the programming will be done in C followed by some part in python too. A major portion of this project will be to understand Telepathy&#039;s existing interfaces therefore Telepathy will be a major technology involved. The GUI will be done using PyGTK. Other technologies involved include D-BUS as the underlying IPC mechanism, GObject etc. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3  : &#039;&#039;&#039;What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; 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 (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Since overall quite a lot of work is involved including learning many new things, therefore I specially aim to use the preiod between filing my application and the actual begining of GSoc to maximum use. I aim to make my self done with Telepathy&#039;s existing source code in this period along with having a first draft of the TP interface to to announce files, retrieves files from contact and request a file in this period only.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Before GSoc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*As a start I will be done with step 1 and step 2 by April 8. Here is the &#039;yet to be complete&#039; [[0-th]] Draft of the TP specification.&lt;br /&gt;
 &lt;br /&gt;
*After this I will be starting with TP&#039;s source code to get a hang of it. This will be finished by maximum by April end.&lt;br /&gt;
&lt;br /&gt;
*I will have 2-3 hours/day ( may lesser on few days) in May to start coding for step 3. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;During Gsoc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Step 3 will be finished maximum by 2nd week of June.&lt;br /&gt;
&lt;br /&gt;
*After this I will start working on the design and the implementation of the GUI required to use the feature of making files public. This task will be done with by the end of 1st week of July.   &lt;br /&gt;
&lt;br /&gt;
*Having done with the GUI Python code will be written to actually retrieve the files. This will be done by the 2nd week of July.&lt;br /&gt;
&lt;br /&gt;
*The rest of the July will be consumed for rigorous testing.&lt;br /&gt;
&lt;br /&gt;
*A buffer of 2 weeks is kept for any kind unpredictable delay.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;After Gsoc&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Find a way to share files locally i.e. via Salut and implement it.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 :  &#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, school work, and that sort of thing, but be creative. Link to prior work or other resources as relevant.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : The biggest asset with this proposal is that this proposal has been a result of intense discussion with developers associated with the parent projects i.e Telepathy and Sugar. Very crucial issues like the viability of the implementation and the actual use of such a project for the Sugar community were taken into account before I actually sat down to write this proposal. Therefore I am very clear about the major tasks that I need to complete. Also I being in constant touch with developers had provided me with a basic approach to actually implement these tasks.&lt;br /&gt;
Regarding the issue of my personal skills to complete this task, I have been involved in a startup which helped me realise how the principles of Software Engineering are actually brought into action in the real world. Other then this most of the work I am doing in this startup is infact in C, the major language I will be using. &lt;br /&gt;
Regarding the Python I have done many small/mid-sized projects which make use of each of the libraries I will be needing to conceptualise this proposal. I have also done few projects which were specifically addressing the File sharing (and transfer). This again brings clarity of the process involved.&lt;br /&gt;
Other then this my wish to contribute to the Open Source community in any way possible (Gsoc or no Gsoc) will be the biggest inspiration that will make me complete this project.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====You and the community====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; From myself :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With the completion of this project a very essential feature will be made available to the Sugar Platform. Having the freedom of sharing with anyone any time is essential for such a platform and this project essentially achieves that. Other than this it opens the door for other developers to make creative use of this utility for their own activities. Also it will be a way for Sugar to payback to the Telepathy Community which it makes use of for so many of its needs :)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; From Benjamin M. Schwartz : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;So what I mean is, this feature, file sharing, has been part of the Sugar design since before Sugar existed.&amp;quot; &lt;br /&gt;
This was said in reference to the discussion : http://lists.sugarlabs.org/archive/sugar-devel/2007-August/003323.html &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; From Andrés Ambrois :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If this project succeeds it will be providing a very important missing piece in Sugar&#039;s vision of a learning environment, encouraging content creation and distribution in a local, peer-based fashion. &lt;br /&gt;
&lt;br /&gt;
From my experience here in Uruguay, the collaboration possibilities are being largely ignored in the classroom, partially because of infrastructure problems, but also because of the lack of semantically basic functions such as this. &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I would like the deployment to be at a near by Government school for the poor since they are the students that are usually isolated from the strength of electronic education and hence have the maximum curiosity to learn. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#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;
Ans : I will do the following things in the same order: &lt;br /&gt;
# Search about it Google&lt;br /&gt;
# Ask people on the mailing list and IRC for the solution&lt;br /&gt;
# Will go through the various discussion forums  &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#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;
Ans : I will do the following things : &lt;br /&gt;
# Updating the project wiki&lt;br /&gt;
# Sending regular updates on the mailing list &lt;br /&gt;
# Ping IRC and asking users/developers for review &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous====&lt;br /&gt;
[[Image:New-developer-challenge.png|thumb|right|An example of the kind of screenshot of your first modification to your development environment which you should include in your application. Note that the drop-down menu text has Mel&#039;s email address in place of the word &amp;quot;Restart&amp;quot; - your screenshot should contain your email instead.]]&lt;br /&gt;
# We want to make sure that you can set up a [[DevelopmentTeam#Development_systems|development environment]] before the summer starts. Please 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;Restart.&amp;quot; See the image on the right for an example. 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;
Ans : [[http://p2p-lan.googlecode.com/files/sugar_prerequisite.png  Here is the prerequisite]]&lt;br /&gt;
&lt;br /&gt;
Q.6 :  What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)&lt;br /&gt;
&lt;br /&gt;
Ans : XL&lt;br /&gt;
&lt;br /&gt;
# Describe a great learning experience you had as a child.&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;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:2009 GSoC applications]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=24228</id>
		<title>File Sharing Utility</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=24228"/>
		<updated>2009-03-27T23:09:34Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====About you====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Kartik Rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911 [AT] gmail [DOT] com&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#039;&#039;&#039;What is your IRC nickname?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kartik_rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.5 : &#039;&#039;&#039;What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : English and Hindi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.6 : &#039;&#039;&#039;Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Located in New Delhi, India, UTC +530. &lt;br /&gt;
Since most of the period of Gsoc comes at a time of summer vacation for me, therefore I am comfortable working at any time of the day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q.7 : &#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I have done the following relevant work:&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Implemented 7-zip compressed commics support in Evince Document Viewer, Gnome   Bug: #532312&lt;br /&gt;
  * Link: http://ftp.gnome.org/pub/GNOME/desktop/2.23/2.23.5/NEWS&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Was involved in the designing of a Joint Architecture for Unmanned Systems (JAUS) compliant Software Development Kit as a part of a startup I am co-founder off. Things I worked on (all in c/c++):&lt;br /&gt;
  * Unix System calls&lt;br /&gt;
  * Unix,UDP and TCP sockets&lt;br /&gt;
  * Threads, semaphores and mutex.&lt;br /&gt;
  * Design of the architecture which involved making UMLs&lt;br /&gt;
  * Object oriented designing &lt;br /&gt;
I cant provide the link to the source code since the work if proprietary. &lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Designed and implemented an Asynchronous Information Dissemination System using Delay Tolerant Networks. Was selected in the top 12 teams from Asia Pacific by Google as a part of Google Product Prodigy. The finals will take place in April.&lt;br /&gt;
  * Link: http://www.google.co.in/intl/en/productprodigy/finalists.html  &lt;br /&gt;
  * Team: Mobile Health&lt;br /&gt;
  * Here specifically a lot of PyGtk was used along with XML DOM, imaplib, smtplib etc.&lt;br /&gt;
TODO: Ask Google if the source code can be made public.&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Implemented a peer-to-peer file search and transfer utility in python. It had the following main features:&lt;br /&gt;
    #Remote discovery of active peers&lt;br /&gt;
    #File search queries using Multicast and File transfer&lt;br /&gt;
    #Object matching using regular expressions&lt;br /&gt;
    #Link: http://code.google.com/p/p2p-lan/downloads/list&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Made a distributed game based on Flash and Python and used Asynchronous servers, Mysql db, DOM in its design and implementation.&lt;br /&gt;
  #Link: http://code.google.com/p/etheravtar/downloads/list&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====About your project====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : File Sharing Utility&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
a) : &#039;&#039;&#039;What are you making&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : There is a lack of file sharing ability in the Sugar Learning Platform right now. Sugar relies on Telepathy for most of its network requirement. Telepathy in turn uses XMPP Extensions as the bases of their various interfaces. The XMPP Extensions for File Repository and Sharing is XEP:0214 . There is no Telepathy interface for this XEP currently and therefore File Sharing is not their right now. Also the File Transfer API is only to send files at the most, not request them. Therefore there will be a need to design a Telepathy interface to announce files, retrieves files from contact and request a file.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Steps for the complete implementation :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) To design a Telepathy interface to announce files, retrieves files from contact and request a file.&lt;br /&gt;
&lt;br /&gt;
2) Understand XEP-0214 and Telepathy enough to write a Telepathy Interface Specification for the functionality of XEP-0214.&lt;br /&gt;
&lt;br /&gt;
3) Implementing that interface in Gabble. &lt;br /&gt;
&lt;br /&gt;
4) XEP-0214 only gets you us as far finding out what files a person has.  Step 4 is writing python code to actually retrieve those files, using &lt;br /&gt;
Telepathy&#039;s existing FileTransfer API.&lt;br /&gt;
&lt;br /&gt;
5) Modify the Sugar interface (probably Journal and Neighborhood view) to expose this functionality to the user, i.e to give an option to share a file or not.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
b) : &#039;&#039;&#039;Who are you making it for&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : This will be of immense use for any one associated with sugar be it students, teachers and even developers since allowing such kind of functionalities will truly enhance Sugar&#039;s ability and bring to it a feature which is considered a basic utility in any platform.   &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
c) : &#039;&#039;&#039;Why do they need it &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : A typical use of this application is the transfer of assignments and similar work among students. Their can be many uses of this functionality for other activities as sharing has been a primary goal for the Sugar Platform. In order to connect the sugar community File Sharing according to me is some thing of prime importance.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
d) : &#039;&#039;&#039;What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Most of the programming will be done in C followed by some part in python too. A major portion of this project will be to understand Telepathy&#039;s existing interfaces therefore Telepathy will be a major technology involved. The GUI will be done using PyGTK. Other technologies involved include D-BUS as the underlying IPC mechanism, GObject etc. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3  : &#039;&#039;&#039;What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; 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 (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Since overall quite a lot of work is involved including learning many new things, therefore I specially aim to use the preios between filing my application and the actual begining of GSoc to maximum use. I aim to make my self done with Telepathy&#039;s existing source code in this period along with having a first draft of the TP interface to to announce files, retrieves files from contact and request a file in this period only.&lt;br /&gt;
&lt;br /&gt;
TODO: Detail of the timeline in the official Gsoc period to be finalised after more discussion with developers. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 :  &#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, school work, and that sort of thing, but be creative. Link to prior work or other resources as relevant.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : The biggest asset with this proposal is that this proposal has been a result of intense discussion with developers associated with the parent projects i.e Telepathy and Sugar. Very crucial issues like the viability of the implementation and the actual use of such a project for the Sugar community were taken into account before I actually sat down to write this proposal. Therefore I am very clear about the major tasks that I need to complete. Also I being in constant touch with developers had provided me with a basic approach to actually implement these tasks.&lt;br /&gt;
Regarding the issue of my personal skills to complete this task, I have been involved in a startup which helped me realise how the principles of Software Engineering are actually brought into action in the real world. Other then this most of the work I am doing in this startup is infact in C, the major language I will be using. &lt;br /&gt;
Regarding the Python I have done many small/mid-sized projects which make use of each of the libraries I will be needing to conceptualise this proposal. I have also done few projects which were specifically addressing the File sharing (and transfer). This again brings clarity of the process involved.&lt;br /&gt;
Other then this my wish to contribute to the Open Source community in any way possible (Gsoc or no Gsoc) will be the biggest inspiration that will make me complete this project.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====You and the community====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; From myself :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With the completion of this project a very essential feature will be made available to the Sugar Platform. Having the freedom of sharing with anyone any time is essential for such a platform and this project essentially achieves that. Other than this it opens the door for other developers to make creative use of this utility for their own activities. Also it will be a way for Sugar to payback to the Telepathy Community which it makes use of for so many of its needs :)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; From Benjamin M. Schwartz : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;So what I mean is, this feature, file sharing, has been part of the Sugar design since before Sugar existed.&amp;quot; &lt;br /&gt;
This was said in reference to the discussion : http://lists.sugarlabs.org/archive/sugar-devel/2007-August/003323.html &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I would like the deployment to be at a near by Government school for the poor since they are the students that are usually isolated from the strength of electronic education and hence have the maximum curiosity to learn. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#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;
Ans : I will do the following things in the same order: &lt;br /&gt;
# Search about it Google&lt;br /&gt;
# Ask people on the mailing list and IRC for the solution&lt;br /&gt;
# Will go through the various discussion forums  &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#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;
Ans : I will do the following things : &lt;br /&gt;
# Updating the project wiki&lt;br /&gt;
# Sending regular updates on the mailing list &lt;br /&gt;
# Ping IRC and asking users/developers for review &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous====&lt;br /&gt;
[[Image:New-developer-challenge.png|thumb|right|An example of the kind of screenshot of your first modification to your development environment which you should include in your application. Note that the drop-down menu text has Mel&#039;s email address in place of the word &amp;quot;Restart&amp;quot; - your screenshot should contain your email instead.]]&lt;br /&gt;
# We want to make sure that you can set up a [[DevelopmentTeam#Development_systems|development environment]] before the summer starts. Please 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;Restart.&amp;quot; See the image on the right for an example. 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;
Ans : [[http://p2p-lan.googlecode.com/files/sugar_prerequisite.png  Here is the prerequisite]]&lt;br /&gt;
&lt;br /&gt;
Q.6 :  What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)&lt;br /&gt;
&lt;br /&gt;
Ans : Large&lt;br /&gt;
&lt;br /&gt;
# Describe a great learning experience you had as a child.&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;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:2009 GSoC applications]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=24227</id>
		<title>File Sharing Utility</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=24227"/>
		<updated>2009-03-27T23:04:41Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====About you====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Kartik Rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911 [AT] gmail [DOT] com&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#039;&#039;&#039;What is your IRC nickname?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kartik_rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.5 : &#039;&#039;&#039;What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : English and Hindi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.6 : &#039;&#039;&#039;Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Located in New Delhi, India, UTC +530. &lt;br /&gt;
Since most of the period of Gsoc comes at a time of summer vacation for me, therefore I am comfortable working at any time of the day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q.7 : &#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I have done the following relevant work:&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Implemented 7-zip compressed commics support in Evince Document Viewer, Gnome   Bug: #532312&lt;br /&gt;
  * Link: http://ftp.gnome.org/pub/GNOME/desktop/2.23/2.23.5/NEWS&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Was involved in the designing of a Joint Architecture for Unmanned Systems (JAUS) compliant Software Development Kit as a part of a startup I am co-founder off. Things I worked on (all in c/c++):&lt;br /&gt;
  * Unix System calls&lt;br /&gt;
  * Unix,UDP and TCP sockets&lt;br /&gt;
  * Threads, semaphores and mutex.&lt;br /&gt;
  * Design of the architecture which involved making UMLs&lt;br /&gt;
  * Object oriented designing &lt;br /&gt;
I cant provide the link to the source code since the work if proprietary. &lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Designed and implemented an Asynchronous Information Dissemination System using Delay Tolerant Networks. Was selected in the top 12 teams from Asia Pacific by Google as a part of Google Product Prodigy. The finals will take place in April.&lt;br /&gt;
  * Link: http://www.google.co.in/intl/en/productprodigy/finalists.html  &lt;br /&gt;
  * Team: Mobile Health&lt;br /&gt;
  * Here specifically a lot of PyGtk was used along with XML DOM, imaplib, smtplib etc.&lt;br /&gt;
TODO: Ask Google if the source code can be made public.&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Implemented a peer-to-peer file search and transfer utility in python. It had the following main features:&lt;br /&gt;
    #Remote discovery of active peers&lt;br /&gt;
    #File search queries using Multicast and File transfer&lt;br /&gt;
    #Object matching using regular expressions&lt;br /&gt;
    #Link: http://code.google.com/p/p2p-lan/downloads/list&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Made a distributed game based on Flash and Python and used Asynchronous servers, Mysql db, DOM in its design and implementation.&lt;br /&gt;
  #Link: http://code.google.com/p/etheravtar/downloads/list&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====About your project====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : File Sharing Utility&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
a) : &#039;&#039;&#039;What are you making&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : There is a lack of file sharing ability in the Sugar Learning Platform right now. Sugar relies on Telepathy for most of its network requirement. Telepathy in turn uses XMPP Extensions as the bases of their various interfaces. The XMPP Extensions for File Repository and Sharing is XEP:0214 . There is no Telepathy interface for this XEP currently and therefore File Sharing is not their right now. Also the File Transfer API is only to send files at the most, not request them. Therefore there will be a need to design a Telepathy interface to announce files, retrieves files from contact and request a file.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Steps for the complete implementation :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) To design a Telepathy interface to announce files, retrieves files from contact and request a file.&lt;br /&gt;
&lt;br /&gt;
2) Understand XEP-0214 and Telepathy enough to write a Telepathy Interface Specification for the functionality of XEP-0214.&lt;br /&gt;
&lt;br /&gt;
3) Implementing that interface in Gabble. &lt;br /&gt;
&lt;br /&gt;
4) XEP-0214 only gets you us as far finding out what files a person has.  Step 4 is writing python code to actually retrieve those files, using &lt;br /&gt;
Telepathy&#039;s existing FileTransfer API.&lt;br /&gt;
&lt;br /&gt;
5) Modify the Sugar interface (probably Journal and Neighborhood view) to expose this functionality to the user, i.e to give an option to share a file or not.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
b) : &#039;&#039;&#039;Who are you making it for&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : This will be of immense use for any one associated with sugar be it students, teachers and even developers since allowing such kind of functionalities will truly enhance Sugar&#039;s ability and bring to it a feature which is considered a basic utility in any platform.   &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
c) : &#039;&#039;&#039;Why do they need it &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : A typical use of this application is the transfer of assignments and similar work among students. Their can be many uses of this functionality for other activities as sharing has been a primary goal for the Sugar Platform. In order to connect the sugar community File Sharing according to me is some thing of prime importance.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
d) : &#039;&#039;&#039;What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Most of the programming will be done in C followed by some part in python too. A major portion of this project will be to understand Telepathy&#039;s existing interfaces therefore Telepathy will be a major technology involved. The GUI will be done using PyGTK. Other technologies involved include D-BUS as the underlying IPC mechanism, GObject etc. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3  : &#039;&#039;&#039;What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; 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 (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Since overall quite a lot of work is involved including learning many new things, therefore I specially aim to use the preios between filing my application and the actual begining of GSoc to maximum use. I aim to make my self done with Telepathy&#039;s existing source code in this period along with having a first draft of the TP interface to to announce files, retrieves files from contact and request a file in this period only.&lt;br /&gt;
&lt;br /&gt;
TODO: Detail of the timeline in the official Gsoc period to be finalised after more discussion with developers. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 :  &#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, school work, and that sort of thing, but be creative. Link to prior work or other resources as relevant.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : The biggest asset with this proposal is that this proposal has been a result of intense discussion with developers associated with the parent projects i.e Telepathy and Sugar. Very crucial issues like the viability of the implementation and the actual use of such a project for the Sugar community were taken into account before I actually sat down to write this proposal. Therefore I am very clear about the major tasks that I need to complete. Also I being in constant touch with developers had provided me with a basic approach to actually implement these tasks.&lt;br /&gt;
Regarding the issue of my personal skills to complete this task, I have been involved in a startup which helped me realise how the principles of Software Engineering are actually brought into action in the real world. Other then this most of the work I am doing in this startup is infact in C, the major language I will be using. &lt;br /&gt;
Regarding the Python I have done many small/mid-sized projects which make use of each of the libraries I will be needing to conceptualise this proposal. I have also done few projects which were specifically addressing the File sharing (and transfer). This again brings clarity of the process involved.&lt;br /&gt;
Other then this my wish to contribute to the Open Source community in any way possible (Gsoc or no Gsoc) will be the biggest inspiration that will make me complete this project.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====You and the community====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; From myself :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With the completion of this project a very essential feature will be made available to the Sugar Platform. Having the freedom of sharing with anyone any time is essential for such a platform and this project essentially achieves that. Other than this it opens the door for other developers to make creative use of this utility for their own activities. Also it will be a way for Sugar to payback to the Telepathy Community which it makes use of for so many of its needs :)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; From Benjamin M. Schwartz : &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;So what I mean is, this feature, file sharing, has been part of the Sugar design since before Sugar existed.&amp;quot; &lt;br /&gt;
This was said in reference to the discussion : http://lists.sugarlabs.org/archive/sugar-devel/2007-August/003323.html &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I would like the deployment to be at a near by Government school for the poor since they are the students that are usually isolated from the strength of electronic education and hence have the maximum curiosity to learn. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#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;
Ans : I will do the following things in the same order: &lt;br /&gt;
# Search about it Google&lt;br /&gt;
# Ask people on the mailing list and IRC for the solution&lt;br /&gt;
# Will go through the various discussion forums  &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#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;
Ans : I will do the following things : &lt;br /&gt;
# Updating the project wiki&lt;br /&gt;
# Sending regular updates on the mailing list &lt;br /&gt;
# Ping IRC and asking users/developers for review &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous====&lt;br /&gt;
[[Image:New-developer-challenge.png|thumb|right|An example of the kind of screenshot of your first modification to your development environment which you should include in your application. Note that the drop-down menu text has Mel&#039;s email address in place of the word &amp;quot;Restart&amp;quot; - your screenshot should contain your email instead.]]&lt;br /&gt;
# We want to make sure that you can set up a [[DevelopmentTeam#Development_systems|development environment]] before the summer starts. Please 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;Restart.&amp;quot; See the image on the right for an example. 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;
Ans : [[http://p2p-lan.googlecode.com/files/sugar_prerequisite.png]]&lt;br /&gt;
&lt;br /&gt;
Q.6 :  What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)&lt;br /&gt;
&lt;br /&gt;
Ans : Large&lt;br /&gt;
&lt;br /&gt;
# Describe a great learning experience you had as a child.&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;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:2009 GSoC applications]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=24150</id>
		<title>File Sharing Utility</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=24150"/>
		<updated>2009-03-27T03:52:05Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====About you====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Kartik Rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911 [AT] gmail [DOT] com&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#039;&#039;&#039;What is your IRC nickname?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kartik_rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.5 : &#039;&#039;&#039;What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : English and Hindi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.6 : &#039;&#039;&#039;Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Located in New Delhi, India, UTC +530. &lt;br /&gt;
Since most of the period of Gsoc comes at a time of summer vacation for me, therefore I am comfortable working at any time of the day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q.7 : &#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I have done the following relevant work:&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Implemented 7-zip compressed commics support in Evince Document Viewer, Gnome   Bug: #532312&lt;br /&gt;
  * Link: http://ftp.gnome.org/pub/GNOME/desktop/2.23/2.23.5/NEWS&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Was involved in the designing of a Joint Architecture for Unmanned Systems (JAUS) compliant Software Development Kit as a part of a startup I am co-founder off. Things I worked on (all in c/c++):&lt;br /&gt;
  * Unix System calls&lt;br /&gt;
  * Unix,UDP and TCP sockets&lt;br /&gt;
  * Threads, semaphores and mutex.&lt;br /&gt;
  * Design of the architecture which involved making UMLs&lt;br /&gt;
  * Object oriented designing &lt;br /&gt;
I cant provide the link to the source code since the work if proprietary. &lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Designed and implemented an Asynchronous Information Dissemination System using Delay Tolerant Networks. Was selected in the top 12 teams from Asia Pacific by Google as a part of Google Product Prodigy. The finals will take place in April.&lt;br /&gt;
  * Link: http://www.google.co.in/intl/en/productprodigy/finalists.html  &lt;br /&gt;
  * Team: Mobile Health&lt;br /&gt;
  * Here specifically a lot of PyGtk was used along with XML DOM, imaplib, smtplib etc.&lt;br /&gt;
TODO: Ask Google if the source code can be made public.&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Implemented a peer-to-peer file search and transfer utility in python. It had the following main features:&lt;br /&gt;
    #Remote discovery of active peers&lt;br /&gt;
    #File search queries using Multicast and File transfer&lt;br /&gt;
    #Object matching using regular expressions&lt;br /&gt;
    #Link: http://code.google.com/p/p2p-lan/downloads/list&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Made a distributed game based on Flash and Python and used Asynchronous servers, Mysql db, DOM in its design and implementation.&lt;br /&gt;
  #Link: http://code.google.com/p/etheravtar/downloads/list&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====About your project====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : File Sharing Utility&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
a) : &#039;&#039;&#039;What are you making&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : There is a lack of file sharing ability in the Sugar Learning Platform right now. Sugar relies on Telepathy for most of its network requirement. Telepathy in turn uses XMPP Extensions as the bases of their various interfaces. The XMPP Extensions for File Repository and Sharing is XEP:0214 . There is no Telepathy interface for this XEP currently and therefore File Sharing is not their right now. Also the File Transfer API is only to send files at the most, not request them. Therefore there will be a need to design a Telepathy interface to announce files, retrieves files from contact and request a file.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Steps for the complete implementation :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) To design a Telepathy interface to announce files, retrieves files from contact and request a file.&lt;br /&gt;
&lt;br /&gt;
2) Understand XEP-0214 and Telepathy enough to write a Telepathy Interface Specification for the functionality of XEP-0214.&lt;br /&gt;
&lt;br /&gt;
3) Implementing that interface in Gabble. &lt;br /&gt;
&lt;br /&gt;
4) XEP-0214 only gets you us as far finding out what files a person has.  Step 4 is writing python code to actually retrieve those files, using &lt;br /&gt;
Telepathy&#039;s existing FileTransfer API.&lt;br /&gt;
&lt;br /&gt;
5) Modify the Sugar interface (probably Journal and Neighborhood view) to expose this functionality to the user, i.e to give an option to share a file or not.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
b) : &#039;&#039;&#039;Who are you making it for&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : This will be of immense use for any one associated with sugar be it students, teachers and even developers since allowing such kind of functionalities will truly enhance Sugar&#039;s ability and bring to it a feature which is considered a basic utility in any platform.   &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
c) : &#039;&#039;&#039;Why do they need it &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : A typical use of this application is the transfer of assignments and similar work among students. Their can be many uses of this functionality for other activities as sharing has been a primary goal for the Sugar Platform. In order to connect the sugar community File Sharing according to me is some thing of prime importance.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
d) : &#039;&#039;&#039;What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Most of the programming will be done in C followed by some part in python too. A major portion of this project will be to understand Telepathy&#039;s existing interfaces therefore Telepathy will be a major technology involved. The GUI will be done using PyGTK. Other technologies involved include D-BUS as the underlying IPC mechanism, GObject etc. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3  : &#039;&#039;&#039;What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; 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 (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Since overall quite a lot of work is involved including learning many new things, therefore I specially aim to use the preios between filing my application and the actual begining of GSoc to maximum use. I aim to make my self done with Telepathy&#039;s existing source code in this period along with having a first draft of the TP interface to to announce files, retrieves files from contact and request a file in this period only.&lt;br /&gt;
&lt;br /&gt;
TODO: Detail of the timeline in the official Gsoc period to be finalised after more discussion with developers. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 :  &#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, school work, and that sort of thing, but be creative. Link to prior work or other resources as relevant.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : The biggest asset with this proposal is that this proposal has been a result of intense discussion with developers associated with the parent projects i.e Telepathy and Sugar. Very crucial issues like the viability of the implementation and the actual use of such a project for the Sugar community were taken into account before I actually sat down to write this proposal. Therefore I am very clear about the major tasks that I need to complete. Also I being in constant touch with developers had provided me with a basic approach to actually implement these tasks.&lt;br /&gt;
Regarding the issue of my personal skills to complete this task, I have been involved in a startup which helped me realise how the principles of Software Engineering are actually brought into action in the real world. Other then this most of the work I am doing in this startup is infact in C, the major language I will be using. &lt;br /&gt;
Regarding the Python I have done many small/mid-sized projects which make use of each of the libraries I will be needing to conceptualise this proposal. I have also done few projects which were specifically addressing the File sharing (and transfer). This again brings clarity of the process involved.&lt;br /&gt;
Other then this my wish to contribute to the Open Source community in any way possible (Gsoc or no Gsoc) will be the biggest inspiration that will make me complete this project.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====You and the community====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : With the completion of this project a very essential feature will be made available to the Sugar Platform. Having the freedom of sharing with anyone any time is essential for such a platform and this project essentially achieves that. Other than this it opens the door for other developers to make creative use of this utility for their own activities. Also it will be a way for Sugar to payback to the Telepathy Community which it makes use of for so many of its needs :)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I would like the deployment to be at a near by Government school for the poor since they are the students that are usually isolated from the strength of electronic education and hence have the maximum curiosity to learn. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#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;
Ans : I will do the following things in the same order: &lt;br /&gt;
# Search about it Google&lt;br /&gt;
# Ask people on the mailing list and IRC for the solution&lt;br /&gt;
# Will go through the various discussion forums  &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#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;
Ans : I will do the following things : &lt;br /&gt;
# Updating the project wiki&lt;br /&gt;
# Sending regular updates on the mailing list &lt;br /&gt;
# Ping IRC and asking users/developers for review &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous====&lt;br /&gt;
[[Image:New-developer-challenge.png|thumb|right|An example of the kind of screenshot of your first modification to your development environment which you should include in your application. Note that the drop-down menu text has Mel&#039;s email address in place of the word &amp;quot;Restart&amp;quot; - your screenshot should contain your email instead.]]&lt;br /&gt;
# We want to make sure that you can set up a [[DevelopmentTeam#Development_systems|development environment]] before the summer starts. Please 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;Restart.&amp;quot; See the image on the right for an example. 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;
Ans : [[http://p2p-lan.googlecode.com/files/sugar_prerequisite.png]]&lt;br /&gt;
&lt;br /&gt;
Q.6 :  What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)&lt;br /&gt;
&lt;br /&gt;
Ans : Large&lt;br /&gt;
&lt;br /&gt;
# Describe a great learning experience you had as a child.&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;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:2009 GSoC applications]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Talk:File_Sharing_Utility&amp;diff=24051</id>
		<title>Talk:File Sharing Utility</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Talk:File_Sharing_Utility&amp;diff=24051"/>
		<updated>2009-03-26T01:07:13Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Looks pretty good overall. One small question: do you intend to try to integrate glade-based interfaces with existing journal interfaces (non-glade-based)? [[User:Homunq|Homunq]] 02:51, 24 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Reply : Thanks Homunq for reviewing it. On thorough research I found out that making glade work on Sugar will be a big project in it self. Therefore sue to fixed schedule of the Gsoc I wont be doing that. I definitely will like to work on such a project though after Gsoc as it will greatly improve development experience on Sugar. PyGTK for now ! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Why not try to us Telepathy for the sharing? [[User:BryanWB|BryanWB]] 11:03, 24 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Reply : Thanks BryanWB for spending time to review my application. Telepathy will indeed be used for many purposes. I will be detailing on it in the proposal shortly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I will appreciate any kind of queries/recommendation on my application.&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Talk:File_Sharing_Utility&amp;diff=24050</id>
		<title>Talk:File Sharing Utility</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Talk:File_Sharing_Utility&amp;diff=24050"/>
		<updated>2009-03-26T01:06:40Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Looks pretty good overall. One small question: do you intend to try to integrate glade-based interfaces with existing journal interfaces (non-glade-based)? [[User:Homunq|Homunq]] 02:51, 24 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Reply : Thanks Homonuq for reviewing it. On thorough research I found out that making glade work on Sugar will be a big project in it self. Therefore sue to fixed schedule of the Gsoc I wont be doing that. I definitely will like to work on such a project though after Gsoc as it will greatly improve development experience on Sugar. PyGTK for now ! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Why not try to us Telepathy for the sharing? [[User:BryanWB|BryanWB]] 11:03, 24 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Reply : Thanks BryanWB for spending time to review my application. Telepathy will indeed be used for many purposes. I will be detailing on it in the proposal shortly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I will appreciate any kind of queries/recommendation on my application.&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Talk:File_Sharing_Utility&amp;diff=23986</id>
		<title>Talk:File Sharing Utility</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Talk:File_Sharing_Utility&amp;diff=23986"/>
		<updated>2009-03-25T06:48:47Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Looks pretty good overall. One small question: do you intend to try to integrate glade-based interfaces with existing journal interfaces (non-glade-based)? [[User:Homunq|Homunq]] 02:51, 24 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Reply : Thanks Homonuq for reviewing it. On thorough research I found out that making glade work on Sugar will be a big project in it self. Therefore sue to fixed schedule of the Gsoc I wont be doing that. I definitely will like to work on such a project though after Gsoc as it will greatly improve development experience on Sugar. PyGTK for now ! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Why not try to us Telepathy for the sharing? [[User:BryanWB|BryanWB]] 11:03, 24 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Reply : Thanks BryanWB for spending time to review my application. Telepathy will indeed be used for many purposes. I will be detailing on it in the proposal shortly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I will invite any kind of queries/recommendation on my application.&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=23918</id>
		<title>File Sharing Utility</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=23918"/>
		<updated>2009-03-24T17:24:49Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====About you====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Kartik Rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911 [AT] gmail [DOT] com&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#039;&#039;&#039;What is your IRC nickname?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kartik_rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.5 : &#039;&#039;&#039;What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : English and Hindi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.6 : &#039;&#039;&#039;Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Located in New Delhi, India, UTC +530. &lt;br /&gt;
Since most of the period of Gsoc comes at a time of summer vacation for me, therefore I am comfortable working at any time of the day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q.7 : &#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I have done the following relevant work:&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Implemented 7-zip compressed commics support in Evince Document Viewer, Gnome   Bug: #532312&lt;br /&gt;
  #Link: http://ftp.gnome.org/pub/GNOME/desktop/2.23/2.23.5/NEWS&lt;br /&gt;
-&amp;gt;Implemented a peer-to-peer file search and transfer utility in python. It had the following main features:&lt;br /&gt;
    #Remote discovery of active peers&lt;br /&gt;
    #File search queries using Multicast and File transfer&lt;br /&gt;
    #Object matching using regular expressions&lt;br /&gt;
    #Link: http://code.google.com/p/p2p-lan/downloads/list&lt;br /&gt;
-&amp;gt;Made a distributed game based on Flash and Python and used Asynchronous servers, Mysql db, DOM in its design and implementation.&lt;br /&gt;
  #Link: http://code.google.com/p/etheravtar/downloads/list&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====About your project====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : File Sharing Utility&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
a) : &#039;&#039;&#039;What are you making&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : There is a lack of file sharing activity in the Sugar Learning Platform, which is quite a roadblock when it comes to the remote sharing of files present in the Journal. There has been some work done with respect to this in Sucrose 0.84 release[1]. But it has very limited and restricted option of only sharing of files among friends with no other capabilities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Features&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Shared folders which will contain files to be shared&lt;br /&gt;
#Sharing among peers in LAN and Internet&lt;br /&gt;
#File search query among shared folders of active peers&lt;br /&gt;
#Show active peers via remote discovery&lt;br /&gt;
#Easy to use Interface to carry out these functionalities&lt;br /&gt;
&lt;br /&gt;
Other addition which I aim to make to this project outside the paradigm of Google Summer of Code includes:&lt;br /&gt;
Multiple downloads simultaneously&lt;br /&gt;
#API to be used by third party applications&lt;br /&gt;
#Dbus Interface &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
b) : &#039;&#039;&#039;Who are you making it for&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Primary, Secondary and Higher Secondary Students and Teachers. At a later stage it will be of immense use to developers too.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
c) : &#039;&#039;&#039;Why do they need it &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : A typical use of this application is the transfer of assignments and similar work among students. There can be many uses of this activity for other activities as well as sharing has been a primary goal for the Sugar Platform.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
d) : &#039;&#039;&#039;What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : This project will be started from scratch since their will be a complete rework to the existing file sharing utility in Sucrose 0.84. As most of networking in sugar uses XMPP protocol, hence all the data whether metadata or actual data will be sent in accordance to the XMPP specifications. Major technologies that will be used includes XML, Data Object Model (DOM), Socket Programming, Regular Expressions, GTK, Glade Interface Designer, Twisted libraries and few others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3  : &#039;&#039;&#039;What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; 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 (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Before the official program starts I would have made my self comfortable with the Sugar environment and as a prerequisite would have gone through the XMPP specification. The basic development approach will be to design the GUI and write the functionalities simultaneously. Here is the division of my work per week:&lt;br /&gt;
&lt;br /&gt;
Week 1: Design the basic framework of the application. Start coding of the GUI and as I move on, will keep on adding functionalities to           This week will require substantial communication with my mentor.&lt;br /&gt;
&lt;br /&gt;
Week 2: Enable the task of shared folders and estabilishment of the basic protocol for peer lookup. After this the feature of remote discovery will be done in LAN.&lt;br /&gt;
&lt;br /&gt;
Week 3: The task of remote discovery on the Internet will also be completed in this week and other 	miscellaneous backend task of the whole framework will be done with.&lt;br /&gt;
 &lt;br /&gt;
Week 4:Will be done with the tasks of file search query and file transfer on LAN.&lt;br /&gt;
&lt;br /&gt;
Week 5: This week will mainly be concentrated on extending most of the work on Internet.&lt;br /&gt;
&lt;br /&gt;
Week 6: This week will be utilized for exaustive testing.&lt;br /&gt;
&lt;br /&gt;
Week 7: Final compilation of the whole work with small alterations will be done.&lt;br /&gt;
&lt;br /&gt;
TODO: This list needs to have a lot of changes after having advice from some developers.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 :  &#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I have quite a lot of experience with all the technologies that will be involved with this project. Other than this I have done substantial amount of work in Python in the past. My biggest asset which will accelerate the speed of the development process is my prior experience of developing a complete working peer to peer file transfer application in Python which handled many of the tasks I have listed for this project. Some of the key time consuming problems were taken care during the development of this application and I will build up on this experience. I again have done a lot of work with PyGTK which again simplifies the development process for me.Having worked on Linux for three years now makes me have an experience with the basics of Sugar. Also I have sound knowledge of content management systems and thus a lot of time will be saved here too. All these facts makes me competent enough to complete my project with quality in the given time frame.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====You and the community====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : With the completion of this project one of the biggest hurdle of the Sugar Platform will be taken care of. Having the freedom of sharing with anyone any time is essential for such a platform and this project essentially achieves that. Other than this it opens the door for other developers to make creative use of this utility for their own activities.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I would like the deployment to be at a near by Government school for the poor since they are the students that are usually isolated from the strength of electronic education and hence have the maximum curiosity to learn. ----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#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;
Ans : I will do the following things in the same order: &lt;br /&gt;
# Search about it Google&lt;br /&gt;
# Ask people on the mailing list and IRC for the solution&lt;br /&gt;
# Will go through the various discussion forums  &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#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;
Ans : I will do the following things : &lt;br /&gt;
# Updating the project wiki&lt;br /&gt;
# Sending regular updates on the mailing list &lt;br /&gt;
# Ping IRC and asking users/developers for review &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous====&lt;br /&gt;
[[Image:New-developer-challenge.png|thumb|right|An example of the kind of screenshot of your first modification to your development environment which you should include in your application. Note that the drop-down menu text has Mel&#039;s email address in place of the word &amp;quot;Restart&amp;quot; - your screenshot should contain your email instead.]]&lt;br /&gt;
# We want to make sure that you can set up a [[DevelopmentTeam#Development_systems|development environment]] before the summer starts. Please 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;Restart.&amp;quot; See the image on the right for an example. 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;
Ans : [[http://p2p-lan.googlecode.com/files/sugar_prerequisite.png]]&lt;br /&gt;
&lt;br /&gt;
Q.6 :  What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)&lt;br /&gt;
&lt;br /&gt;
Ans : Large&lt;br /&gt;
&lt;br /&gt;
# Describe a great learning experience you had as a child.&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;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:2009 GSoC applications]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=23914</id>
		<title>File Sharing Utility</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=23914"/>
		<updated>2009-03-24T16:44:06Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====About you====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Kartik Rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911 [AT] gmail [DOT] com&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#039;&#039;&#039;What is your IRC nickname?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kartik_rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.5 : &#039;&#039;&#039;What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : English and Hindi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.6 : &#039;&#039;&#039;Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Located in New Delhi, India, UTC +530. &lt;br /&gt;
Since most of the period of Gsoc comes at a time of summer vacation for me, therefore I am comfortable working at any time of the day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q.7 : &#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I have done the following relevant work:&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Implemented 7-zip compressed commics support in Evince Document Viewer, Gnome   Bug: #532312&lt;br /&gt;
  #Link: http://ftp.gnome.org/pub/GNOME/desktop/2.23/2.23.5/NEWS&lt;br /&gt;
-&amp;gt;Implemented a peer-to-peer file search and transfer utility in python. It had the following main features:&lt;br /&gt;
    #Remote discovery of active peers&lt;br /&gt;
    #File search queries using Multicast and File transfer&lt;br /&gt;
    #Object matching using regular expressions&lt;br /&gt;
    #Link: http://code.google.com/p/p2p-lan/&lt;br /&gt;
-&amp;gt;Made a distributed game based on Flash and Python and used Asynchronous servers, Mysql db, DOM in its design and implementation.&lt;br /&gt;
  #Link: http://code.google.com/p/etheravtar/&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====About your project====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : File Sharing Utility&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
a) : &#039;&#039;&#039;What are you making&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : There is a lack of file sharing activity in the Sugar Learning Platform, which is quite a roadblock when it comes to the remote sharing of files present in the Journal. There has been some work done with respect to this in Sucrose 0.84 release[1]. But it has very limited and restricted option of only sharing of files among friends with no other capabilities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Features&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Shared folders which will contain files to be shared&lt;br /&gt;
#Sharing among peers in LAN and Internet&lt;br /&gt;
#File search query among shared folders of active peers&lt;br /&gt;
#Show active peers via remote discovery&lt;br /&gt;
#Easy to use Interface to carry out these functionalities&lt;br /&gt;
&lt;br /&gt;
Other addition which I aim to make to this project outside the paradigm of Google Summer of Code includes:&lt;br /&gt;
Multiple downloads simultaneously&lt;br /&gt;
#API to be used by third party applications&lt;br /&gt;
#Dbus Interface &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
b) : &#039;&#039;&#039;Who are you making it for&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Primary, Secondary and Higher Secondary Students and Teachers. At a later stage it will be of immense use to developers too.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
c) : &#039;&#039;&#039;Why do they need it &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : A typical use of this application is the transfer of assignments and similar work among students. There can be many uses of this activity for other activities as well as sharing has been a primary goal for the Sugar Platform.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
d) : &#039;&#039;&#039;What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : This project will be started from scratch since their will be a complete rework to the existing file sharing utility in Sucrose 0.84. As most of networking in sugar uses XMPP protocol, hence all the data whether metadata or actual data will be sent in accordance to the XMPP specifications. Major technologies that will be used includes XML, Data Object Model (DOM), Socket Programming, Regular Expressions, GTK, Glade Interface Designer, Twisted libraries and few others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3  : &#039;&#039;&#039;What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; 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 (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Before the official program starts I would have made my self comfortable with the Sugar environment and as a prerequisite would have gone through the XMPP specification. The basic development approach will be to design the GUI and write the functionalities simultaneously. Here is the division of my work per week:&lt;br /&gt;
&lt;br /&gt;
Week 1: Design the basic framework of the application. Start coding of the GUI and as I move on, will keep on adding functionalities to           This week will require substantial communication with my mentor.&lt;br /&gt;
&lt;br /&gt;
Week 2: Enable the task of shared folders and estabilishment of the basic protocol for peer lookup. After this the feature of remote discovery will be done in LAN.&lt;br /&gt;
&lt;br /&gt;
Week 3: The task of remote discovery on the Internet will also be completed in this week and other 	miscellaneous backend task of the whole framework will be done with.&lt;br /&gt;
 &lt;br /&gt;
Week 4:Will be done with the tasks of file search query and file transfer on LAN.&lt;br /&gt;
&lt;br /&gt;
Week 5: This week will mainly be concentrated on extending most of the work on Internet.&lt;br /&gt;
&lt;br /&gt;
Week 6: This week will be utilized for exaustive testing.&lt;br /&gt;
&lt;br /&gt;
Week 7: Final compilation of the whole work with small alterations will be done.&lt;br /&gt;
&lt;br /&gt;
TODO: This list needs to have a lot of changes after having advice from some developers.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 :  &#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I have quite a lot of experience with all the technologies that will be involved with this project. Other than this I have done substantial amount of work in Python in the past. My biggest asset which will accelerate the speed of the development process is my prior experience of developing a complete working peer to peer file transfer application in Python which handled many of the tasks I have listed for this project. Some of the key time consuming problems were taken care during the development of this application and I will build up on this experience. I again have done a lot of work with PyGTK which again simplifies the development process for me.Having worked on Linux for three years now makes me have an experience with the basics of Sugar. Also I have sound knowledge of content management systems and thus a lot of time will be saved here too. All these facts makes me competent enough to complete my project with quality in the given time frame.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====You and the community====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : With the completion of this project one of the biggest hurdle of the Sugar Platform will be taken care of. Having the freedom of sharing with anyone any time is essential for such a platform and this project essentially achieves that. Other than this it opens the door for other developers to make creative use of this utility for their own activities.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I would like the deployment to be at a near by Government school for the poor since they are the students that are usually isolated from the strength of electronic education and hence have the maximum curiosity to learn. ----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#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;
Ans : I will do the following things in the same order: &lt;br /&gt;
# Search about it Google&lt;br /&gt;
# Ask people on the mailing list and IRC for the solution&lt;br /&gt;
# Will go through the various discussion forums  &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#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;
Ans : I will do the following things : &lt;br /&gt;
# Updating the project wiki&lt;br /&gt;
# Sending regular updates on the mailing list &lt;br /&gt;
# Ping IRC and asking users/developers for review &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous====&lt;br /&gt;
[[Image:New-developer-challenge.png|thumb|right|An example of the kind of screenshot of your first modification to your development environment which you should include in your application. Note that the drop-down menu text has Mel&#039;s email address in place of the word &amp;quot;Restart&amp;quot; - your screenshot should contain your email instead.]]&lt;br /&gt;
# We want to make sure that you can set up a [[DevelopmentTeam#Development_systems|development environment]] before the summer starts. Please 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;Restart.&amp;quot; See the image on the right for an example. 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;
Ans : [[http://p2p-lan.googlecode.com/files/sugar_prerequisite.png]]&lt;br /&gt;
&lt;br /&gt;
Q.6 :  What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)&lt;br /&gt;
&lt;br /&gt;
Ans : Large&lt;br /&gt;
&lt;br /&gt;
# Describe a great learning experience you had as a child.&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;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:2009 GSoC applications]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=23841</id>
		<title>File Sharing Utility</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=23841"/>
		<updated>2009-03-24T04:04:53Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====About you====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Kartik Rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911 [AT] gmail [DOT] com&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#039;&#039;&#039;What is your IRC nickname?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kartik_rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.5 : &#039;&#039;&#039;What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : English and Hindi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.6 : &#039;&#039;&#039;Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Located in New Delhi, India, UTC +530. &lt;br /&gt;
Since most of the period of Gsoc comes at a time of summer vacation for me, therefore I am comfortable working at any time of the day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q.7 : &#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I have done the following relevant work:&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Implemented 7-zip compressed commics support in Evince Document Viewer, Gnome   Bug: #532312&lt;br /&gt;
  #Link: http://ftp.gnome.org/pub/GNOME/desktop/2.23/2.23.5/NEWS&lt;br /&gt;
-&amp;gt;Implemented a peer-to-peer file search and transfer utility in python. It had the following main features:&lt;br /&gt;
    #Remote discovery of active peers&lt;br /&gt;
    #File search queries using Multicast and File transfer&lt;br /&gt;
    #Object matching using regular expressions&lt;br /&gt;
    #Link: http://code.google.com/p/p2p-lan/&lt;br /&gt;
-&amp;gt;Made a distributed game based on Flash and Python and used Asynchronous servers, Mysql db, DOM in its design and implementation.&lt;br /&gt;
  #Link: http://code.google.com/p/etheravtar/&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====About your project====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : File Sharing Utility&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
a) : &#039;&#039;&#039;What are you making&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : There is a lack of file sharing activity in the Sugar Learning Platform, which is quite a roadblock when it comes to the remote sharing of files present in the Journal. There has been some work done with respect to this in Sucrose 0.84 release[1]. But it has very limited and restricted option of only sharing of files among friends with no other capabilities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Features&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Shared folders which will contain files to be shared&lt;br /&gt;
#Sharing among peers in LAN and Internet&lt;br /&gt;
#File search query among shared folders of active peers&lt;br /&gt;
#Show active peers via remote discovery&lt;br /&gt;
#Easy to use Interface to carry out these functionalities&lt;br /&gt;
&lt;br /&gt;
Other addition which I aim to make to this project outside the paradigm of Google Summer of Code includes:&lt;br /&gt;
Multiple downloads simultaneously&lt;br /&gt;
#API to be used by third party applications&lt;br /&gt;
#Dbus Interface &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
b) : &#039;&#039;&#039;Who are you making it for&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Primary, Secondary and Higher Secondary Students and Teachers. At a later stage it will be of immense use to developers too.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
c) : &#039;&#039;&#039;Why do they need it &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : A typical use of this application is the transfer of assignments and similar work among students. There can be many uses of this activity for other activities as well as sharing has been a primary goal for the Sugar Platform.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
d) : &#039;&#039;&#039;What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : This project will be started from scratch since their will be a complete rework to the existing file sharing utility in Sucrose 0.84. As most of networking in sugar uses XMPP protocol, hence all the data whether metadata or actual data will be sent in accordance to the XMPP specifications. Major technologies that will be used includes XML, Data Object Model (DOM), Socket Programming, Regular Expressions, GTK, Glade Interface Designer, Twisted libraries and few others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3  : &#039;&#039;&#039;What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; 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 (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Before the official program starts I would have made my self comfortable with the Sugar environment and as a prerequisite would have gone through the XMPP specification. The basic development approach will be to design the GUI and write the functionalities simultaneously. Here is the division of my work per week:&lt;br /&gt;
&lt;br /&gt;
Week 1: Design the basic framework of the application. Start coding of the GUI and as I move on, will keep on adding functionalities to           This week will require substantial communication with my mentor.&lt;br /&gt;
&lt;br /&gt;
Week 2: Enable the task of shared folders and estabilishment of the basic protocol for peer lookup. After this the feature of remote discovery will be done in LAN.&lt;br /&gt;
&lt;br /&gt;
Week 3: The task of remote discovery on the Internet will also be completed in this week and other 	miscellaneous backend task of the whole framework will be done with.&lt;br /&gt;
 &lt;br /&gt;
Week 4:Will be done with the tasks of file search query and file transfer on LAN.&lt;br /&gt;
&lt;br /&gt;
Week 5: This week will mainly be concentrated on extending most of the work on Internet.&lt;br /&gt;
&lt;br /&gt;
Week 6: This week will be utilized for exaustive testing.&lt;br /&gt;
&lt;br /&gt;
Week 7: Final compilation of the whole work with small alterations will be done.&lt;br /&gt;
&lt;br /&gt;
TODO: This list needs to have a lot of changes after having advice from some developers.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 :  &#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I have quite a lot of experience with all the technologies that will be involved with this project. Other than this I have done substantial amount of work in Python in the past. My biggest asset which will accelerate the speed of the development process is my prior experience of developing a complete working peer to peer file transfer application in Python which handled many of the tasks I have listed for this project. Some of the key time consuming problems were taken care during the development of this application and I will build up on this experience. I again have done a lot of work with PyGTK which again simplifies the development process for me.Having worked on Linux for three years now makes me have an experience with the basics of Sugar. Also I have sound knowledge of content management systems and thus a lot of time will be saved here too. All these facts makes me competent enough to complete my project with quality in the given time frame.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====You and the community====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : With the completion of this project one of the biggest hurdle of the Sugar Platform will be taken care of. Having the freedom of sharing with anyone any time is essential for such a platform and this project essentially achieves that. Other than this it opens the door for other developers to make creative use of this utility for their own activities.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I would like the deployment to be at a near by Government school for the poor since they are the students that are usually isolated from the strength of electronic education and hence have the maximum curiosity to learn. ----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#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;
Ans : I will do the following things in the same order: &lt;br /&gt;
# Search about it Google&lt;br /&gt;
# Ask people on the mailing list and IRC for the solution&lt;br /&gt;
# Will go through the various discussion forums  &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#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;
Ans : I will do the following things : &lt;br /&gt;
# Updating the project wiki&lt;br /&gt;
# Sending regular updates on the mailing list &lt;br /&gt;
# Ping IRC and asking users/developers for review &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous====&lt;br /&gt;
[[Image:New-developer-challenge.png|thumb|right|An example of the kind of screenshot of your first modification to your development environment which you should include in your application. Note that the drop-down menu text has Mel&#039;s email address in place of the word &amp;quot;Restart&amp;quot; - your screenshot should contain your email instead.]]&lt;br /&gt;
# We want to make sure that you can set up a [[DevelopmentTeam#Development_systems|development environment]] before the summer starts. Please 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;Restart.&amp;quot; See the image on the right for an example. 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;
Ans : http://p2p-lan.googlecode.com/files/sugar_prerequisite.png&lt;br /&gt;
&lt;br /&gt;
Q.6 :  What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)&lt;br /&gt;
&lt;br /&gt;
Ans : Large&lt;br /&gt;
&lt;br /&gt;
# Describe a great learning experience you had as a child.&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;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:2009 GSoC applications]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=23749</id>
		<title>File Sharing Utility</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=23749"/>
		<updated>2009-03-23T20:47:22Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====About you====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Kartik Rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911 [AT] gmail [DOT] com&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#039;&#039;&#039;What is your IRC nickname?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kartik_rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.5 : &#039;&#039;&#039;What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : English and Hindi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.6 : &#039;&#039;&#039;Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Located in New Delhi, India, UTC +530. &lt;br /&gt;
Since most of the period of Gsoc comes at a time of summer vacation for me, therefore I am comfortable working at any time of the day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q.7 : &#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I have done the following relevant work:&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Implemented 7-zip compressed commics support in Evince Document Viewer, Gnome   Bug: #532312&lt;br /&gt;
  #Link: http://ftp.gnome.org/pub/GNOME/desktop/2.23/2.23.5/NEWS&lt;br /&gt;
-&amp;gt;Implemented a peer-to-peer file search and transfer utility in python. It had the following main features:&lt;br /&gt;
    #Remote discovery of active peers&lt;br /&gt;
    #File search queries using Multicast and File transfer&lt;br /&gt;
    #Object matching using regular expressions&lt;br /&gt;
    #Link: http://sites.google.com/site/kartikrustagi/Home/main.py?attredirects=0&lt;br /&gt;
-&amp;gt;Made a distributed game based on Flash and Python and used Asynchronous servers, Mysql db, DOM in its design and implementation.&lt;br /&gt;
  #Link:http://sites.google.com/site/kartikrustagi/Home/final_without_crossfire.pyattredirects=0&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====About your project====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : File Sharing Utility&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
a) : &#039;&#039;&#039;What are you making&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : There is a lack of file sharing activity in the Sugar Learning Platform, which is quite a roadblock when it comes to the remote sharing of files present in the Journal. There has been some work done with respect to this in Sucrose 0.84 release[1]. But it has very limited and restricted option of only sharing of files among friends with no other capabilities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Features&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Shared folders which will contain files to be shared&lt;br /&gt;
#Sharing among peers in LAN and Internet&lt;br /&gt;
#File search query among shared folders of active peers&lt;br /&gt;
#Show active peers via remote discovery&lt;br /&gt;
#Easy to use Interface to carry out these functionalities&lt;br /&gt;
&lt;br /&gt;
Other addition which I aim to make to this project outside the paradigm of Google Summer of Code includes:&lt;br /&gt;
Multiple downloads simultaneously&lt;br /&gt;
#API to be used by third party applications&lt;br /&gt;
#Dbus Interface &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
b) : &#039;&#039;&#039;Who are you making it for&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Primary, Secondary and Higher Secondary Students and Teachers. At a later stage it will be of immense use to developers too.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
c) : &#039;&#039;&#039;Why do they need it &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : A typical use of this application is the transfer of assignments and similar work among students. There can be many uses of this activity for other activities as well as sharing has been a primary goal for the Sugar Platform.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
d) : &#039;&#039;&#039;What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : This project will be started from scratch since their will be a complete rework to the existing file sharing utility in Sucrose 0.84. As most of networking in sugar uses XMPP protocol, hence all the data whether metadata or actual data will be sent in accordance to the XMPP specifications. Major technologies that will be used includes XML, Data Object Model (DOM), Socket Programming, Regular Expressions, GTK, Glade Interface Designer, Twisted libraries and few others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3  : &#039;&#039;&#039;What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; 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 (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Before the official program starts I would have made my self comfortable with the Sugar environment and as a prerequisite would have gone through the XMPP specification. The basic development approach will be to design the GUI and write the functionalities simultaneously. Here is the division of my work per week:&lt;br /&gt;
&lt;br /&gt;
Week 1: Design the basic framework of the application. Start coding of the GUI and as I move on, will keep on adding functionalities to           This week will require substantial communication with my mentor.&lt;br /&gt;
&lt;br /&gt;
Week 2: Enable the task of shared folders and estabilishment of the basic protocol for peer lookup. After this the feature of remote discovery will be done in LAN.&lt;br /&gt;
&lt;br /&gt;
Week 3: The task of remote discovery on the Internet will also be completed in this week and other 	miscellaneous backend task of the whole framework will be done with.&lt;br /&gt;
 &lt;br /&gt;
Week 4:Will be done with the tasks of file search query and file transfer on LAN.&lt;br /&gt;
&lt;br /&gt;
Week 5: This week will mainly be concentrated on extending most of the work on Internet.&lt;br /&gt;
&lt;br /&gt;
Week 6: This week will be utilized for exaustive testing.&lt;br /&gt;
&lt;br /&gt;
Week 7: Final compilation of the whole work with small alterations will be done.&lt;br /&gt;
&lt;br /&gt;
TODO: This list needs to have a lot of changes after having advice from some developers.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 :  &#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I have quite a lot of experience with all the technologies that will be involved with this project. Other than this I have done substantial amount of work in Python in the past. My biggest asset which will accelerate the speed of the development process is my prior experience of developing a complete working peer to peer file transfer application in Python which handled many of the tasks I have listed for this project. Some of the key time consuming problems were taken care during the development of this application and I will build up on this experience. I again have done a lot of work with PyGTK which again simplifies the development process for me.Having worked on Linux for three years now makes me have an experience with the basics of Sugar. Also I have sound knowledge of content management systems and thus a lot of time will be saved here too. All these facts makes me competent enough to complete my project with quality in the given time frame.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====You and the community====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : With the completion of this project one of the biggest hurdle of the Sugar Platform will be taken care of. Having the freedom of sharing with anyone any time is essential for such a platform and this project essentially achieves that. Other than this it opens the door for other developers to make creative use of this utility for their own activities.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I would like the deployment to be at a near by Government school for the poor since they are the students that are usually isolated from the strength of electronic education and hence have the maximum curiosity to learn. ----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#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;
Ans : I will do the following things in the same order: &lt;br /&gt;
# Search about it Google&lt;br /&gt;
# Ask people on the mailing list and IRC for the solution&lt;br /&gt;
# Will go through the various discussion forums  &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#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;
Ans : I will do the following things : &lt;br /&gt;
# Updating the project wiki&lt;br /&gt;
# Sending regular updates on the mailing list &lt;br /&gt;
# Ping IRC and asking users/developers for review &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous====&lt;br /&gt;
[[Image:New-developer-challenge.png|thumb|right|An example of the kind of screenshot of your first modification to your development environment which you should include in your application. Note that the drop-down menu text has Mel&#039;s email address in place of the word &amp;quot;Restart&amp;quot; - your screenshot should contain your email instead.]]&lt;br /&gt;
# We want to make sure that you can set up a [[DevelopmentTeam#Development_systems|development environment]] before the summer starts. Please 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;Restart.&amp;quot; See the image on the right for an example. 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;
Q.6 :  What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)&lt;br /&gt;
&lt;br /&gt;
Ans: Large&lt;br /&gt;
&lt;br /&gt;
# Describe a great learning experience you had as a child.&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;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:2009 GSoC applications]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Category:2009_GSoC_applications&amp;diff=23748</id>
		<title>Category:2009 GSoC applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Category:2009_GSoC_applications&amp;diff=23748"/>
		<updated>2009-03-23T20:41:31Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is the list of student applications. Please copy [[Summer of Code/Student application template]] and name your page with your project title, not using your name and not making it a subpage (no / in title).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Category:2009_GSoC_applications&amp;diff=23747</id>
		<title>Category:2009 GSoC applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Category:2009_GSoC_applications&amp;diff=23747"/>
		<updated>2009-03-23T20:40:50Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is the list of student applications. Please copy [[Summer of Code/Student application template]] and name your page with your project title, not using your name and not making it a subpage (no / in title).&lt;br /&gt;
&lt;br /&gt;
*[[File Sharing Utility]]&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=23746</id>
		<title>File Sharing Utility</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File_Sharing_Utility&amp;diff=23746"/>
		<updated>2009-03-23T20:40:32Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: New page: ====About you====  Q.1 : &amp;#039;&amp;#039;&amp;#039;What is your name?&amp;#039;&amp;#039;&amp;#039;  Ans : Kartik Rustagi  ----  Q.2 : &amp;#039;&amp;#039;&amp;#039;What is your email address?&amp;#039;&amp;#039;&amp;#039;  Ans : kashes911 [AT] gmail [DOT] com  ----  Q.3 : &amp;#039;&amp;#039;&amp;#039;What is your Su...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====About you====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is your name?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Kartik Rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;What is your email address?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911 [AT] gmail [DOT] com&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#039;&#039;&#039;What is your Sugar Labs wiki username?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kashes911&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#039;&#039;&#039;What is your IRC nickname?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : kartik_rustagi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.5 : &#039;&#039;&#039;What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you&#039;d prefer.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : English and Hindi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.6 : &#039;&#039;&#039;Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Located in New Delhi, India, UTC +530. &lt;br /&gt;
Since most of the period of Gsoc comes at a time of summer vacation for me, therefore I am comfortable working at any time of the day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q.7 : &#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I have done the following relevant work:&lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Implemented 7-zip compressed commics support in Evince Document Viewer, Gnome   Bug: #532312&lt;br /&gt;
  #Link: http://ftp.gnome.org/pub/GNOME/desktop/2.23/2.23.5/NEWS&lt;br /&gt;
-&amp;gt;Implemented a peer-to-peer file search and transfer utility in python. It had the following main features:&lt;br /&gt;
    #Remote discovery of active peers&lt;br /&gt;
    #File search queries using Multicast and File transfer&lt;br /&gt;
    #Object matching using regular expressions&lt;br /&gt;
    #Link: http://sites.google.com/site/kartikrustagi/Home/main.py?attredirects=0&lt;br /&gt;
-&amp;gt;Made a distributed game based on Flash and Python and used Asynchronous servers, Mysql db, DOM in its design and implementation.&lt;br /&gt;
  #Link:http://sites.google.com/site/kartikrustagi/Home/final_without_crossfire.pyattredirects=0&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====About your project====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : File Sharing Utility&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
a) : &#039;&#039;&#039;What are you making&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : There is a lack of file sharing activity in the Sugar Learning Platform, which is quite a roadblock when it comes to the remote sharing of files present in the Journal. There has been some work done with respect to this in Sucrose 0.84 release[1]. But it has very limited and restricted option of only sharing of files among friends with no other capabilities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Features&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Shared folders which will contain files to be shared&lt;br /&gt;
#Sharing among peers in LAN and Internet&lt;br /&gt;
#File search query among shared folders of active peers&lt;br /&gt;
#Show active peers via remote discovery&lt;br /&gt;
#Easy to use Interface to carry out these functionalities&lt;br /&gt;
&lt;br /&gt;
Other addition which I aim to make to this project outside the paradigm of Google Summer of Code includes:&lt;br /&gt;
Multiple downloads simultaneously&lt;br /&gt;
#API to be used by third party applications&lt;br /&gt;
#Dbus Interface &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
b) : &#039;&#039;&#039;Who are you making it for&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Primary, Secondary and Higher Secondary Students and Teachers. At a later stage it will be of immense use to developers too.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
c) : &#039;&#039;&#039;Why do they need it &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : A typical use of this application is the transfer of assignments and similar work among students. There can be many uses of this activity for other activities as well as sharing has been a primary goal for the Sugar Platform.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
d) : &#039;&#039;&#039;What technologies (programming languages, etc.) will you be using?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : This project will be started from scratch since their will be a complete rework to the existing file sharing utility in Sucrose 0.84. As most of networking in sugar uses XMPP protocol, hence all the data whether metadata or actual data will be sent in accordance to the XMPP specifications. Major technologies that will be used includes XML, Data Object Model (DOM), Socket Programming, Regular Expressions, GTK, Glade Interface Designer, Twisted libraries and few others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.3  : &#039;&#039;&#039;What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; 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 (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : Before the official program starts I would have made my self comfortable with the Sugar environment and as a prerequisite would have gone through the XMPP specification. The basic development approach will be to design the GUI and write the functionalities simultaneously. Here is the division of my work per week:&lt;br /&gt;
&lt;br /&gt;
Week 1: Design the basic framework of the application. Start coding of the GUI and as I move on, will keep on adding functionalities to           This week will require substantial communication with my mentor.&lt;br /&gt;
&lt;br /&gt;
Week 2: Enable the task of shared folders and estabilishment of the basic protocol for peer lookup. After this the feature of remote discovery will be done in LAN.&lt;br /&gt;
&lt;br /&gt;
Week 3: The task of remote discovery on the Internet will also be completed in this week and other 	miscellaneous backend task of the whole framework will be done with.&lt;br /&gt;
 &lt;br /&gt;
Week 4:Will be done with the tasks of file search query and file transfer on LAN.&lt;br /&gt;
&lt;br /&gt;
Week 5: This week will mainly be concentrated on extending most of the work on Internet.&lt;br /&gt;
&lt;br /&gt;
Week 6: This week will be utilized for exaustive testing.&lt;br /&gt;
&lt;br /&gt;
Week 7: Final compilation of the whole work with small alterations will be done.&lt;br /&gt;
&lt;br /&gt;
TODO: This list needs to have a lot of changes after having advice from some developers.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 :  &#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I have quite a lot of experience with all the technologies that will be involved with this project. Other than this I have done substantial amount of work in Python in the past. My biggest asset which will accelerate the speed of the development process is my prior experience of developing a complete working peer to peer file transfer application in Python which handled many of the tasks I have listed for this project. Some of the key time consuming problems were taken care during the development of this application and I will build up on this experience. I again have done a lot of work with PyGTK which again simplifies the development process for me.Having worked on Linux for three years now makes me have an experience with the basics of Sugar. Also I have sound knowledge of content management systems and thus a lot of time will be saved here too. All these facts makes me competent enough to complete my project with quality in the given time frame.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====You and the community====&lt;br /&gt;
&lt;br /&gt;
Q.1 : &#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : With the completion of this project one of the biggest hurde of the Sugar Platform will be taken care of. Having the freedom of sharing with anyone any time is essential for such a platform and this project essentially achieves that. Other than this it opens the door for other developers to make creative use of this utility for their own activities.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.2 : &#039;&#039;&#039;Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ans : I would like the deployment to be at a near by Government school for the poor since they are the students that are usually isolated from the strength of electronic education and hence have the maximum curiosity to learn. ----&lt;br /&gt;
&lt;br /&gt;
Q.3 : &#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;
Ans : I will do the following things in the same order: &lt;br /&gt;
# Search about it Google&lt;br /&gt;
# Ask people on the mailing list and IRC for the solution&lt;br /&gt;
# Will go through the various discussion forums  &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Q.4 : &#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;
Ans : I will do the following things : &lt;br /&gt;
# Updating the project wiki&lt;br /&gt;
# Sending regular updates on the mailing list &lt;br /&gt;
# Ping IRC and asking users/developers for review &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous====&lt;br /&gt;
[[Image:New-developer-challenge.png|thumb|right|An example of the kind of screenshot of your first modification to your development environment which you should include in your application. Note that the drop-down menu text has Mel&#039;s email address in place of the word &amp;quot;Restart&amp;quot; - your screenshot should contain your email instead.]]&lt;br /&gt;
# We want to make sure that you can set up a [[DevelopmentTeam#Development_systems|development environment]] before the summer starts. Please 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;Restart.&amp;quot; See the image on the right for an example. 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;
Q.6 :  What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)&lt;br /&gt;
&lt;br /&gt;
Ans: Large&lt;br /&gt;
&lt;br /&gt;
# Describe a great learning experience you had as a child.&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;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:2009 GSoC applications]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Category:2009_GSoC_applications&amp;diff=23745</id>
		<title>Category:2009 GSoC applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Category:2009_GSoC_applications&amp;diff=23745"/>
		<updated>2009-03-23T19:46:20Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is the list of student applications. Please copy [[Summer of Code/Student application template]] and name your page with your project title, not using your name and not making it a subpage (no / in title).&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Category:2009_GSoC_applications&amp;diff=23744</id>
		<title>Category:2009 GSoC applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Category:2009_GSoC_applications&amp;diff=23744"/>
		<updated>2009-03-23T19:42:22Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is the list of student applications. Please copy [[Summer of Code/Student application template]] and name your page with your project title, not using your name and not making it a subpage (no / in title).&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;br /&gt;
&lt;br /&gt;
[[File Share Utility]]&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Category:2009_GSoC_applications&amp;diff=23743</id>
		<title>Category:2009 GSoC applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Category:2009_GSoC_applications&amp;diff=23743"/>
		<updated>2009-03-23T19:40:53Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is the list of student applications. Please copy [[Summer of Code/Student application template]] and name your page with your project title, not using your name and not making it a subpage (no / in title).&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;br /&gt;
&lt;br /&gt;
*FileShareUtility&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Category:2009_GSoC_applications&amp;diff=23742</id>
		<title>Category:2009 GSoC applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Category:2009_GSoC_applications&amp;diff=23742"/>
		<updated>2009-03-23T19:30:53Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is the list of student applications. Please copy [[Summer of Code/Student application template]] and name your page with your project title, not using your name and not making it a subpage (no / in title).&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Category:2009_GSoC_applications&amp;diff=23741</id>
		<title>Category:2009 GSoC applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Category:2009_GSoC_applications&amp;diff=23741"/>
		<updated>2009-03-23T19:30:28Z</updated>

		<summary type="html">&lt;p&gt;Kashes911: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is the list of student applications. Please copy [[Summer of Code/Student application template]] and name your page with your project title, not using your name and not making it a subpage (no / in title).&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;br /&gt;
&lt;br /&gt;
*FILE TRANSFER&lt;/div&gt;</summary>
		<author><name>Kashes911</name></author>
	</entry>
</feed>