Center for Urban Transportation Research | University of South Florida Open Transit Data – A Developer’s Perspective Sean J. Barbeau, Ph.D.

Slides:



Advertisements
Similar presentations
12 October 2011 Andrew Brown IMu Technology EMu Global Users Group 12 October 2011 IMu Technology.
Advertisements

Building and using REST information services Rion Dooley.
School Management Tracking Solutions
Siebel Web Services Siebel Web Services March, From
MBTA-realtime Integrating predictions and alerts into one GTFS-based platform T3 Open Data Webinar, December 2013 Dave Barker, Manager.
TAD T RAVEL A SSISTANCE M OBILE A PP TO H ELP T RANSIT R IDERS Sean J. Barbeau Center for Urban Transportation Research & Department of Computer Science.
Center for Urban Transportation Research | University of South Florida Web-based Trip Planner Options for Transit Agencies Dr. Sean Barbeau Justin Begley.
Company confidential Prepared by HERE Transit Sr. Product Manager, HERE Transit Product Overview David Volpe.
511 SF Bay: A Collaborative Effort for Regional Traveler Information Delivery Nisar Ahmed October 22, AMPO Annual Conference, Atlanta, GA.
© 2010, Robert K. Moniot Chapter 1 Introduction to Computers and the Internet 1.
Internet…issues Managing the Internet
SOAP Chandra Dutt Yarlagadda Introduction  Why ?  What ?  How ?  Security Issues in SOAP  Advantages  Uses  Conclusion.
Center for Urban Transportation Research | University of South Florida Development of a Regional Public Transportation GIS Architecture and Data Model.
1st Project Introduction to HTML.
CS 415 N-Tier Application Development By Umair Ashraf July 6,2013 National University of Computer and Emerging Sciences Lecture # 9 Introduction to Web.
Web Services 101 James Payne Managing Director for New Media / Advancement July 30, 2013.
Enabling Transit Solutions Open Transit Data for the Atlanta Region Regional GIS Users Group Meeting Transportation Division Regan Hammond, Landon Reed.
Chapter ONE Introduction to HTML.
Center for Urban Transportation Research | University of South Florida OneBusAway Sharing real-time transit info via open-source software Sean J. Barbeau,
AMS confidential & proprietary International Business and Technology Consultants 1 XML as a Document Exchange Format Tom Loukas AMS Center for Advanced.
Discovering E-Services Using UDDI in SELF-SERV Quan Z. Sheng, Boualem Benatallah, Rayan Stephan, Eileen Oi-Yan Mak, Yan Q. Zhu School of Computer Science.
Evaluating Web Services for FDMS Cynthia Loitch OAR/PMEL (PI) Eugene Burger OAR/PMEL NOAA Research Webshop 2003 Longmont, CO 3-5 June 2003.
REST.  REST is an acronym standing for Representational State Transfer  A software architecture style for building scalable web services  Typically,
AIRNow Web Services Data to Go! Prepared by Steven A. Ludewig, Timothy S. Dye Sonoma Technology, Inc. Petaluma, CA John E. White U.S. Environmental Protection.
Multi-Operator Transit Information for Operations and Planning Transit Service Information Portal (TSIP)
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
CSC8530 Distributed Systems XML Web Services David Vaglia.
Ez3950 SOAP & Z39.50 ZIG December 2000 at LC Poul Henrik Jørgensen, DBC
Materials developed by K. Watkins, J. LaMondia and C. Brakewood Communicating with Travelers Unit 8: Improving Transit Quality.
Leveraging open data to reach mobile customers in real time DOT T3 Webinar, April 10, 2012 Timothy Moore, Interactive Services Manager Bay Area Rapid Transit.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
Web Services. ASP.NET Web Services  Goals of ASP.NET Web services:  To enable cross-platform, cross- business computing  Great for “service” based.
Distributed Computing with HTTP, XML, SOAP, and WSDL CHAPTER 14 MOHAMMAD BORUJERDI 1 INTERNET ENGINEERING OUTLINE : Shift in perspective from data to programs.
Open Transit Data: Meeting Customer Needs Or – Where the Data Meets the Road Dan Overgaard Supervisor, Systems Development & Operations King County Metro.
EXPERIENCE | Transportation Adding Value for Economic Development Presented to: KCADC Economic Development Alliance September 29, 2006 Mobile Device Technology.
1 Emerging Technology Using RSS RSS and syndication By Steve Sloan RSS and syndication By Steve Sloan.
1 Alternative view on Internet Computing Web 1.0 –Web 1.0 is first generation, Web Information based. Driven by Information provider. Web 2.0 Ajax enabled.
.NET and SOAP An Overview of SOAP By Raghavendra Aekka.
Introduction to Web Services
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
Measuring rail accessibility using Open Data Elena Navajas-Cawood.
GEO PLACES EXPLORER PRESENTED BY KHUSHBOO BAGHADIYA SUMANA VENKATESH.
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
Real-time Bus Information on Mobile Devices Stuart D. Maclean, Daniel J. Dailey ITS Research Program University of Washington, Seattle, WA.
Chapter 1 Introduction to HTML, XHTML, and CSS HTML5 & CSS 7 th Edition.
1 Service Oriented Architecture SOA. 2 Service Oriented Architecture (SOA) Definition  SOA is an architecture paradigm that is gaining recently a significant.
AJAX and REST. Slide 2 What is AJAX? It’s an acronym for Asynchronous JavaScript and XML Although requests need not be asynchronous It’s not really a.
Engineering Projects In Community Service Matt Mooney Community Based Research University of Notre Dame.
REGIONAL STAKEHOLDER TWG KICKOFF WEBINAR MAY 4 1:30-3:30 PM Next Generation Transit Service Information Portal.
Power Guru: Implementing Smart Power Management on the Android Platform Written by Raef Mchaymech.
Exploring Mobile Device Networking Lesson 4. Exam Objective Matrix Skills/ConceptsMTA Exam Objectives Understanding Networking for Mobile Devices Network.
Transit Communications Accessibility Gaps Madeleine Rothberg Trisha O'Connell Marcia Brooks Geoff Freed WGBH National Center for Accessible Media Katharine.
Information Networks. Internet It is a global system of interconnected computer networks that link several billion devices worldwide. It is an international.
REST API Design. Application API API = Application Programming Interface APIs expose functionality of an application or service that exists independently.
6/28/ A global mesh of interconnected networks (internetworks) meets these human communication needs. Some of these interconnected networks are.
Service Oriented Architecture.  SOA is an architectural pattern in software design.  SOA application components provide services to other components.
API (Application Program Interface)
A Web Services Journey on the .NET Bus
WEB SERVICES.
AJAX and REST.
Unit – 5 JAVA Web Services
GF and RS, Dept. of CS, Mangalore University
Web Services CO5027.
GTFS-realtime v2.0 Sean J. Barbeau, Ph.D.
Product Overview.
Consuming Web Services with 2E Generated Objects
NEECOM – May 22, 2019 Todd L Gould, CEO
Chengyu Sun California State University, Los Angeles
Product Overview.
Presentation transcript:

