6 ms·
Show HN: I wrote a very niche ebook about GTFS public transit data
- prawn 13y agoFor anyone else also unaware, GTFS is General Transit Feed Specification - "The General Transit Feed Specification (GTFS) defines a common format for public transportation schedules and associated geographic information. GTFS "feeds" allow public transit agencies to publish their transit data and developers to write applications that consume that data in an interoperable way." https://developers.google.com/transit/gtfs/ https://developers.google.com/transit/gtfs/
- zzleeper 13y agoAlthough it's not my niche, it looks quite interesting and the sample chapter is very clear. Congrats!
- albumedia 13y agoThis is great...wish I had it a year ago when I started working with GTFS. My latest project at http://yrtbustracker.com http://yrtbustracker.com (Canada)
- dougmccune 13y agoCongrats on getting it out there! My only quick feedback is that 80 pages split into 20 chapters feels off to me. A 4 page "chapter" is something more akin to a "section" or some other unit. The sample PDF has the first two chapters, each of which are basically a page each (plus a large image). I'd recommend redefining your definition of "chapter" and restructuring into fewer/longer chapters. As it is it doesn't feel like there's actually much meat there, particularly for a $30 PDF. As I think about it more, a simple restructuring might not be enough for that kind of price. $30 is more than the retail price for a lot of 300+ page technical books (years ago I wrote a 400 page book with a print version that retailed for $30).
- qzervaas 13y agoThanks for the feedback - this had crossed my mind also, but I ultimately called them chapters as they are logical places to split the content. As far as the pricing goes, my rationale was to price based on the value it can provide and then take into account how niche the topic. Some of the content in there took me many many hours to figure out for myself (so thousands of dollars at an hourly rate). Offset this with (in my opinion) a fairly small pool of potential buyers, this seemed about the break-even point on the project. On a side note, you can get $5 using the offer code 'metro'
- jmnicolas 13y agoI did an internship in a bus company several years ago and we finally abandoned the idea of GTFS because they (Google) were so uptight about the correctness of the data. We had a few trips that were non consistent (the average speed was something like 150 km/h - 93 mp/h) that we couldn't do anything about and they refused to integrate those data. Several bus stops were also too close (they were apart of a narrow street) and were generating warnings every time. I wish I had this book back then.
- qzervaas 13y agoInteresting, I've heard similar stories of agencies having trouble with Google Transit compatibility. Aside from the edge cases, it is a very robust specification that is able to handle a majority of situations. Side note: my book is about consumption of GTFS feeds rather than generation of them
- bambax 13y agoWow. I'm building an app for route planning / public transport in France, the first version of which was in full-JS and won a competition from RATP: http://data.ratp.fr/fr/actualites/article/finale-de-lopendatalab-la-ratp-recompense-2-ap.html http://data.ratp.fr/fr/actualites/article/finale-de-lopendat... We have now moved the route-planning part to a server in C++ but we want to move it back to the client using something like Xamarin/C#. Any thougths on this? Will definitely buy the book! (No Paypal, though?)
- qzervaas 13y agoSounds awesome if you can get a trip planner working in JS! The usual go-to is OTP (http://www.opentripplanner.org/ http://www.opentripplanner.org/), but you should also check the relatively new RRRR. More info here: https://github.com/bliksemlabs/rrrr https://github.com/bliksemlabs/rrrr As for my book, I'm selling through Gumroad, which I believe only allows credit card payments.
- bambax 13y ago> Sounds awesome if you can get a trip planner working in JS It was really a horrible hack that took into account only lines and stops (no trip times, transfer times, schedule, etc.) but as a simple visual app, and in the context of a hackathon, it worked. It was even featured as "Google Map of the week" on the Google Geo blog before it was even showed to RATP http://googlegeodevelopers.blogspot.fr/2013/08/interactive-map-of-paris-metro.html http://googlegeodevelopers.blogspot.fr/2013/08/interactive-m... But now we need to "muscle up" the routing part and so are leaving JS completely (however if the data can be reduced significantly it would be interesting to go back to it someday). OTP is much too big to ever migrate on a mobile device; will definitely check out rrrr; what do you use yourself?
- qzervaas 13y agoI play around a lot with OTP. I'm really interested in rrrr. I'd really like to code something super-easy to configure and run in Go though
- 13y ago
- jbrooksuk 13y agoI wonder when they'll release their flight data. I'm very interested in this as my work for a travel company has recently included building dynamic packages. Having flight availability on the scale that Google has would be of most use to us!
- spathon 13y agoThis is perfect now when I just started importing timetables to SQL :) Will give the book a try
- qzervaas 13y agoGlad to hear - hope you find it useful!
- bdferris 13y agoAs someone who does nothing but hack GTFS all day, your book brought a smile to my face :) Amazing how far GTFS has come.
- qzervaas 13y agoGlad to hear! I know how you feel, seems like all I do is look at GTFS feeds.
- ekpyrotic 13y agoWell done qzervaas! Please keep us updated on your success. I would be very interested to hear how many copies of this book you managed to sold - and your margins. I wonder whether writing in such a niche is profitable.
- qzervaas 13y agoThis post on HN generated about 2,700 views on the product page, and low double-digit sales. Sales have so far covered my direct expenses (domain registration, cover design, copy editing), although I kept these costs as low as possible. Profit margin can only be determined by the value I put on my time. It will take a little while to cover this but the GTFS spec isn't going anywhere so I'm confident this book will be relevant for quite some time.
- rmc 13y agoI like how you've included an index in the sample chapter. It shows what else is in the book. How did you generate that? What tools did you use to write the book?
- qzervaas 13y agoThanks for asking - I wrote the book using LibreOffice and used the Table of Contents, Indexing, and cross-referencing functionality. In actual fact: - I wrote the first half of the page in Apple pages - I couldn't cross-reference so I moved to Word for Mac - This worked well, but I couldn't export the PDF with internal links - I converted to LibreOffice - This exported with external links To create the sample, I then opened in Preview, deleted all the internal pages, dragged in the "call to action" page, then saved. LibreOffice worked well for the most part, although there were a few little funky things that didn't work how I wanted them to (e.g. justified text puts extra spacing between letters as well as words. Also, indexing a word sometimes makes the alignment go all screwy, for some unknown reason)
- fogleman 13y agoWhat differentiates your book from the reference? https://developers.google.com/transit/gtfs/reference https://developers.google.com/transit/gtfs/reference
- qzervaas 13y agoThanks for asking: it does include the GTFS, but then provides additional discussion over aspects that are not necessarily clear or potentially confusing for newcomers. It also covers the fact that many agencies interpret the spec differently and explains things to look out for. The final half of the book shows how to optimize the data from a feed so it will perform more efficiently in an SQL database (for instance, showing how to reduce the number of points in a shape)