Project Plan For Sequoyah, version 2.0
13 December 2010
Sequoyah project's purpose is to be focused on the needs of all mobile developers. Inheriting components from TmL, MTJ and Pulsar projects, Sequoyah intends to remove the artificial barriers of Linux and Java in order to provide a home for all Eclipse mobile developers.
Sequoyah currently contains the following components:
- Device Framework, responsible for providing an extensible platform to support mobile devices and their aggregated services.
- VNC Protocol, a scratch implementation of RFB protocol to support visualize the frame buffer content. It can also promote the protocol communication interface between devices and Sequoyah device framework.
- VNC Viewer, contains the libraries and plug-ins responsible for providing VNC connectivity.
- Localization Framework, responsible for providing extensible support for any mobile application to be adapted for a specific region or language by adding locale-specific components and translating text. A reference-implementation for the Android platform is provided.
- Automation Test Framework, which objective is to allow the creation of automated test cases in an easy way. The user will be able to specify test requirements, purposes, steps and assertions written in an procedural language.
- Android NDK integration, responsible for providing support for Android native applications development.
- SDK Discovery, used in the QuickInstall view in Pulsar. This view enables you to easily manage Software Development Kits (SDKs) from within Eclipse Pulsar.
- Release Engineering (Releng), provides frameworks to do the builds and run automated tests.
Sequoyah is currently responsible for Pulsar components, such as: branding, perspective and signing.
There is interest in the project from Motorola, RIM, Wind River and Nokia, among others.
Currently, Sequoyah committers are:
- Daniel Franco; Eldorado
- Daniel Pastore; Eldorado
- Marcel Gorri; Eldorado
- Doug Schaefer; Wind River
- David Dubrow; Nokia
Sequoyah components present in the project's SVN repository are:
- Device Framework
- VNC Protocol
- VNC Viewer
- Pulsar Feature
- SDK Discovery
- Android NDK Support
Stand-alone components will be provided when appropriate.
Currently Sequoyah has regular releases used by several Motorola MOTODEV Studio products. Such releases can be found in Sequoyah's download page. The Sequoyah team will release a 2.0 product with Eclipse Indigo in June 2011.
The target date for Sequoyah releases are:
- Friday, February 25, 2011 - Sequoyah / Helios SR2 Release date
- Wednesday, June 22, 2011 - Sequoyah / Indigo Release date
- Friday, September 23, 2011 - Sequoyah / Indigo SR1 Release date
- Friday, February 24, 2012 - Sequoyah / Indigo SR2 Release date
- The Sequoyah Project 2.0 depends upon on the Eclipse Platform 3.7 (Indigo).
The Sequoyah deliverables will be tested and validated against a subset of the reference platforms listed in the Eclipse Platform 3.7 (Indigo) Project Plan (this list is updated over the course of the release cycle).
Sequoyah Reference Platforms
|Operating system||Version||Hardware||JRE||Windowing System|
|Microsoft Windows||XP, 7||x86, x86_64||Sun Java 6 Update 22 | Sun Java 5 Update 22||Win32|
|Ubuntu||10.04||x86, x86_64||Sun Java 6 Update 22||GTK|
|Apple Mac OS X||10.6.5||Universal 32/64 bit||Apple Java 1.6 Update 22||Cocoa|
Sequoyah releases are integrated with Babel project, using English strings stored in external resource bundles.
API Contract Compatibility: Sequoyah 2.0 will not be compatible with Sequoyah 1.0.
Binary (plug-in) Compatibility: Sequoyah 2.0 will not be binary compatible with Sequoyah 1.0.
Source Compatibility: Sequoyah 2.0 will likely not be source compatible with Sequoyah 1.0.
Device Compatibility: Sequoyah has a backward compatibility module specific for devices created by TmL. This way, devices created in previous TmL versions will be recognized by Sequoyah. Forward device compatibility is not supported. A device created (or opened) by a product based on Sequoyah will be unusable with a product based on TmL.
API Contract: APIs published for Sequoyah releases will be carefully reviewed prior to each release, making use of "internal" packages for unsupported and variable implementation classes. Client plug-ins that directly depend on anything other than what is specified in the published API are inherently unsupportable and receive no guarantees about future compatibility. Refer to How to Use the Eclipse API for information about how to write compliant plug-ins.
Plan items listed below were defined according to contributor requirements, but in accordance with Sequoyah team. Each plan item covers a feature or API that is to be added to the Sequoyah deliverables, or some aspect of the Sequoyah Project that is to be improved.
The current status of each plan item is noted:
- Committed plan item: A committed plan item is one that we have decided to address for 2.0 release.
- Proposed plan item: A proposed plan item is one that we are considering addressing for 2.0 release. Although we are actively investigating it, we are not yet in a position to commit to it, or to say that we won't be able to address it. After due consideration, a proposal will either be committed or deferred.
- Deferred plan item: A reasonable proposal that will not make it in to this release for some reason is marked as deferred with a brief note as to why it was deferred. Deferred plan items may resurface as committed plan items at a later point.
Migrating Sequoyah to Tools Project
Due to DSDP Restructuring, the Sequoyah Project will move to Tools. Also, the Mobile Tools for Java (MTJ) project will become a Sequoyah subproject. This restructuring is already ongoing.
Indigo release train
In order to be part of Indigo Simultaneous release, we are updating build scripts and update sites, planning milestones, and ensuring that the project is running as transparently as possible by transacting business in an open fashion, voting on project decisions via the portal, and conducting bi-weekly open meetings.
Status: As of 13 December 2010, the Sequoyah Project is already in the Indigo train, and the team is working to satisfy the requirements of the train.
Automation Test Framework and Jubula
Currently software for mobile platforms is getting more and more complex. To ensure the quality of such programs is a task rather laborious and time consuming, always prone to human error. In order to address this need, Sequoyah is proposing the Automation Test Framework. The objective of this framework is to allow the creation of automated test cases in an easy way. The user will be able to specify test requirements, purposes, steps and assertions written in a procedural language as if this user was writing the test document itself. There is another initiative in the testing area in the Eclipse Foundation, the Jubula project. The Jubula functional testing tool is based on the premise that automated acceptance tests are just as important as the project code, and should adhere to the same best practices (modularity, reusability, and readability) without requiring that any code be produced. This places the power of testing in the hands of the testers and improves accessibility for customers who may want to monitor the tests. Sequoyah team is already contacting Jubula team in order to determine a way in which both projects can work collaboratively towards our common goal of providing an easy-to-use and powerful testing framework.
Future plans for Sequoyah project are always discussed with our community and users. Some possible features to be implemented in the future are:
- Provide support to other localizable resources, such as images, sounds, videos and layouts
- PDE Localization Support
- Provide a framework for test automation