Center for Urban Transportation Research | University of South Florida Open Transit Data – A Developer’s Perspective Sean J. Barbeau, Ph.D.

2 Overview Why Open Data? Anatomy of Transit Data Sharing Being Developer-Friendly

3 WHY OPEN DATA?

4 What is open data? Transit data that is shared with the public – Typically shared via website/FTP site/web services No login should be required (may use API key) – Should be updated regularly, with any changes in schedule/routes/stops

5 Open [Data Architecture Source] Open architectures mostly focus on: – Standards within an agency’s software/hardware systems – Interconnectivity with other government systems Open source means software source code is available Open data is the sharing of data with external public parties 3 rd party developers OPEN DATA Transit Agency Transit VehicleAVL Server Schedule System

6 Why is open data important? Allows public to contribute services that are cost/time- prohibitive for the public sector – e.g., many mobile platforms Vendors are unpredictable – Some agencies have shared data only with Google – When Apple dropped Google Maps, iPhone users lost transit directions – Apple relied on 3 rd party apps to fill the gap – only possible if open data was available

7 Why is open data important (to developers)? Developers want to create innovative apps that meet a need! – Some are monetized, some are not If you don’t provide open data, developers will often improvise – …via website scraping, etc. – Prone to breaking – Not beneficial to agency or rider

8 THE ANATOMY OF TRANSIT DATA SHARING © 1998 Nick Veasey

9 Two Types of Open Data 1.Static – e.g., Transit schedules / routes / stops – Change only a few times a year 2.Real-time – e.g., Estimated arrival times /vehicle positions/service alerts – Can change every few seconds

