Audience Question: Can you give an introduction to the API that you just created?

Answer: I think it really makes life a lot easier to access on the terrific data that we’re putting together. And if you’re building a web app, especially, you’ll want to be able to access different kinds of data. Not only did we make the interface a little more RESTful, if you’re familiar with that approach, but we also added the ability to get JSON and JSON-P data directly from the API.

Audience Question: Does the API work?

Answer: Yes. It’s on the developer website. The API is not at The real-time API is all documented at the developer website at

Audience Question: Does that require any sort of authentication, API key or something else?

Answer: With the developer website, we do ask that you join and become a member. And then upon joining, we give you an API key.

Audience Question: Are there limits as to how much we can hit the system?

Answer: No, we haven’t set limits yet. We do have limits coming from Next Bus, but hopefully that won’t be a problem. We reserve the right to do that in the future.

Audience Question: Is there a common attribute to associate a prediction arrival with a vehicle location?

Answer: OK, so you’ve played around with the API a little bit, that’s good. So, if you can get the prediction in… If you can get a route or a particular stop, when you access the API for a stop, it’ll give you all the vehicles and routes that are going to be coming through that stop for the next period of time. That’s with the next… What we’ve done with it is polling. If you need further correspondence and coordination for those kinds of data, then you should let me know.

Audience Question: What was the purpose? What was the guideline for developing the API [it seems as though it’s a layer on top of the XML]?

Answer: Right. We have a few reasons for doing that. One, we wanted to make a RESTful web interface, so we decided that that… Yeah, RESTful. We started articulating the API into a kind of URL structure is actually more intuitive to the user. So, you know that the API is not made for that, but agencies/LA-Metro/routes, and you can get a listing of all the routes that we have. If you put 704 actually at the end of that URL, you’ll then get your information for route 704, and all of the information that you want from these guys is articulated in this way.

We just see it as value essentially to make the URL structure a lot easier to use. The same thing that we did on our website. We also wanted to add different data types to the API test, so we included JSON and JSON-P for JavaScript. As different data types are available just by simply adding JSON to the end of the URL, you’ll get that data type directly.

So that’s certainly the most significant addition, I think. You can use Ajax-type stuff in the browser if you like. Or if you prefer to have a different kind of data than XML, then we’re offering that.

Audience Question: This is a little bit half-baked I guess, but once you start pushing data our or allow data to be pulled to these mobile devices, one question becomes do you at some point want information back from these? Do you anticipate that, like customer surveys or other kinds of things from riders who are using the apps?

Answer: I think definitely for the Next Trip service, we do have customer feedback already planned in the campaign.

Audience Question: Right now is this just a read-only type of process?

Answer: Yes. We’re considering, we talked about handing out the API keys. Right now there’s just kind of a generic API key that we hand out to the developers site. So we’re considering maybe having one specifically for apps, because we’d like to know more in depth who is actually doing what. But we haven’t done that. So one step at a time.

Audience Question: Susan, can you give an introduction to the GTSF?

Answer: OK. I think probably most people are familiar with the Google Transit Trip Planner. They make it there. It’s pretty nice to be able to choose a transit trip right there when you’re exploring in Google or trying to find where you want to go. See if possibly there would be a trip there. So we started putting this out in this format a few years ago. We have a new export of the schedule, it’s approximately every six months, and there are exceptions over the many years, but most of the time it’s about every six months, in June and again in December.

We made the new feed, so anything that changes at those times gets included. And also, if between shakeups we have a change, a major change, not a small change for a few days because of constructions, but like a major change in a line where they reduce the number of trips, add, or make a route change. Or like the Tiger Express, that goes in just for the seasonality now for the summer–we put that in and add it.

Finally, there’s a link there. You can see when it’s been updated. You can get emailed when it updates, so you’ll know…if you don’t go check it all the time, if it’s a static data set there then you’ll just get an email telling you it’s changed, and you can go pick it up.

So that’s basically if for that we go over it, and it has rail and bus and represents our entire system, both the directly operated service and the contractors that we have that do some of our service through there. But it is just Metro service.

Audience Question: Are there any plans to include DASH system data in?

Answer: Not for us to do it, no. Because there are so many operators here in L.A. County, there is need or desire to see more of them get included in Google feed, and some of them have done that on their own. The L.A. city has done it. I don’t know why DASH isn’t in there. They’ve done it for their commuter express and all. I know that.

Quite a few of the cities are in, so they all have their own. Whether they all make them available to the public or not, that I don’t know. And I think it would really be a valid question to ask them if it could be made available because it would help people make a more comprehensive application of some sort for people if they want to use it.

