| <!-- | |
| This document is provided as a template along with some guidance for creating | |
| your project proposal. This is just a template. Feel free to change it as | |
| you see fit (add sections, remove section). We feel, however, that the | |
| suggestions represented in this document represent the reasonable minimum | |
| amount of information to move forward. | |
| Please keep the formatting in this document simple. Please do not edit | |
| this document in Microsoft Word as it adds huge piles of markup that make | |
| it difficult to restyle. | |
| More information is available here: | |
| http://wiki.eclipse.org/Development_Resources/HOWTO/Pre-Proposal_Phase | |
| Direct any questions about this template to emo@eclipse.org | |
| --> | |
| <html> | |
| <head> | |
| <!-- | |
| Tools for Mobile Web | |
| --> | |
| <title>Tools for Mobile Web</title> | |
| </head> | |
| <body> | |
| <p>The Tools for Mobile Web project is a proposed open source project under the <a | |
| href="http://www.eclipse.org/projects/project_summary.php?projectid=dsdp.seqoyah">Sequoyah | |
| Container Project</a>.</p> | |
| <p>This proposal is in the Project Proposal Phase (as defined in the | |
| Eclipse Development Process) and is written to declare its intent and | |
| scope. We solicit additional participation and input from the Eclipse | |
| community. Please send all feedback to the | |
| <a href="http://www.eclipse.org/forums/index.php?t=thread&frm_id=162">Sequoyah</a> Eclipse Forum.</p> | |
| <h2>Background</h2> | |
| <p>Historically, mobile tools providers have been customizing desktop web tools in a proprietary way | |
| to create their tools. | |
| </p><p> | |
| This project aims to seed the Eclipse community with a complete web tools solution, including editing, | |
| building, deploying and debugging. It also includes a reference target - | |
| <a href="http://developer.symbian.org/wiki/index.php/Web_Runtime_Widgets_in_a_Nutshell"> | |
| Web Runtime</a> - with | |
| complete preview and debug capabilities. | |
| </p> | |
| <h2>Scope</h2> | |
| <p> | |
| Tools for Mobile Web (TMW) will be a basis for web development tooling for mobile devices. It | |
| will leverage other projects, such as JSDT, for generic development. Since TMW is focusing one | |
| of the types of the mobile developer tooling, it will be a sub-project of Sequoyah. For Web | |
| applications, TMW will add | |
| functionality for mobile specific features like previewing, skinning, configuration, device | |
| deployment, and debugging.</p><p> | |
| This project will:</p> | |
| <ul> | |
| <li>Identify common requirements for Tools for Mobile Web</li> | |
| <li> Provide set of extensible frameworks that will enable creation of the IDEs for specific mobile runtimes.</li> | |
| <li> Will provide a unified architecture that will improve compatibility between offerings from different vendors.</li> | |
| <li>Leverage existing Eclipse project and frameworks.</li> | |
| </ul> | |
| <h4>Relation to Blinki</h4> | |
| Although, Tools for Mobile Web and Blinki have a bit of overlap, they are mostly separate, but complementary projects. | |
| <br><br> | |
| Thinking of the differences between ATF and JSDT provides context. In the case of | |
| the two projects, Blinki would be ATF, providing run-time and debugging services while | |
| TMW will provide development-time services including (but not limited to): | |
| <ul> | |
| <li>Web application project creation and initial contents.</li> | |
| <li>Mobile runtime-specific extensions for JSDT (our contribution will include support for WRT | |
| API and we are investigating adding others like PhoneGap, BONDI, JIL, etc.)</li> | |
| <li>Application packaging (TMW initially supports WRT packaging) and deployment (TMW | |
| supports deployment using Bluetooth)</li> | |
| </ul> | |
| TMW's preview and debugging currently relies on external Chrome installation and is based on Chrome Developer Tools. Currently Blinki focuses on better integration of the Chrome/WebKit with Eclipse. From the very start we hoped to replace external Chrome with Blinki's code (atm we really need code on all three major desktop platforms). | |
| <br><br> | |
| Blinki's Chrome/WebKit integration has broader potential than only for mobile tools. Tools for Mobile Web under Sequoyah is focused specifically on mobile device developers' tooling needs. | |
| <h4>Why in Sequoyah and not in WTP?</h4> | |
| WTP provides general (platform and runtime-agnostic) web application development). Following things are in scope of TMW that do not fit under WTP: | |
| <ul> | |
| <li>Support for platform-specific APIs (at this moment most mobile platforms have their | |
| own API for things like address book access, camera management, etc.)</li> | |
| <li>Packaging for mobile devices and deployment to mobile devices.</li> | |
| <li> Application preview (simulation)</li> | |
| </ul> | |
| These things fit better under DSDP umbrella as there is certain overlap with other DSDP projects (i.e. device emulator can be used for both MTJ and TMW development). | |
| <br><br> | |
| TMW builds on top of WTP leveraging and extending its source editing tools and JSDT. | |
| <h2>Description</h2> | |
| Mobile web runtimes are based around existing and widely adopted standards like HTML, AJAX and JavaScript. | |
| Almost every mobile platform has proprietary APIs, packaging requirements and hardware capabilities. The goal of | |
| TMW is to enable creation of tools that would leverage individual advantages of mobile platforms and lower | |
| learning curve for application developers.<br> | |
| <p> | |
| TMW provide features to enable the creation, editing, previewing, debugging and testing of TMW | |
| applications. The tools leverage edit and build capabilities from JSDT, debugging capabilities from Chromium, and preview capabilities from XULRunner.<br> | |
| </p><p> | |
| More information about the development and structure can be found | |
| <a href="http://developer.symbian.org/main/source/packages/package/index.php?pk=263"> | |
| here</a></p><p> | |
| More information about using the tools can be found | |
| <a href="http://developer.symbian.org/wiki/index.php/Symbian_Web_Development_Tools_(WRT_Tools)"> | |
| here</a> | |
| </p> | |
| <h2>Initial Contribution</h2> | |
| <ul> | |
| <li>org.symbian.tools.wrttools contains sources for project builder, project nature, markers, and project wizards</li> | |
| <li>org.symbian.tools.wrttools.debug.core contains sources for WRT Debugger component</li> | |
| <li>org.symbian.tools.wrttools.doc.WebDeveloper contains Web Developer's Library Documentation</li> | |
| <li>org.symbian.tools.wrttools.doc.WRTKit contains WRTKit documentation</li> | |
| <li>org.symbian.tools.wrttools.previewer contains sources for the WRT Previewer</li> | |
| <li>org.symbian.tools.wrttools.product contains WRT IDE product plug-in</li> | |
| <li>org.symbian.tools.wrttools.feature contains feature plug-in</li> | |
| <li>org.chromium.debug.core contains sources for Chromium debugger core package</li> | |
| <li>org.chromium.debug.ui contains sources for Chromium debugger UI package</li> | |
| <li>org.chromium.sdk contains sources for Chromium SDK</li> | |
| <li>org.w3c.css contains CSS Validator plug-in</li> | |
| </ul> | |
| <h2>Legal Issues</h2> | |
| Most of the contributed code is licensed with EPL.<br> | |
| <br> | |
| There are three components with different licenses:<br> | |
| <font size=3><br> | |
| </font> | |
| <table border=1 bordercolor=#000000 cellpadding=3 cellspacing=0 id=eeld width=100%> | |
| <tbody> | |
| <tr> | |
| <td width=33.333333333333336%> | |
| <font size=3>Library</font> | |
| </td> | |
| <td width=33.333333333333336%> | |
| <font size=3>Vendor</font> | |
| </td> | |
| <td width=33.333333333333336%> | |
| <font size=3>License</font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td width=33.333333333333336%> | |
| <font size=3>CSS Validator</font> | |
| </td> | |
| <td width=33.333333333333336%> | |
| <font size=3>W3C Consortium</font> | |
| </td> | |
| <td width=33.333333333333336%> | |
| <font size=3>W3C</font> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td width=33.333333333333336%> | |
| Google Chrome Developer Tools | |
| </td> | |
| <td width=33.333333333333336%> | |
| The Chromium Authors<br> | |
| </td> | |
| <td width=33.333333333333336%> | |
| New BSD | |
| </td> | |
| </tr> | |
| <tr> | |
| <td width=33.333333333333336%> | |
| XULRunner | |
| </td> | |
| <td width=33.333333333333336%> | |
| Mozilla Foundation | |
| </td> | |
| <td width=33.333333333333336%> | |
| Mozilla tri-license | |
| </td> | |
| </tr> | |
| </tbody> | |
| </table> | |
| <br> | |
| <h2>Committers</h2> | |
| <p>The following individuals are proposed as initial committers to the project:</p> | |
| <ul> | |
| <li><a | |
| href="http://eclipseblog.ostroukhovs.com/">Eugene Ostroukhov</a>, <a | |
| href="http://developer.symbian.org/">Symbian Foundation</a></li> | |
| <li>Paul Beusterien, <a | |
| href="http://developer.symbian.org/">Symbian Foundation</a></li> | |
| <li>Paddy Byers, Aplix</li> | |
| <li>Anselm Garbe, Aplix</li> | |
| </ul> | |
| <h2>Mentors</h2> | |
| <p>The following members will mentor this | |
| project:</p><ul> | |
| <li><a | |
| href="http://www.eclipse.org/projects/lists.php?list=projectsforcommitter¶m=ecloninger"> | |
| Eric Cloninger</a></li> | |
| <li> <a | |
| href="http://www.eclipse.org/projects/lists.php?list=projectsforcommitter¶m=ndai""> | |
| Naci Dai</a> </li> | |
| <li> <a | |
| href="http://www.eclipse.org/projects/lists.php?list=projectsforcommitter¶m=dschaefer""> | |
| Doug Schaefer</a> </li> | |
| </ul> | |
| <h2>Interested Parties</h2> | |
| <p>The following individuals, organisations, companies and projects have | |
| expressed interest in this project:</p> | |
| <ul> | |
| <li>Dan Podwall, Nokia</li> | |
| <li>Ken Wallis, Research In Motion Limited</li> | |
| <li>Jon Dearden, Research In Motion Limited</li> | |
| <li>Nitin Dahyabhai, IBM</li> | |
| <li>Sachin Anand, Sony Ericsson</li> | |
| <li>André Charland, Nitobi</li> | |
| <li>Paddy Byers, Aplix</li> | |
| </ul> | |
| <h2>Project Scheduling</h2> | |
| Initial contribution will be made at project approval | |
| <h2>Changes to this Document</h2> | |
| <!-- | |
| List any changes that have occurred in the document here. | |
| You only need to document changes that have occurred after the document | |
| has been posted live for the community to view and comment. | |
| --> | |
| <table> | |
| <tr> | |
| <th>Date</th> | |
| <th>Change</th> | |
| </tr> | |
| <tr> | |
| <td>02-April-2010</td> | |
| <td>Document created</td> | |
| </tr> | |
| <tr> | |
| <td>14-April-2010</td> | |
| <td>Updated to address Wayne Beaton's feedback</td> | |
| </tr> | |
| </tr> | |
| <tr> | |
| <td>10-May-2010</td> | |
| <td>Add Blinki and WTP sections from email threads. Update Interested Parties and Mentors</td> | |
| </tr> | |
| <tr> | |
| <td>01-July-2010</td> | |
| <td>Add Paddy and Anselm as Initial Committers</td> | |
| </tr></table> | |
| </body> | |
| </html> |