10 Two Magnitudes of Open Data A.“Fire hose” – A dump of the complete state of the transit system – Not directly suitable for mobile devices Static -> All transit schedules/routes/stops Real-time -> All estimated arrivals/vehicle positions/service alerts B.“Faucet” – Precise subset of transit data – Suitable for mobile devices Static -> “Stop ID 10 is served by Route 5” Real-time -> “It is 2 minutes until Route 5 bus arrives at Stop ID 10”

11 Transit Data Flow Architecture Producer Aggregator/ Filter Consumer Open Data (“Faucet”) Open Data (“Faucet”) Open Data (“Fire hose”) Open Data (“Fire hose”)

12 Producer Aggregator/ Filter Commonly-used “fire hose” formats Open Data (“Firehose”) Open Data (“Firehose”) General Transit Feed Spec. (GTFS) GTFS-realtime - static- realtime Service Interface for Real time Information (SIRI) Transit Communications Interface Profiles (TCIP) Produce r Aggreg ator/ Filter Consume r GTFS/GTFS-realtime format - SIRI format – TCIP format -

13 Transit Data Flow Architecture Producer Aggregator/ Filter Consumer Open Data (“Fire hose”) Open Data (“Fire hose”) Open Data (“Faucet”) Open Data (“Faucet”)

14 Aggregator/ Filter Consumer Common “faucet” formats still emerging Open Data (“faucet”) Open Data (“faucet”) Vendor/Agency- specific formats Vendor/Agency- specific formats - static- realtime SIRI (REST/JSON format) OneBusAway API Produce r Aggreg ator/ Filter Consume r Vendor/Agency formats - OneBusAway format - SIRI REST format -

15 Example – Google Transit BART Vehicles/Servers Google Servers Google Transit Mobile App Static - GTFS Realtime - GTFS-realtime Static - GTFS Realtime - GTFS-realtime Any 3 rd party Open to Public

16 Example – HART in Tampa, FL HART Vehicles/Servers USF Server USF OneBusAway Server OneBusAway 3 rd Party mobile apps Static & Real-time - OneBusAway API Static – GTFS (HART) Realtime - GTFS-realtime (USF) Static – GTFS (HART) Realtime - GTFS-realtime (USF) More at

17 Example – MTA BusTime in NY MTA Vehicles MTA BusTime Servers 3 rd Party Mobile Apps Static - OneBusAway API Real-time - SIRI REST API for mobile Static - OneBusAway API Real-time - SIRI REST API for mobile Static - GTFS

18 Successful Open Data Formats Are… Organic – Created and improved by the people actually producing and consuming the data Open – Open process for evolution – Data/documentation not hidden behind log-ins Easy-to-use for app developers – Is documentation simple to understand? – Are there existing open-source software tools?

19 General Transit Feed Specification (GTFS) Created by TriMet and Google in 2005 Has become a de facto standard world-wide for static transit schedule/route/stop data GTFS data consists of multiple text files GTFS data powers Google Transit and other apps

20 General Transit Feed Specification (GTFS) Over 500 agencies worldwide have transit data in GTFS format [1] – 49 of top 50 largest U.S. transit agencies share GTFS data, over 227 worldwide – At least 20 Canadian agencies share open data Most agencies created GTFS data for Google Transit – But, GTFS is open-data format used by web/mobile apps, OpenTripPlanner, OneBusAway, etc. [2] See “GTFS Data Exchange” for list of agencies with GTFS data – – Or, ask your local agency [1] City-Go-Round, Dec. 4, 2012 [2] For more GTFS info and references, see paper co-authored by Sean Barbeau and Aaron Antrim – “The Many Uses of GTFS Data” -

21 BEING DEVELOPER- FRIENDLY Promoting app development with open data

22 Create a relationship with developers Open your GTFS data, and share on GTFS-Data-Exchange! – GTFS data should not be password or login protected Share real-time data too (national list pending) Create a “Developer page” with access to resources (e.g., GTFS license, data) Create developer list/group for announcements/Q&A/collabora tion Announce resources on “Transit Developers” group [1] HART Developer page - [1] Transit Developers group, Dec. 4 th, 2012

