OneBusAway / onebusaway-android

The official Android app for OneBusAway
http://www.onebusaway.org/
Other
471 stars 290 forks source link

Make NYC an honorary experimental region #768

Open barbeau opened 7 years ago

barbeau commented 7 years ago

Summary:

NYC region is unique as it deployed OBA prior to the multi-region apps being available. Design choices were made early-on to support SIRI as a REST API for real-time info, but not the real-time OBA REST APIs. As a result, in the Regions API NYC is listed as a production region, supporting the OBA discovery APIs (e.g., where are the bus stops via stops-for-location), but not supporting real-time info via APIs like arrivals-and-departures-for-stop). So, currently NYC is excluded as a region that shows up by default in OBA Android.

However, if you plug http://bustime.mta.info/ as a custom API into the app, NYC does show schedule info via the arrivals-and-departures-for-stop API. And, there are efforts underway to bring the MTA NYC changes back to the core OBA server project via https://github.com/OneBusAway/onebusaway-application-modules/pull/176. In theory, if these changes are deployed to NYC it may make real-time info available via the OBA REST APIs.

To allow us to easily test NYC, I'd like to change the behavior of OBA Android and make an exception for NYC to show it when experimental regions are selected in the app (even though "supportsObaRealtimeApis": false is still shown in the Regions API). If we decide that everything looks good, we'd eventually change "supportsObaRealtimeApis": true.

The Regions IDs in the http://regions.onebusaway.org/regions-v3.json are stable, so NYC will always have ID=2.

Steps to reproduce:

Enable experimental regions in OBA Android Settings

Expected behavior:

I'd like NYC to show up as an experimental region

Observed behavior:

NYC is not available as an experimental region

barbeau commented 7 years ago

Related issue on OBA Alexa - https://github.com/OneBusAway/onebusaway-alexa/issues/92.