Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cordova Wiki" for 
change notification.

The "RoadmapProjects" page has been changed by brianleroux:
http://wiki.apache.org/cordova/RoadmapProjects?action=diff&rev1=19&rev2=20

- == See CuttingReleases for *estimated* Release Schedule ==
+ = Roadmap =
  
- 1.5 Feb
+ == Nearterm ==
  
-   * weinre nodeup 1.5
-   * cordovaview ios
+   * plugin-list (lists currently installed plugins for a given native project)
+   * plugin-remove (removes named plugin from a given native project)
+   * cli tools parity (currently ios requires installer to be run first, 
behavior slightly differ b/t platforms)
+   * get plugin-install into labs and enable installation from a git repo 
(think anis did this already)
  
- 1.6 March
+ === Core API Audit: lighter, faster, stronger ===
  
-   * cordovajs on ios, android, blackberry
-   * cordova name migration complete
-   * getting started guides updated
+   * Accelerometer: deprecated for 
http://dev.w3.org/geo/api/spec-source-orientation.html
+   * Camera: leave be
+   * Capture: deprecate for http://www.w3.org/TR/media-capture-api/
+   * Compass: leave be / covered by deviceorientation?
+   * Connection: leave be (work in sysapps will replace this)
+   * Contacts: leave be (work in web intents 
http://www.w3.org/TR/contacts-api/ and native picker in future for sure)
+   * Device: deprecate and move this gunk to cordova global (perhaps this 
belongs to capabilities api?)
+   * Events: deprecate battery stuff for its own plugin; leave the rest be
+   * File: normalize paths
+   * Geo: leave be
+   * Media: '''requires further audit'''
+   * Notification: deprecate completely. alert/confirm should be proper 
browser polyfills, vibrate move to http://www.w3.org/TR/vibration/, kill beep
+   * Storage: deprecate, the w3c doesnt want to support nor should we. file 
api and idb should care for all these use cases
  
- 1.7 April
+ == 2.x Unscheduled ==
  
+   * config and manifest metafile for all major platforms
+   * plugin-discover-server (federated server impl)
+   * plugin-discover-client (search, publish, remove, update)
+   * master cli script 
+   * b2g prototype
-   * cordovajs on wp7
-   * cordovaview on android
-   * documentation improvement project 
-   * bada 2 (wac) support with cordovajs
- 
- 1.8 May
- 
-   * tooling for plugin package generation, validation, installation, and 
removal (lunny prototyping)
-   * cli tooling
- 
- 1.9 June
- 
-   * refactor of (possibly) coho to allow for composing a release of 
particular plugins
-   * hardening
- 
- 2.0.0rc July
- 
-   * hardening
-   * iOS: removal of iOS 3.x support, minimum 4.2 
-   * iOS: make Cordova support ARC (Automatic Reference Counting) only
-   * iOS: removal of Xcode template (CLI tooling only for creating a new 
project)
- 
- 
- 
- 
-   
- === Unscheduled Feature Req (post 2.x) ===
- 
-   * sockets polyfil: http://caniuse.com/websockets
-   * fast clicks
-   * one file to rule them all
-   * device capabilities api (see https://issues.apache.org/jira/browse/CB-753)
-   * notifications api 
-   * automate plugin discovery ala npm/cpan/rubygems/pypi/etc
-   * remove plugins to discreet repos and use discovery mechanism to compose 
different releases
-   * bridge performance
-   * test automation
-   * plugin authoring guide
-   * security best practices guide
+   * docs: security best practices guide
+   * docs: web development best practice guide (eg. fast clicks)
-   * security: child browser investigation / oauth support
-   * performance: first benchmark(s) / resource profiling hooks / capacity 
tests (maybe identify flagship devices!)
-   * native contact picker 
    * review media (use html5 audio and/or normalize apis / add volume event)
    * orientationchange event 
http://dev.w3.org/geo/api/spec-source-orientation.html and more here: 
https://gist.github.com/2942428
-   * Web notifications API 
(http://dev.w3.org/2006/webapi/WebNotifications/publish/Notifications.html)
-   * websockets (SocketIO / NodeJS / Twisted)
+   * webworkers with a browser ctx
+   * single js file (runtime figures out which overloads to use ala hasjs)
+   * windows phone touch event polyfill
+   * android multitouch polyfill: 
https://github.com/Philzen/webview-multitouch-polyfill 
+   * sockets polyfill: http://caniuse.com/websockets
+   * notifications api: http://www.w3.org/TR/notifications/
+   * window.open, targetblank
+   * App invocation w/ data/args (like intents or protocol handlers) 
https://github.com/PaulKinlan/WebIntents
+   * remove plugins to discreet repos and use discovery mechanism to compose 
different releases
+ 
+ === Future Unscheduled ===
+ 
+   * WebRTC
+   * device capabilities api (see https://issues.apache.org/jira/browse/CB-753)
+   * bridge performance by way of echo plugin
+   * native contact picker 
+   * native file picker
    * Menu api to build menus for all platforms (discussion on Planning: Menu 
API) mainline
    * enhance internationalization (i18n) / globalization plugin mainline
    * Device.exitApp() as device independent way of closing application (exists 
in android / ios makes no sense)
-   * App invocation w/ data/args (like intents or protocol handlers) 
https://github.com/PaulKinlan/WebIntents
-   * Multitouch polyfill for Android. 
https://github.com/Philzen/webview-multitouch-polyfill
  
- 
- 
- -------
- 
- == Platform Work ==
- 
- Windows Phone
- 
-   * Touch events
-   * Back button support fix
- 
- Bada
- 
-   * 2.x update
- 
- -------
- 
- == Cordova JS ==
- 
- A single canonical JavaScript file providing the baseline PhoneGap API. As 
PhoneGap grew, and new platforms were added, each platform implemented its own 
JavaScript file. This can cause confusion in cross platform projects. This file 
is generated but our userbase often accidentally checks it into thier revision 
control system.  
- 
- In 1.5.0 this dropped into the Android implementation. In 1.6.0rc1 this made 
its way into the iOS implementation.
- 
- Other integration work is currently under way in the form of branches on 
GitHub. The final integration will include a CommonJS patterned codebase that 
is built using NodeJS. Compiles to AMD friendly src. 
- 
- The canonical repository is located on GitHub here: 
http://github.com/apache/incubator-cordova-js
-  
- -------
- 
- == Command Line Interface Tooling ==
- 
- Command Line Interface (CLI) provides a foundation for more sophisticated 
tooling avenues with while maintaining functionality capability across target 
development operating system environments. Currently the project provides some 
tooling of this nature but it is currently not consistent. This project aims to 
bring a unified nomenclature for common development practices dramatically 
reduces developer ramp up and context switching. 
- 
- Common tasks in PhoneGap app development include:
- 
-   * create
-   * update
-   * log
-   * debug
-   * release
-   * test
-   * benchmark
-   * autotest
- 
- Once these scripts are in place for the major platform operating systems a 
PhoneGap developer can jump into a project of any sort (be it iOS or Android or 
anthing) and be immediately productive. Additionally this opens the door for 
more sophisticated tooling within an Integrated Development Environment (IDE). 
- 
- ==== Technology ====
- 
-   * Bash
-   * JavaScript 
-   * NodeJS
-   * npm
-   * CoffeeScript
- 
- ==== Proposed Work ====
- 
-   * Complete CLI for major target platforms.
-   * Wrap CLI for a universal CLI that calls out to installed PhoneGap 
platforms.
- 
- -------
- 
- == Continuous Integration Server ==
- 
- Building the most recent PhoneGap project commits against the major devices 
for every commit, running the unit test suite and benchmark suite to measure 
code quality and performance over time. The most effective way for us to 
measure improvement over time will be an automated test suite. We’ll be able to 
intercept degradation in performance sooner and with tighter feedback cycles 
avoid regressions in bugs.
- 
- ==== Proposed Work ====
- 
-   * open source the project code
-   * deploy http://ci.phonegap.com
-   * investigate working w/ sauce team on better mobile testing patterns (see 
mobile testing platform stuff)
-   * pretty reports
-   * benchmarking init over time
-   * benchmarking footprint of base assets (phonegap.js and binary over time)
-   * release packaging
-   * notifications
- 
- -------
- 
- == Embeddable Webview ==
- 
- The ability to embed PhoneGap into a native application. This is a defensive 
initiative with examples of large technology companies trending to this 
technique creating hybrid webview/native code implementations using a technique 
similar to PhoneGap. 
- 
- Companies utilizing this technique include:
- 
-   * Netflix
-   * Facebook
-   * Twitter
-   * Linkedin
-   * ESPN 
- 
- Technology
- 
-   * PhoneGap/Android
-   * PhoneGap/iOS
-   * PhoneGap/WP7
- 
- (BlackBerry does not seem feasible at this time.) 
- 
- ==== Proposed Work =====
- 
- Investigate feasibility of creating custom UI components on target platforms. 
Implement embeddable PhoneGap Webview on platforms that can support custom UI 
components. 
- 
- -------
- 
- == Mobile Testing Lab ==
- 
- In conjunction with our friends at Sauce Labs.
-  
-   * targets all mobile operating systems and devices; phones and tablets
-   * simulators/emulators and real devices
-   * installed Apps and Mobile Web. (Mobile Web testing is easy -- it's just a 
URL... But installed apps is the tricky bit -- getting binaries up to the test 
lab and distributed to testing machines. Especially tricky with Apple's rules 
for iOS.)
-   * manual testing (remote VNC access) *and* automated testing (API access)
-   * oh, and lots of robots. Made of bitbeam, naturally.
-   * open source hardware setup. Folks can see how the device lap was setup 
and build their own if they wanted to.
- 
- -------
- 
- == PhoneGap Plugin Project ==
- 
- PhoneGap/Plugins are wildly popular and the past year we've spent a tonne of 
time getting the native api simplified and consistent. This project is 
dependant on the phonegap-js project completion to inform the architecture. 
- 
- ==== Goals =====
- 
-   * phonegap project directory structure (needed so we can install phonegap 
plugins)
-   * plugin packaging format
-   * plugin cli tooling for: create, validate, install, remove, find
-   * plugin only architecture / ship phonegap with no prebuilt APIs
- 
- 
- 
- -------
- 
- == weinre nodeup ==
- 
- Web Inspector Remote originally authored by Patrick Mueller of IBM joined the 
PhoneGap suite of projects in 2011. It takes chrome dev tools and adds remoting 
capability via a script embed to enable remote debugging. Weinre is the only 
way to remotely inspect and debug the contents of a webview hosted on a device. 
It is a daily use tool for PhoneGap developers. 
- 
- ==== Technology ====
- 
-   * Java based server
-   * CoffeeScript based client communication protocol
-   * Client code from HTML, CSS and JavaScript
- 
- ==== Proposed Work ====
- 
-   * Port server to NodeJS to improve speed and portability. (Imagine: npm 
install weinre)
-   * Benchmark and refine communication protocol to improve latency. Use 
sockets where available.
-   * Additional error trapping faculty (only 5 exceptions supported). Substack 
reported possibility to use Uglyfy to instrument/rewrite method signatures w/ 
try/catch to capture all errors.
-   * Add JavaScript step debugging capability via the open source Aardwolf 
project.
- 
- -------
- 
- == Notifications API ==
- 
- With the addition of Notification Center in iOS 5 we have the opportunity to 
do richer notifications across platforms. http://www.w3.org/TR/notifications/
- 

Reply via email to