blob: e040a606d76bbb38f959b82fec7e802ea2e9c197 [file] [log] [blame]
<!--
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.&nbsp; 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&param=ecloninger">
Eric Cloninger</a></li>
<li> <a
href="http://www.eclipse.org/projects/lists.php?list=projectsforcommitter&param=ndai"">
Naci Dai</a> </li>
<li> <a
href="http://www.eclipse.org/projects/lists.php?list=projectsforcommitter&param=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&eacute; 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>