Line 25: |
Line 25: |
| Webified Toolkit | | Webified Toolkit |
| * Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? | | * Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? |
− | I'm making a small toolkit that can allow building activities using web technologies. <br/><br/> | + | I'm making a small toolkit that can allow building activities using web technologies.<br/><br/> |
| | | |
| The purpose of this toolkit is twofold:<br /> | | The purpose of this toolkit is twofold:<br /> |
| * it would make it easy to "sugarize" web apps (like gmail).<br /> | | * it would make it easy to "sugarize" web apps (like gmail).<br /> |
| + | 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 /> |
− | Integration of web applications with the desktop is a very useful (and popular) thing to do. Gears, AIR, Prism, HTML 5 and various combinations between them extend the browser with: persistent storage, accessing files, desktop icons, running in a separate window/process, programmatic drawing, etc.<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 /><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. |
Line 37: |
Line 38: |
| | | |
| * 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, especially 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. Porting Prism would be too much work, but there may be useful code in Prism, like the webapp 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. |
| | | |