Changes

33 bytes removed ,  11:10, 31 March 2009
no edit summary
Line 46: Line 46:     
<br />'''Milestones''':
 
<br />'''Milestones''':
# Webified SSB can load a website (hello world)
+
* Webified SSB can load a website (hello world)
:: Requires:  
+
: Requires:  
::: - getting more familiar with Sugar and Browse code
+
:: - getting more familiar with Sugar and Browse code
::: - building the Webified SSB.
+
:: - building the Webified SSB.
:: '''Week 1'''
+
: '''Week 1'''
# Both Browse and Webified SSB can use GMail in offline mode (through Gears)
+
* Both Browse and Webified SSB can use GMail in offline mode (through Gears)
:: Requires:  
+
: Requires:  
::: - getting the Firefox Gears extension working in Browse and the Webified SSB
+
:: - getting the Firefox Gears extension working in Browse and the Webified SSB
:: '''Week 2, at worst 3'''
+
: '''Week 2, at worst 3'''
# Browse (with its utility extension) can successfully "sugarize" GMail and the resulting activity works.
+
* Browse (with its utility extension) can successfully "sugarize" GMail and the resulting activity works.
:: Requires:
+
: Requires:
::: - activity template as host for the Webified SSB
+
:: - activity template as host for the Webified SSB
:::: '''Week 3'''
+
::: '''Week 3'''
::: - python tool that packages up activities, using the activity template
+
:: - python tool that packages up activities, using the activity template
:::: '''Week 3, at worst 4'''
+
::: '''Week 3, at worst 4'''
::: - button in Browse that uses the python tool
+
:: - button in Browse that uses the python tool
:::: '''Week 4'''
+
::: '''Week 4'''
# JavaScript from inside a Webified SSB can call dbus stuff
+
* JavaScript from inside a Webified SSB can call dbus stuff
:: Dbus is vital for good integration, but there may not be enough time in GSoC for making a nice JavaScript-side API. So I will at least provide a javascript-dbus bridge that web developers can build on.
+
: Dbus is vital for good integration, but there may not be enough time in GSoC for making a nice JavaScript-side API. So I will at least provide a javascript-dbus bridge that web developers can build on.
:: Requires investigating:
+
: Requires investigating:
::: - [http://sandbox.movial.com/wiki/index.php/Browser_DBus_Bridge#Gecko_version_notes This] javascript-dbus bridge
+
:: - [http://sandbox.movial.com/wiki/index.php/Browser_DBus_Bridge#Gecko_version_notes This] javascript-dbus bridge
::: - if that is not appropriate, try marshalling calls to Python with [http://en.wikipedia.org/wiki/JSON-RPC JSON-RPC]
+
:: - if that is not appropriate, try marshalling calls to Python with [http://en.wikipedia.org/wiki/JSON-RPC JSON-RPC]
:::: - through PyXPCOM (hulahop). almost as good as a direct bridge
+
::: - through PyXPCOM (hulahop). almost as good as a direct bridge
:::: - through AJAX. sounds like the easiest way, but doing some [http://en.wikipedia.org/wiki/Cross-site_scripting XSS] would be needed
+
::: - through AJAX. sounds like the easiest way, but doing some [http://en.wikipedia.org/wiki/Cross-site_scripting XSS] would be needed
:: '''Week 5'''
+
: '''Week 5'''
    
The remaining time could then be spent on polishing things up and for any eventual emergencies.
 
The remaining time could then be spent on polishing things up and for any eventual emergencies.
    
If I have extra time.
 
If I have extra time.
# Webified SSB can save and resume its state with the Journal.
+
* Webified SSB can save and restore its state with the Journal.
:: Save & resume the browser state. possibilities:
+
: Save & restore the browser state. possibilities:
::: - just save the URL. It may be slower to resume and in fact loses some state, but it should be enough for most cases.
+
:: - just save the URL. It may be slower to resume and in fact loses some state, but it should be enough for most cases.
::: - save the HTML structure. May have trouble with running scripts.
+
:: - save the HTML structure. May have trouble with running scripts.
::: - pickle the WebView. I'm not sure it works, but it may be the  
+
:: - pickle the WebView. I'm not sure it works, but it may be the  
:: Save & resume Gears state
+
: Save & restore Gears state
::: - do nothing. Gears provides resuming state. The only real drawback is that only the latest version will be available to resume. No actual data would be stored in the Journal.
+
:: - do nothing. Gears provides resuming state. The only real drawback is that only the latest version will be available to resume. No actual data would be stored in the Journal.
::: - save the entire Gears profile. Could be very slow for large profiles.
+
:: - save the entire Gears profile. Could be very slow for large profiles.
::: - save just the sqlite database. Could be very slow for large databasesc (GMail).
+
:: - save just the sqlite database. Could be very slow for large databasesc (GMail).
# Build a JavaScript-side API for basic functionality that cannot be achieved easily with HTML and Gears
+
* Build a JavaScript-side API for basic functionality that cannot be achieved easily with HTML and Gears
:: - similar in concept to [http://fluidapp.com/developer/ Fluid's], but tailored for Sugar.
+
: - similar in concept to [http://fluidapp.com/developer/ Fluid's], but tailored for Sugar.
:: - based on the javascript-dbus bridge
+
: - based on the javascript-dbus bridge
# Webified SSB can run a userscript (GreaseMonkey)
+
* Webified SSB can run a userscript (GreaseMonkey)
:: Should be as easy as injecting some JavaScript in the page
+
: Should be as easy as injecting some JavaScript in the page
:: a GUI like the one GreaseMonkey has is outside the scope of this project
+
: a GUI like the one GreaseMonkey has is outside the scope of this project
:: there will be instructions for how to add/remove userscripts
+
: there will be instructions for how to add/remove userscripts
# Webified SSB can use a userstyle (CSS)
+
* Webified SSB can use a userstyle (CSS)
:: again, should be just injecting some CSS
+
: again, should be just injecting some CSS
:: again, no GUI will be provided, just instructions
+
: again, no GUI will be provided, just instructions
    
Beyond GSoC, I would like to keep working on this.
 
Beyond GSoC, I would like to keep working on this.
158

edits