So maybe down the road if there’s enough interest something could change, but that’s been…because to go down that path and start working with one agency would then put us in the position of…and we’re not staffed or funded to do it. They all have their own budgets, so how that would be coordinated, maybe it would all come together in something down the road a bit.

Audience Question: When I go on the developer website I see the GTFS data associated with the GIS data, but when I went there last time, I got 404’d out and couldn’t get at the data. I’m just wondering if that’s been fixed?

Answer: Yes, it has.

Audience Question: How do we register for getting emails about updates for the GTFS data?

Answer: There’s a link up at the top that says, “Remind me,” so we’re using GovDelivery (a third party notification system, and if you subscribe to it, any time the data of the info changes on that page, you’ll get pinged and emailed.

Audience Question: What development environment are you using to build that up?

Answer: We run is pretty much basically a LAN based system. OK, we just have banks of servers running MySQL data, it’s all open source. MySQL Database, on Linux servers. Mostly everything is written in PHP. That may change, it’s not my favorite, but one of the things that we wanted to do was make sure that for disaster recovery it was fairly inexpensive for us to choose an environment where you can get large ISPs, and it’s also easy to get programmers in here that can program with PHP. So it’s fairly easy to support.

So, that what is currently being done.

Audience Question: When you said seventy one (71) agencies, are you talking about like Sandbag, RCTC, etc?

Answer: Yes, yes, they are all in there.

Audience Question: Would there be any way, I am sure that’s probably the nature of this whole thing… Because I love the Google Maps thing. I am currently shut out of it right now because I got stuck with the crappy $10 replacement phone. But yeah, I use it like every day to get to school and back. And it’s funny because sometimes it will give the most optimal route and sometimes it will give me a route that I haven’t tried yet. But I’ve noticed that sometimes it will try to route to a stop that’s like a mile away. And I’m like, there is no way I am making that on foot or on skateboard.

Answer: I don’t want to get into it now, but I will tell you there is a thousand and one things that we do differently. It’s a harder process that we use, but it tries to do just that. It’s tries to create more reliable trips that people are more apt to take. They tend to not actually always look quite as good on paper. Google makes a really good on-paper type trip in my opinion.

The problem is, if you know about A-star algorithms, what they tend to do is if there is a trip that you can squeak out right at the last minute, make it all work, it will find it. The downside to that is just that that’s on paper. In reality when you go out in life the buses are running, a certain percentage are running hot, a bigger percentage are running late. There is traffic and stuff like that. I am not picking on our company, it’s hard to drive and maintain the end times.

So you have a much greater chance of missing some of those trips, yeah. We try hard to create trips that make it easy, but they tend to be not look as optimal, but they are the trips you can count on.

Audience Question: Could we talk about, could you speak through the differences between the GTFS data, the data that you use for trip planning?

Answer: Very sound. We get our data from the same source. We get it from Susan’s.

Audience Question: So the GTFS data also reflects the 71 algorithms…?

Answer: No, no, no. The GTF data set that Susan provides is strictly for this agency.

Audience Question: OK. But your Trip Planning include all the other agencies?

Answer: Yes. And for just the same reason Susan, we can’t…there is a couple of things, we can’t provide that…we went through a whole thing here with our legal group and whatever. We can’t just provide that data. And frankly I am going to be really honest with you. If there was no legal issue, I wouldn’t support trying to put all that data up there. I can’t stop all the companies from making it available, if they do one day. But I will tell you the level of complexity it takes to try to take all these different agencies doing stuff and make that stuff actually look like one unit, like one set of data and make it work is really difficult. And what happens is with that many agencies it’s very easy for them. And this happens all the time.

Metro will change datasets once a week at least, if not more than that. And they will do something completely different that the logic just won’t work. We get a little bit of lead time when we have to quickly rewrite some stuff and make it work. And I think that’s just too much to put on a developer. By having an API, we take care of that complexity for you and you can just hit the API and get the data out.

Audience Question: Can we get your source data?

Answer: We could look into providing it.

Audience Question: Are there API calls go at the underlying data?

Answer: No, we are actually providing some of the functionality, but that’s actually one of the things and one of the reasons I wanted to be on this panel. I wanted to get a feel for what people really want. And that’s certain…I mean that’s something I thought of. Once we’ve homogenized it and made it all the same, yes, we absolutely could do that. It’s not available now.

Audience Question: You have the most robust data center, what about the other transit agencies?

Answer: I think it’s pretty good. I will tell you that every dataset I have seen, and I am not going to tell our stuff is 100 percent accurate, it’s not. Every dataset I have seen, these are so big, have little things we find all the time, and we try very hard to clean up anything we can find. We get some carriers that are small, that they don’t do as good a job of updating us. And we have to be, we proactively reach out to some of these smaller companies. Some of them are very small companies. And we proactively reach out to them every week or two and try to get them.