Archive

Archive for the ‘Google APIs’ Category

yTransit and GTFS revisited

July 8th, 2011

It’s been a long time since I last looked at GTFS. Since then, I’ve gotten tons of emails and comments on the blog post about my failed little yTransit project. A Google engineer in the Czech Republic working on their transit team even contacted me, but still nothing from actual transit companies.

However, it’s been a little while and I think there may be a glimmer of hope for this project yet. I’m guessing (hoping) that since smartphones have become increasingly popular, more people in the industry are getting a bit more interested in the technology. I called the Summit County, Colorado transit system (Summit Stage Transit) this morning and talked to the dispatcher.

I told him that I was interested in getting their transit schedule into Google Maps and he didn’t just say “uuhhhh… what?” He actually said “I think we’d be very interested in that.” He told me the person I needed to speak with wasn’t in the office at that moment, but he’ll be in later today and that I should leave a voicemail.

Now remember, I had originally contacted Summit Stage Transit way back in 2009 and they weren’t interested and didn’t return my calls. So at least this time around, I actually got a favorable response. That is huge progress!

We’ll see if this goes anywhere, but if they’re able to help me get some requirements built, I might actually be able to make this happen.

So officially, the project is still dead pending resuscitation by John at Summit Stage Transit who is supposed to return my call this afternoon.

Update: I spoke with John and I have a meeting scheduled for the July 20th to discuss their needs and requirements. This thing might happen after all.

Google APIs, GTFS

An App To Manage Bus/Rail Routes in GTFS Format — that no one wanted

June 8th, 2009

TL;DR version: I wrote a proof of concept GTFS data manager. I suck at sales or something. Small/medium transit companies don’t care about GTFS? The link to the app is at the bottom of this post.

The full version:

So before I actually started learning ExtJS (and the whole reason I started in the first place), I had this grand idea that there was a market for software that managed GTFS data for small and medium sized public transit organizations. The thought was that these transit companies didn’t use the incredibly powerful — and incredibly expensive — route scheduling apps. To go along with that, their IT departments are probably really small and underfunded.

For example, my local transit agency is using formmail.pl to submit feedback and their website has that wonderful tag that defines low tech:

<meta name=”GENERATOR” content=”Microsoft FrontPage 6.0″>

And the link to their formmail form is also 9 grades of pure awesome:

It's 1994 all over again!

Anyway, I threw together a little ExtJS application as a proof of concept and started reading and learning how ExtJS actually works (because my code for the proof of concept was horrible). I then started reaching out to some small transit companies around the country targeting the ones that actually had halfway decent maps of their routes and stops. By the way, Amarillo, TX has the most detail online including pretty much everything you would need to create the GTFS data feed.

I figured for a relatively small monthly fee somewhere around $50 to $75 a month or so, we could give them an application that lets them manage their routes, trips, stops, and publish a GTFS feed for them with their data. Or perhaps you could charge based on the size of the transit company… like $x for y number of routes. Anyway, it’s actually not an incredibly difficult program to write. At $50 bucks a month you’d never be a millionaire, but it would be some nice extra side income if you could get a bunch of these small agencies signed up.

I figured a good way to get started would be to offer it for free to whichever company I could find to accept it first. Amarillo was an obvious first target. Summit County, Colorado had quite a bit of data as well. My local transit agency was missing GPS locations of their stops, but it wouldn’t be too hard to collect that. Probably $100 bucks in gas or so driving around collecting GPS coordinates. There were a good number that had pretty much all of the data online already, they just needed the format. That would have been perfect, because I could format the data for them semi-manually while I was writing the app at the same time. This would give me a perfect test case and they’d get free service.

After a number of email inquiries and some phone calls, I got absolutely nowhere. One must really suck at sales when you can’t even give away a product to someone. Either that, or there is simply no interest. I didn’t get a single return phone call or email from anyone, and I was offering it for FREE. Not even a nibble. Nada. Nothing. Either these companies don’t understand the benefit of pushing their GTFS data to Google or they just don’t care. (Judy Phelps @ City of Amarillo, I’m still waiting to hear from you!)

So the next question was how could you provide the service for free to transit company and somehow monetize the content. Well, these types of questions are certainly not my forte either, but we kicked around a few ideas and ultimately decided that there’s really just no good way to do it and make any halfway decent amount of money. I don’t think you could even cover the costs of the hosting. You could write your own web portal type thing to host their agency website for them, which isn’t a bad idea… but again, the cost would ultimately fall on the transit agency and that was a black hole for my attempts at contacts.

So, after lots of reading and learning ExtJS, figuring out the GTFS format, the Google Maps API, learning JavaScript again (I hadn’t touched it since Netscape 4.x or so.. it’s a bit different now), and crunching some numbers to make the costs work, I’ve decided to give up… for now.

The proof of concept app works OK as a GTFS data browser (it’s buggy), but I never implemented any modification methods. I did make a shape editor to generate GTFS shapes, but you can’t actually save it. The data that you would need to generate the shape in GTFS format is stored in memory though. The data currently in there was imported from a good number of public GTFS feeds. There’s about 15 or so feeds included I think. Anyway, you can mess around with it here:

http://www.ypass.net/yTransit/

I figure I’ll probably end up finishing it (read: rewrite from scratch) at some point anyway, because it was fun to work on and it’ll help me learn ExtJS. Then I’ll just open source the code. Don’t hold your breath. Without any monetary incentive, this is low priority.

If you have any comments or questions about it, don’t hesitate to leave a comment below.

ExtJS, General, Google APIs, GTFS ,

Google Wave and the Death of Email

June 7th, 2009

Normally I’m not a big fan of the marketing hoopla surrounding announcements about upcoming technology. But after I watched the 90 minute Google Wave demonstration, I was awed. It’s not every day you hear about someone discussing replacing something as ubiquitous as email.

The fatal flaw in most of Google’s offerings is that companies lose control of their data. This is the problem with cloud computing as well. There’s all sorts of privacy and legal issues when you use remote data storage. This is why I’ve always felt cloud computing is something of a pipe dream.

Google Wave, on the other hand is different. It’s not a Google service, per se. It’s an open protocol more along the lines of a mixture of email and IM. It appears to be based on a modified version of XMPP. Here’s a summary:

1. Take everything you know about email and throw it away.
2. Email becomes a wave (side note: people that use email as an IM client are annoying)
3. IM becomes wave.
4. Wiki becomes a wave.
5. Blogs become a wave.
6. Documents (text, spreadsheet, etc) become a wave.

This has the potential to completely replace the way we view communication on the Internet. The demo (in the link above) is nothing short of amazing. But the best part is that it’s an open protocol and each company can run their own wave server. This means it is actually usable in the corporate world.

There’s a couple of news articles out there that try to explain it using in text format, but if you really want to wrap your head around the concept, it’s best to watch it in action in the demo. If you’re any kind of tech geek, it will be 90 minutes well spent.

Now I’m ready to set up a Wave server… no more MS Outlook.

General, Google APIs

Plotting GTFS Bus Routes and Stops on Google Maps

March 25th, 2009

I recently started playing with the public GTFS feeds (Google Transit). I’ve imported everything into MySQL and I’m working on some fairly cool applications for dealing with this data. Using some ExtJS components mixed with some Google Maps API pieces, you can create some pretty cool applications.
Read more…

ExtJS, Google APIs, GTFS , ,