23 Be Developer-Friendly! Use a simple “Terms of Service” based on existing industry examples [1][2][3][4][5] Use GTFS naming conventions throughout “Direction_ID” is 0/1 (not N/S/E/W) in real-time data too! Make sure IDs match among datasets – E.g., tripID in real-time data matches GTFS tripID [1] TriMet “Terms of Use." [2] BART "Terms of Use." [3] Corona, CA "Terms of Use.” Works/Transportation/GTFS.aspxhttp:// Works/Transportation/GTFS.aspx [4] PSTA "Terms of Use.” [5] HART "Terms of Use.” [1] TriMet “Terms of Use." [2] BART "Terms of Use." [3] Corona, CA "Terms of Use.” Works/Transportation/GTFS.aspxhttp:// Works/Transportation/GTFS.aspx [4] PSTA "Terms of Use.” [5] HART "Terms of Use.”

24 Be Developer-Friendly! Use developer/mobile-friendly formats 1.For data – GTFS, GTFS-realtime, SIRI REST API (see MTA NY BusTime API [1] ) 2.For mobile APIs – RESTful web services design and JSON encoding preferred (not SOAP and XML) [1] MTA BusTime API, Dec. 4 th, 2012 POST /busstoparrival/busstopws.asmx HTTP/1.1 Host: Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: " <soap:Envelope xmlns:xsi=" instance" xmlns:xsd=" xmlns:soap=" int string SOAP Request GET /busstoparrival/busstopws.asmx/ GetNextNVehicleArrivals? n=string&RouteID=string&DirectionCodeID=string &BusStopID=string& TripID_External=string HTTP/1.1 Host: HTTP-Post Request T09:28: :00 MTA NYCT_S MTA NYCT_ EE_054000_S40_0031_MISC_437 MTA NYCT_S S40 MTA NYCT MTA NYCT_ XML Response { Siri: { ServiceDelivery: { ResponseTimestamp: " T12:06: :00", VehicleMonitoringDelivery: [ { VehicleActivity: [ { MonitoredVehicleJourney: { LineRef: "MTA NYCT_S40", DirectionRef: "0", FramedVehicleJourneyRef: { DataFrameRef: " ", DatedVehicleJourneyRef: "MTA NYCT_ CC_072000_S40_0031_S4090_302" }, JourneyPatternRef: "MTA NYCT_S400031", PublishedLineName: "S40", OperatorRef: "MTA NYCT", OriginRef: "MTA NYCT_200001" } } ] } ] } } JSON Response 1.8 times more characters using XML! 3.7 times more characters using SOAP!

25 SOAP SOAP vs. HTTP Motorola i580 phone -See for details

26 XML vs. JSON Parsing Time – Samsung Galaxy S3 ~4.3 times longer to parse the first response using XML First response time is critical for mobile apps, since application state is often destroyed when user multitasks (checks , etc.) on their phone -Using Jackon Using MTA SIRI REST API StopMonitoring -See for details

27 Get the word out! After developers have created mobile apps, share them with riders Consider an “App Center” [1-9] to showcase apps [1] TriMet "TriMet App Center." [2] BART "Third Party Apps." [3] MTA "App Center." [4] CTA "App Center." [5] GoTriangle. "App Center." [6] HART "App Center." [7] MBTA "App Center." [8] KCATA "App Center." [9] UTA"App Center." [1] TriMet "TriMet App Center." [2] BART "Third Party Apps." [3] MTA "App Center." [4] CTA "App Center." [5] GoTriangle. "App Center." [6] HART "App Center." [7] MBTA "App Center." [8] KCATA "App Center." [9] UTA"App Center."

28 Conclusions Open data (e.g., GTFS) makes transit apps possible Understand open [data vs. architecture vs. source] Understand the differences in data: – Static vs. real-time – “Fire hose” vs. “Faucet” Understand that certain formats are more appropriate than others for certain situations (e.g., mobile) Being developer-friendly encourages mobile app development!

29 Thanks! Sean J. Barbeau, Ph.D Principal Mobile Software Architect for R&D Center for Urban Transportation Research University of South Florida For more GTFS info and references, see paper co-authored by Sean Barbeau and Aaron Antrim – “The Many Uses of GTFS Data” -

30 Glossary API – Application Programming Interface AVL – Automatic Vehicle Location FTP – File Transfer Protocol GTFS – General Transit Feed Specification HTTP – HyperText Transfer Protocol IT – Information Technology JSON – Javascript Object Notation REST – Representational State Transfer SIRI -Service Interface for Real time Information TCIP - Transit Communications Interface Profiles XML – Extensible Markup Language