Congrats 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).
For 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."
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?)
Cool, is it the general bus system in frans including the small local buses?
I just started a creating a small app for the local bus in town built with NodeJS and AngularJS.
I 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.
Interesting, 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
I 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!
Well 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.
This 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.
Thanks 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)
I 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?
Thanks 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)
[+] [-] dougmccune|12 years ago|reply
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|12 years ago|reply
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'
[+] [-] prawn|12 years ago|reply
"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/
[+] [-] bambax|12 years ago|reply
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|12 years ago|reply
As for my book, I'm selling through Gumroad, which I believe only allows credit card payments.
[+] [-] spathon|12 years ago|reply
[+] [-] jmnicolas|12 years ago|reply
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|12 years ago|reply
Side note: my book is about consumption of GTFS feeds rather than generation of them
[+] [-] albumedia|12 years ago|reply
[+] [-] qzervaas|12 years ago|reply
[+] [-] bdferris|12 years ago|reply
[+] [-] qzervaas|12 years ago|reply
[+] [-] jbrooksuk|12 years ago|reply
[+] [-] ekpyrotic|12 years ago|reply
[+] [-] qzervaas|12 years ago|reply
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.
[+] [-] fogleman|12 years ago|reply
https://developers.google.com/transit/gtfs/reference
[+] [-] qzervaas|12 years ago|reply
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)
[+] [-] rmc|12 years ago|reply
[+] [-] qzervaas|12 years ago|reply
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)
[+] [-] zzleeper|12 years ago|reply
[+] [-] spathon|12 years ago|reply
[+] [-] qzervaas|12 years ago|reply