Changes

453 bytes removed ,  19:15, 24 March 2009
no edit summary
Line 30: Line 30:  
* it would make it easier to "sugarify" web apps (like gmail).<br />
 
* it would make it easier to "sugarify" web apps (like gmail).<br />
 
* there are a lot of developers that are familiar with HTML(5), CSS and JavaScript and it would be great to take advantage of their skills.<br />
 
* there are a lot of developers that are familiar with HTML(5), CSS and JavaScript and it would be great to take advantage of their skills.<br />
As a bonus, some things that are hard to do with native GUI toolkits are very easy to do with HTML, like nicely re-flowing text or embedding video/audio/pdf/flash. Pyjamas Desktop (pyjd.org) was created to take advantage of this.<br /><br />
+
Integration of web applications with the desktop is a very useful (and popular) thing to do. Gears, AIR, Prism, HTML 5 and various combinations between them extend the browser with: persistent storage, accessing files, desktop icons, running in a separate window/process, programmatic drawing, etc.<br /><br />
Furthermore, integration of web applications with the desktop is a very useful (and popular) thing to do. Gears, AIR, Prism, HTML 5 and various combinations between them extend the browser with desktop-like abilities: persistent storage, accessing files, desktop icons, running in a separate window/process, etc.<br /><br />
   
There are two main strategies for implementing this:
 
There are two main strategies for implementing this:
# Running a standard site specific browser, as light as possible, that has a local webserver written in python (BaseHTTPServer should suffice) as homepage. It would use AJAX or a wrapper on top of that (like jsonrpc) to provide the bridge to python. Also, as much functionality as possible should be on the html+js side, to keep the toolkit easily hackable by web developers. This version would use Sugar APIs over the python-js bridge for storage, other filesystem access and integration. The biggest downside is that this process could not be automated. Some python code would have to be written.
+
# Running a standard browser, as light as possible, that point to a local BaseHTTPServer. It would use AJAX or a wrapper on top of that (like jsonrpc) to provide the bridge to python. Also, as much functionality as possible should be on the html+js side, to keep the toolkit easily hackable by web developers. The biggest downside is that this process could not be automated. Some python code would have to be written.
# Embed a browser runtime (preferably with hulahop) that has Gears and move over even more things to the html+js side. The activity would be completely standalone and would not depend on a web server anymore. xulrunner has the advantage of a full javascript-python bridge, PyXPCOM. Dbus access through pyxpcom or [http://sandbox.movial.com/wiki/index.php/Browser_DBus_Bridge#WebKit_.28JavaScriptCore.29_version_notes this].<br />
+
# In a small controller application, embed a browser runtime (with hulahop) that has Gears. The resulting activity would be completely standalone and would not depend on a web server anymore. xulrunner has the advantage of a full javascript-python bridge, PyXPCOM. Dbus access through pyxpcom or [http://sandbox.movial.com/wiki/index.php/Browser_DBus_Bridge#WebKit_.28JavaScriptCore.29_version_notes this].<br />
 
I will be focusing on the second stragety.<br />
 
I will be focusing on the second stragety.<br />
 
* 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's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" 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.
 
* 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's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" 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.
158

edits