OneBusAway / onebusaway-ios

OneBusAway for iOS, written in Swift.
Other
81 stars 33 forks source link

Show bus position on map, either simulated or using real-time data #460

Open barbeau opened 10 years ago

barbeau commented 10 years ago

This was something that @caitbonnar and @jrharshath discussed the other day, and I wanted to capture some info/links related to this.

We have all the data we need to simulate the bus position based on a particular trip and schedule (from GTFS / OBA REST APIs) as well as the current time. If we have shapes.txt in GTFS we can simulate precise position, if not position simulation will be rougher.

Real-time vehicle position is a little harder - from what I can tell the OBA REST APIs don't have a way to pull back vehicle positions related to a single route/trip. However, the OBA SIRI APIs that MTA deployed in NYC do. So, going forward, it would probably make sense to do real-time vehicle position based on the SIRI APIs. I don't believe the SIRI APIs are plug-and-play yet with the rest of the OBA core app modules server-side, but hopefully that will happen soon.

Related items:

thetransitapp-simulatedbusposition

This issue is also related to showing route flow lines (https://github.com/OneBusAway/onebusaway-iphone/issues/319), since a moving vehicle on the map would also indicate direction of flow.

bbodenmiller commented 10 years ago

Last I talked with The Transit App developers the bus location is based on schedule data and not real time data (but they were working to address this). In my opinion if the calculated bus location is not based on real time data it is not worth having. Picture standing at a bus stop and the map showing the bus already passed but the sign saying the bus will be here in 1 minute.

The iOS version of The Transit App includes all of the features on the Android version... for the most part they are a develop for iOS first group.

barbeau commented 9 years ago

@bbodenmiller I agree that we shouldn't show simulated bus position along side of real-time arrival information - that would be extremely confusing to users. Real-time vehicle positions should go with real-time arrival data. But, I think that if we don't have real-time arrival information, its reasonable to show an estimated bus position based on the schedule data. Its just another way to visualize the same data. The UI does need to be very clear to users when bus position is real-time and when its based on schedule data.

bbodenmiller commented 9 years ago

I agree the estimated location even without real-time data would be nice. Perhaps the icon color could indicate whether it is real-time or not. Or maybe an animated wifi like icon next to the bus like The Transit App has for the real-time arrival times. In addition to the icon visuals taping the bus and poping up a window that spells out in words the bus type and status (e.g. real-time, schedule, delayed x-minutes, etc.) would be great.

barbeau commented 8 years ago

FYI - The SVG files I used for the vehicle markers on the map in OBA Android are in the /icons/vehicle_markers/ folder (still in develop branch for now): https://github.com/OneBusAway/onebusaway-android/tree/develop/icons/vehicle_markers

I pulled the above SVG files together based on a few source icons - attribution for the sources of the arrow and marker are here in the strings.xml file: https://github.com/OneBusAway/onebusaway-android/blob/develop/onebusaway-android/src/main/res/values/strings.xml#L527

The source bus icon comes from the Google material design icons, so if those are used on iOS that same attribution should appear.