Line 16: |
Line 16: |
| * Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer? | | * Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer? |
| I've started a small project on freshmeat called statusPidgin that fetched text from various sources and made it a status message in Pidgin. It's now abandoned, but you can find the source [http://linux.softpedia.com/get/Communications/Chat/statusPidgin-31896.shtml on softpedia ]<br /> | | I've started a small project on freshmeat called statusPidgin that fetched text from various sources and made it a status message in Pidgin. It's now abandoned, but you can find the source [http://linux.softpedia.com/get/Communications/Chat/statusPidgin-31896.shtml on softpedia ]<br /> |
− | I have also released one of my school projects as open source (a small web imap/pop3 client) and you can get it from [http://dl.getdropbox.com/u/317039/easymail.zip my dropbox]. I haven't contributed in a significant way to open source projects before, beside bug reports and small patches. <br /> | + | I have also released one of my school projects as open source (a small web imap/pop3 client), but I doubt it's still hostet anywhere. You can get it from [http://dl.getdropbox.com/u/317039/easymail.zip my dropbox]. I haven't contributed in a significant way to open source projects before, beside bug reports and small patches. <br /> |
− | I am a user of open source (linux, KDE, gcc, python, firefox, webkit) and am absolutely delighted by the concept. I am convinced it is the most efficient way of developing software, and perhaps not only.<br /> | + | I am a user of open source (linux, KDE, gcc, python, firefox, webkit) and am absolutely delighted by the concept. I am convinced it is the most efficient way of developing software, and perhaps not only software<br /> |
| I am especially interested in the Sugar project, as I have myself experienced the closed-mindedness that schools instill in their students by teaching them using closed source software. I have been fortunate enough to get some exposure to linux and kde early enough and I would like to help others by showing them the alternatives. | | I am especially interested in the Sugar project, as I have myself experienced the closed-mindedness that schools instill in their students by teaching them using closed source software. I have been fortunate enough to get some exposure to linux and kde early enough and I would like to help others by showing them the alternatives. |
| | | |
Line 31: |
Line 31: |
| Users could press a button in the Browse activity (or there could be a separate activity for this) and a small tool would help them create an sugarized web app as a new activity. | | Users could press a button in the Browse activity (or there could be a separate activity for this) and a small tool would help them create an sugarized web app as a new activity. |
| * there are a lot of web developers out there that are familiar with HTML(5), CSS and JavaScript and it would be great to take advantage of their skills.<br /> | | * there are a lot of web developers out there that are familiar with HTML(5), CSS and JavaScript and it would be great to take advantage of their skills.<br /> |
− | Web developers could either use the toolkit to port their web apps to sugar or build entirely new activities, while using only web technologies.<br /><br /> | + | Web developers could either use the toolkit to port their web apps to sugar or build entirely new activities, while using only web technologies.<br /> |
| + | I have been inspired by [http://fluidapp.com/ Fluid], which creates custom SSBs for websites. Fluid provides a simple JavaScript API to websites with which it is very easy to extend them to provide more integration (like sounds, notifications, badges, etc.). For example, GMail in a custom Fluid SSB feels like a native application. |
| + | <br /><br /> |
| There are two main strategies for implementing this: | | There are two main strategies for implementing this: |
| # Running a standard browser, as light as possible, that points to a small local webserver. It would use AJAX or a wrapper on top of that (like jsonrpc) to provide the bridge to python. The biggest downside would be that web developers would have a hard time hacking the toolkit itself. Another problem would be that this process could not easily be automated. Some python code would have to be written for any semi-interesting application. | | # Running a standard browser, as light as possible, that points to a small local webserver. It would use AJAX or a wrapper on top of that (like jsonrpc) to provide the bridge to python. The biggest downside would be that web developers would have a hard time hacking the toolkit itself. Another problem would be that this process could not easily be automated. Some python code would have to be written for any semi-interesting application. |
− | # In a small controller application, embed a browser runtime (with hulahop). The resulting activity would be completely standalone and would not depend on a web server anymore. Gears would have to be installed as a plugin for xulrunner. Javascript dbus access through pyxpcom or [http://sandbox.movial.com/wiki/index.php/Browser_DBus_Bridge#WebKit_.28JavaScriptCore.29_version_notes this]. It would be very similar to other efforts to bring webapps to the desktop, thus familiar to web developers.<br />A small utility (probably an extension to the Browser activity) will create activities out of websites.<br /> | + | # In a small controller application, embed a browser runtime (with hulahop). The resulting activity would be completely standalone and would not depend on a web server anymore. Gears would have to be installed as a plugin for xulrunner. Javascript dbus access through pyxpcom or [http://sandbox.movial.com/wiki/index.php/Browser_DBus_Bridge#WebKit_.28JavaScriptCore.29_version_notes this bridge]. It would be very similar to other efforts to bring web apps to the desktop, thus making it familiar to web developers.<br />A small utility (probably an extension to the Browser activity) would create activities out of websites.<br /> |
| I will be focusing on the second stragety.<br /> | | I will be focusing on the second stragety.<br /> |
| | | |
| * Why not use existing solutions like Mozilla Prism or Titanium? | | * Why not use existing solutions like Mozilla Prism or Titanium? |
− | # Prism. It's just a stripped-down firefox. To make it useful, at least Gears would have to be installed and there would still remain the issue of integration, since Prism is designed for regular desktops. Porting Prism would be too much work, but there may be useful code in Prism, like the webapp creation utility. | + | # Prism. It's just a stripped-down firefox. To make it useful, at least Gears would have to be installed and there would still remain the issue of integration, since Prism is designed for regular desktops. Building on hulahop and the existing Browse activity would yield better integration. There may still be useful code in Prism, like the SSB creation utility. |
| # Titanium. Titanium is more interesting, as it already is an SDK for creating desktop applications with web technologies. It's only real technical disadvantage is introducing a new dependency (webkit) in Sugar. However, it's [http://titanium-js.appspot.com/Core/Titanium design] is largely incompatible with Sugar, as it focuses on traditional desktops. Refactoring all that to fit into Sugar would be too much work. | | # Titanium. Titanium is more interesting, as it already is an SDK for creating desktop applications with web technologies. It's only real technical disadvantage is introducing a new dependency (webkit) in Sugar. However, it's [http://titanium-js.appspot.com/Core/Titanium design] is largely incompatible with Sugar, as it focuses on traditional desktops. Refactoring all that to fit into Sugar would be too much work. |
| | | |