Changes

Jump to navigation Jump to search
1,161 bytes added ,  17:11, 26 March 2009
no edit summary
Line 37: Line 37:  
# Running a standard browser, as light as possible, that points to a small local webserver (SimpleHTTPServer). It would use AJAX or a wrapper on top of that (like jsonrpc) to provide the bridge to python. The biggest downside would be that the SSB would have to call the python backend for persistence and interaction with Sugar. Another problem would be that this process could not easily be automated. Some python code would have to be written for any semi-interesting application. It would also be harder for web developers to hack Webified itself.
 
# Running a standard browser, as light as possible, that points to a small local webserver (SimpleHTTPServer). It would use AJAX or a wrapper on top of that (like jsonrpc) to provide the bridge to python. The biggest downside would be that the SSB would have to call the python backend for persistence and interaction with Sugar. Another problem would be that this process could not easily be automated. Some python code would have to be written for any semi-interesting application. It would also be harder for web developers to hack Webified itself.
 
# In a small controller application, embed a browser runtime (with hulahop). The resulting activity would be completely standalone and would not depend on a web server anymore. Gears would have to be installed as a plugin for xulrunner. Javascript dbus access through pyxpcom or [http://sandbox.movial.com/wiki/index.php/Browser_DBus_Bridge#WebKit_.28JavaScriptCore.29_version_notes this bridge]. It would be very similar to other efforts to bring web apps to the desktop, making it more familiar to web developers and it could also provide better integration.<br />A small utility (probably an extension to the Browser activity) would create activities out of websites.<br />
 
# In a small controller application, embed a browser runtime (with hulahop). The resulting activity would be completely standalone and would not depend on a web server anymore. Gears would have to be installed as a plugin for xulrunner. Javascript dbus access through pyxpcom or [http://sandbox.movial.com/wiki/index.php/Browser_DBus_Bridge#WebKit_.28JavaScriptCore.29_version_notes this bridge]. It would be very similar to other efforts to bring web apps to the desktop, making it more familiar to web developers and it could also provide better integration.<br />A small utility (probably an extension to the Browser activity) would create activities out of websites.<br />
[todo: mention webOS]
   
I will be focusing on the second stragety.<br />
 
I will be focusing on the second stragety.<br />
   Line 59: Line 58:  
I have used JavaScript and HTML to build a small web game, Mousebuster (not online, get it from [http://dl.getdropbox.com/u/317039/mousebuster.zip my dropbox]. Although at first I did not like javascript at all, I quickly realised it's immense advantage: huge existing install base.
 
I have used JavaScript and HTML to build a small web game, Mousebuster (not online, get it from [http://dl.getdropbox.com/u/317039/mousebuster.zip my dropbox]. Although at first I did not like javascript at all, I quickly realised it's immense advantage: huge existing install base.
   −
I also had some contact with C# and Java and have been thoroughly disappointed by their general lack of expressiveness. I did one small schoolwork in C#, that dealt with a [http://dl.getdropbox.com/u/317039/csharp.zip database of students]. Recently, I did another small schoolwork in Java, dealing with a [http://dl.getdropbox.com/u/317039/cricket.zip cricket club]. After finishing each, I was amazed at how much of my code was just boilerplate that I wouldn't have had to write in a more dynamic language.
+
I also had some contact with C# and Java and have been thoroughly disappointed by their general lack of expressiveness. I did one small schoolwork in C#, that dealt with a [http://dl.getdropbox.com/u/317039/csharp.zip database of students]. Recently, I did another small schoolwork in Java, dealing with a [http://dl.getdropbox.com/u/317039/cricket.zip cricket club]. After finishing each, I was amazed at how much of my code was just boilerplate or fighting the type system, code that I wouldn't have had to write in a more dynamic language.
 
  −
 
         
====You and the community====
 
====You and the community====
 
* 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.
 
* 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.
The result of my project would be something akin to Mozilla Prism, but tailored for Sugar. It would allow users to make separate activities out of websites and, if those websites support Gears, also take them offline. It would also allow web developers to more easily develop applications for Sugar.
+
<strong> Myself:</strong> <br />
 +
:The result of my project would be something akin to Mozilla Prism, but tailored for Sugar. It would allow users to make separate activities out of websites and, if those websites support Gears, also take them offline.<br />
 +
:The web is moving towards websites-as-applications and there are many projects to help integrate these new applications with the various desktop environments ([http://en.wikipedia.org/wiki/Adobe_Integrated_Runtime AIR], [http://en.wikipedia.org/wiki/Silverlight#Silverlight_3 Silverlight Out-of-Browser Experience], [http://developer.mozilla.org/en/Prism Mozilla Prism], [http://fluidapp.com Fluid]).
 +
:It would be great to bring these ideas to Sugar, as they would enable easier usage of web applications and in general more orientation towards the web. It would also allow web developers to easily extend those websites to better integrate with Sugar, increasing the developer pool of and raising awareness towards Sugar.
 +
[relevant?]There is also the bold [http://en.wikipedia.org/wiki/Palm_webOS webOS] from Palm, that fully embraces web technologies by making them the default toolkit for building applications for the platform.
 +
 
 
* 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?
 
* 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?
 +
I'm not familiar with schools near where I live, as I am an international student. [Any suggestions?]
 
* What will you do if you get stuck on your project and your mentor isn't around?
 
* What will you do if you get stuck on your project and your mentor isn't around?
 
Google, check sugarlabs/olpc forums/mailing lists/wikis. Ask on #sugar/mailing list.
 
Google, check sugarlabs/olpc forums/mailing lists/wikis. Ask on #sugar/mailing list.
 
Ask other mentors and GSoC students or developers of related open source software.
 
Ask other mentors and GSoC students or developers of related open source software.
 
* 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?  
 
* 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?  
In the worst case emails to my mentor and commits. Maybe I'll set up a blog and use that.
+
In the worst case scenario, just emails to my mentor and commits. IRC has proven itself time and again and I intend to proudly announce any advances made.
 +
I intend to set up a blog and use that as well. Identi.ca or Twitter may also prove useful.
    
====Miscellaneous====
 
====Miscellaneous====
158

edits

Navigation menu