Webified: Difference between revisions

Lucian (talk | contribs)
No edit summary
Lucian (talk | contribs)
No edit summary
Line 45: Line 45:
* '''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.'''


<br />'''Milestones'''. Stuff with + is done
<br />'''Milestones'''
Legend: - todo, + prototype done, # done
* 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)
Line 57: Line 58:
* 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
Line 77: Line 78:
* Webified SSB can save and restore its state with the Journal.
* Webified SSB can save and restore its state with the Journal.
: Save & restore 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.
:: # Browse does this
:: - save the HTML structure. May have trouble with running scripts.
:: - pickle the WebView. I'm not sure it works, but it may be the easiest way
: Save & restore 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 databases (GMail).
:: - save just the sqlite databases. Could be very slow for large databases (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
Line 92: Line 90:
: - 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)
: + a user stylesheet can be made in data/style.user.css
: # a user stylesheet can be made in data/style.user.css
: + there's a GUI for it
: + there's a GUI for it