Summer of Code/2010/Abstract Browser: Difference between revisions
No edit summary |
No edit summary |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 33: | Line 33: | ||
# 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]]. | # 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: | Weeks: | ||
# Write prototype of abstraction layer | # Write prototype of abstraction layer | ||
* WebView GTK widget that wraps hulahop.WebView or pywebkitgtk.WebView | #* WebView GTK widget that wraps hulahop.WebView or pywebkitgtk.WebView | ||
* nothing more than WebView.load_uri() | #* nothing more than WebView.load_uri() | ||
# Simple Browser activity based on the abstraction layer | # Simple Browser activity based on the abstraction layer | ||
* recycle code from Browse & Surf | #* recycle code from Browse & Surf | ||
* implement missing functionality as needed | #* implement missing functionality as needed | ||
# Basic browser functionality | # Basic browser functionality | ||
* DOM access | #* DOM access | ||
* html events mapped to gobject events | #* html events mapped to gobject events | ||
# More browser functionality | # More browser functionality | ||
* downloads, history | #* downloads, history | ||
* user stylesheets | #* user stylesheets | ||
* browser settings (i.e. proxy) | #* browser settings (i.e. proxy) | ||
# Port SSB code from Browse's ssb branch | # Port SSB code from Browse's ssb branch | ||
* create ssb | #* create ssb | ||
* edit userstyles/usersheets | #* edit userstyles/usersheets | ||
* bookmarklets | #* bookmarklets | ||
# More functionality | # More functionality | ||
# Polish | # Polish | ||
| Line 68: | Line 72: | ||
Since I was using a lot of open source at home, I tried to push it in school as well. I managed to make students and teachers aware of GCC as a replacement for Borland C/C++, Mono and SharpDevelop as a replacement for the not-quite-free Visual Studio. With the help of a friend, I even managed to convince the head of school to install Ubuntu in one of the labs. | Since I was using a lot of open source at home, I tried to push it in school as well. I managed to make students and teachers aware of GCC as a replacement for Borland C/C++, Mono and SharpDevelop as a replacement for the not-quite-free Visual Studio. With the help of a friend, I even managed to convince the head of school to install Ubuntu in one of the labs. | ||
====You and the community==== | ====You and the community==== | ||