Skip to content
fruminator edited this page Aug 23, 2012 · 32 revisions

This page discusses the Roadmap for the near- and mid-term development and support of OneBusAway by the OneBusAway community.

Introduction/Context

Something about original OBA, MTA/NYC project, etc...

Objectives

The objectives driving the Roadmap are to:

  1. Minimize long-term development/maintenance/support costs for all parties through unification of the codebase
  2. Allow other parties to take advantage of the work done in the onebusaway-nyc project
  3. Minimize the barriers to new deployments of OneBusAway globally
  4. Through supporting the provision of real-time information to transit riders via web and mobile channels, encourage the use of public transit with all concomitant economic, social, and environmental benefits.

The Roadmap

The Roadmap proposal is thus as follows:

OneBusAway vs OneBusAway-NYC

  • In general, produce more documentation about what has been done as part of the onebusaway-nyc project.
  • Move these new modules into one or more repositories under the main onebusaway github account.
  • Use the main onebusaway github account as the single location for publicly accessible and community-driven documentation, issue/bug tracking, etc.

UI's and API's

In general: focus on open standards-based API's and highly intuitive, usable, and beautiful user experiences.

  • Deprecate the existing onebusaway web-based UI's (including SMS, IVR which integrate via HTTP).
  • Deprecate the use of the RESTful OBA API for any real-time information (but not for 'discovery' functions based on static GTFS data).
  • Adopt SIRI as the standard for real-time information, incorporating the recent changes to SIRI to allow for RESTful requeses and non-XML (eg JSON) encodings.
  • Improve, extend, and/or otherwise adapt the SIRI API's from onebusaway-nyc to meet the general needs of other OBA deployments.
  • Improve, extend, and/or otherwise adapt the UI's from onebusaway-nyc to meet the general needs of other OBA deployments.

The final 2 items likely require making certain behaviors (eg inclusion of schedule deviation, inclusion of real-time predictions, so-called "wrap-around" behavior) configurable/pluggable/etc.

Native Mobile Applications and other API Clients

  • Support the transition of the existing OBA API clients (eg native iPhone and Android applications) to use the SIRI API's for real-time information (but still use the OBA API for static/discovery functions).

'Enterprise' Suitability and Deployment

  • As part of the general move of modules from onebusaway-nyc to onebusaway, document all of the 'enterprise' functions that have been developed for the nyc project, including:
  • distributed architecture for failover/high availability
  • hot-swap of bundles for live automated/scheduled changes of bundle files
  • bundle building and deployment UI's
  • Publish the currently non-public scripts, programs, configurations, and documentation used in nyc to deploy OBA in a highly available manner using Amazon's AWS cloud-based infrastructure services. This depends on suitable refactoring of those artifacts so as not to compromise the security or stability of the nyc deployment.

Teardown/Cleanup

  • Strip out of the core OBA codebase all methods, services, interfaces, modules, etc. that will not be used in support of the roadmap.