Changes

Jump to navigation Jump to search
no edit summary
Line 31: Line 31:     
Thus, this project has two parts:
 
Thus, this project has two parts:
1) Design and implement a browser engine abstraction layer in Python with two backends: hulahop/xulrunner and pywebkitgtk/webkit.
+
# Design and implement a browser engine abstraction layer in Python with two backends: hulahop/xulrunner and pywebkitgtk/webkit.
 +
# Port Browse to this new abstraction layer, complete with [[Webified|SSB support]].
   −
2) Port Browse to this new abstraction layer, complete with [[Webified|SSB support]].
+
Since recent efforts to empower browsers like HTML5, Jetpack and the Chrome extension API are minimalistic in nature, the web development world is moving towards engine-independent extensions. Thus, implementing Jetpack/Chrome extensions/similar homegrown API for Browse should be both feasible and would benefit from a wealth of existing code.
 +
 
 +
SSBs are becoming less "web app to replace desktop apps" and more "internet apps to fit better in the desktop". I will design Browse's new SSB support to match this trend.
    
* '''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.'''
 +
Weeks:
 +
# Write prototype of abstraction layer
 +
#* WebView GTK widget that wraps hulahop.WebView or pywebkitgtk.WebView
 +
#* nothing more than WebView.load_uri()
 +
# Simple Browser activity based on the abstraction layer
 +
#* recycle code from Browse & Surf
 +
#* implement missing functionality as needed
 +
# Basic browser functionality
 +
#* DOM access
 +
#* html events mapped to gobject events
 +
# More browser functionality
 +
#* downloads, history
 +
#* user stylesheets
 +
#* browser settings (i.e. proxy)
 +
# Port SSB code from Browse's ssb branch
 +
#* create ssb
 +
#* edit userstyles/usersheets
 +
#* bookmarklets
 +
# More functionality
 +
# Polish
    
* '''Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.'''
 
* '''Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.'''
Line 71: Line 94:  
Web technologies are remarkably flexible and it would be great to encourage students to play around with them.
 
Web technologies are remarkably flexible and it would be great to encourage students to play around with them.
   −
[[Category:2009 GSoC applications]]
+
[[Category:2010 GSoC applications]]
158

edits

Navigation menu