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. |