Published Dec 02, 2015 by Len Epp
Thomas Davis is a full stack developer and CTO based in Brisbane, Australia. Thomas is the author of a bestselling Leanpub book, Backbone Tutorials, with over 27,000 readers. In this interview, Leanpub co-founder Len Epp talks with Thomas about his career, his projects, and his experience using Leanpub.
This interview was recorded on July 30, 2015.
Len Epp: Hi, I’m Len Epp from Leanpub, and in this Lean Publishing podcast, I’ll be interviewing Thomas Davis. Thomas is a full stack developer based in Brisbane, Australia. He’s currently the CTO of FPV Racing, a new sport that combines hi-tech drones with high speed racing, which sounds pretty awesome. He has led and been involved in many projects over the years including CDNJS, JSON Resume, and he has a particular interest in building and organizing large open source groups. He’s also currently doing development work for the Electronic Frontier Foundation, building an action center in Ruby on Rails to lower the barrier to entry when contacting the United States Congress.
Thomas has also helped millions of website visitors learn Backbone.js through his popular tutorials, and he’s the author of the Leanpub book, Backbone Tutorials, which has reached over 27,000 readers on Leanpub. In the book, he aims to get developers up to speed with single page web application development, using Backbone.js as a foundation. In addition to being available on Leanpub, as I said the book is also available for free at backbonetutorials.com.
In this interview, we’re going to talk about Thomas’ professional interests, his books, his experience using Leanpub, and ways we can maybe improve Leanpub for him and other authors. So thank you Thomas for sitting through that intro.
Thomas Davis: Thanks for having me.
E: I usually like to start these interviews by asking people for their origin story. Can you tell me a little bit about how you first became interested in being a developer?
D: Yeah. So I have a sort of weird history with computers, I guess. I think when I was going to primary school, computers in Australia were just starting to be brought into the classrooms. So my first experience with a computer would have been probably Grade three or Grade four. Whoever used to finish their math exercises the fastest got to use the computer. So that was like an extra incentive for me to be good at math, and also get time with the computer. That was my first introduction. And then over the years, I just used the computer at school, and it wasn’t until about maybe junior high school, I got my first computer. And it was actually a funny story, because my first computer was built out of parts from like the dump, essentially. I used to go look for spare parts for computers — I looked out for them. My uncle helped me put it together. And then from that day on, I don’t think I’ve spent any less than 16 hours a day on a computer. So…
D: So, I’m a computer addict since then, constantly working on things. It doesn’t matter what it is. As soon as I have any spare time, I like to start a new project. I’m hoping to stop that eventually. And I guess I just followed — I tried to go to university, but I dropped out after a year, and I just started freelancing in web development. And that sort of worked out for me pretty well.
E: That’s great. That’s really interesting to start that way. Do you feel like maybe you’ve maybe missed out on anything, or have missed out on nothing at all and only gained a few years of life by not finishing up with say a conventional university degree?
D: Yeah, I mean a lot of people say that you don’t need university to work in IT, and I guess I would say the same thing.
D: It’s not that I didn’t need it, but I’m perfectly happy with my career path at the moment, so that’s been fine.
E: Great, great.
D: I guess at the time, they were offering software engineering degrees, not web development. I had been doing web development for about 5 or 6 years before going to university, so I sort of knew more web development than they were willing to teach anyway. It wasn’t exactly what I was trying to do at the time, so I didn’t really see it as necessary. Plus I’m extremely lazy and I didn’t like going to class.
E: Fair enough. I was wondering how you got interested in Backbone eventually?
D: I was programming in ActionScript up to version two in Flash, and I remember one of my high school assignments was first to build a ASP database and a service — just an app, essentially. And I was like, to the teacher, “Oh, I already know how to do this. Can I build the whole application in Flash, so it can look better?” And that was actually more complicated than [what was] taught in the class, because you had to connect to the database from Flash and make a whole app inside there. I guess that was me. I didn’t realize until five years later that I was already building single page apps in Flash, a lot earlier, and just because I follow that front end trajectory, it just made sense with the advent of AJAX — well the popularity of it, that apps would go down that route. So I just ended up in doing that.
I’m not quite sure how I ended up writing Backbone. It was actually one of my first experiences with the Hacker News community, I was first there about 6, 7 years ago. Should I use SproutCore — which was the framework before Ember, so Ember evolved from SproutCore — should I use SproutCore or Backbone.js? So that was like my first little post that made it to the front page of Hacker News, and I got lots of advice — and I was like, “Screw it, Backbone’s a lot more minimal. I don’t want to learn everything about SproutCore.” So we went with Backbone at the time. And then as I was learning it, I couldn’t find any learning materials, so I thought I’d just write — I think the tutorial I wrote was called “Backbone.js for Noobs by a Noob.”
E: That’s a great title.
D: Yeah. All I was doing was essentially documenting the steps it took me to get up to a working application with Backbone. So I didn’t actually know anything about Backbone. I was just documenting what I was doing in particular, and then I think I posted that on Hacker News. That had relatively large success, which then said, “Well, I might as well turn this into a tutorial site, or something like that.”
D: Eventually I turned it into my mobile format.
E: That’s awesome that your book on Leanpub has been one of our most downloaded books of all time. So it’s obviously really, really useful to people.
D: I haven’t had the time to update it as much as I’d like. Just because the front end framework scene, it just moves so fast, and it’s really hard to keep up a lot of the time.
E: Speaking of moving fast, FPV Racing sounds pretty awesome. Can you explain a little bit about what it is and where it’s going?
D: Sure. So I got into drones — well, we call them UAVs — in the community, people like to call it UAS or UAV, “unmanned aerial vehicles” as opposed to drone because it’s not quite what a drone is, but what has happened — the popular world has said that now anything that looks like a quadcopter is a drone, and I’m OK with that because I’m from the software world. We call everything the wrong name. And I got into that because my housemate is an electronics engineer, Donald Hills, and he’s become my co-founder.
We actually started another website first which is Dronehire.org, which was sort of like a Yelp for drone services. So we had like 500 businesses, and if you need aerial photography in a certain state of the world, you can just search our directory and find all the operators who offer that. About a year into that, Donald’s like, “Oh man, FPV Racing’s going to storm the world! It’s going to be this new sport.” And I was like, “Yeah. Everyone’s tried inventing a sport before.” And then another six months later, I saw his traffic picking up, I was like, “Holy …, eh? You might be on to something here.”
So I’ve joined in on the project now, and yeah — it’s a pretty cool sport where you essentially put a camera on the front of a drone, that’s optimized for speed, you put the goggles on your head, and you get like a super-immersive experience. I think pilots have described it as being like Superman, or like a bird, or an eagle, because yeah — like virtual reality, it sort of tricks your human cognition into thinking you’re actually moving. Not like incredibly animate — to a certain degree, it tricks you into thinking that.
Now I’ve seen other pilots — one used to be an ex-, he’s called Metal Danny, he used to be an ex-motocross rider. And he’s called Metal Danny because after too many crashes, he has metal in every part of his body. What he decided was that he needs something that he can still get the adrenaline from, but without all the metal in his bones. So he quit that, and he said that drone racing actually gives him this adrenaline rush like extreme sports. But obviously, he can do it from an armchair.
E: Yeah, that’s fantastic. It sounds really interesting. I was wondering actually, when I was reading about it, what’s the state of affairs with drone and / or unmanned vehicle regulation in Australia? Beause I think probably a lot of people listening will be familiar with the problems that the industry has had with regulation in the United States.
D: Yeah. Obviously it depends, depending on the country. Australia, we actually have a much more relaxed sort of setup than America at the moment. And I think the Australian government definitely realized the commercial aspects, probably because we have a lot of agriculture here, and precision drone agriculture is probably going to be one of the largest industries in the next 10 years. But for drone racing, the quads are so light that they don’t really even qualify for regulation, to a certain degree.
E: Oh, OK.
D: It depends on weight divisions. And depending on the countries. So it’s only past a certain weight division. And you can’t fly something above a certain height, or if it’s obviously commercial. Commercial is what is big in the States. You can’t really do it commercially. The weight classes are fine.
E: What do you think about the possibility of goods being delivered that way in the future, Amazon-style as it were? Do you think that’s something that’s going to happen?
D: Sure, sure. I’m a web developer, and not the engineer of the team. So I’m not as so well-versed in physics or logistics to know what the best things for that is.
E: Fair enough. I just -
D: Yeah, you know — I mean Amazon’s probably got a lot of smart people working there. I’m sure they think it’s possible. I would say it probably is, but I don’t know if it’ll be that efficient, personally. It seems like they’ve got van delivery pretty down pat. You can take multiple parcels and you just deliver it all in one big run. It’s pretty quick. And we’ll see. And obviously — yeah, regulation and safety. You can’t fly drones on rainy days. There’s lots of problems like that, so I’d like to see how they do.
E: Actually moving on to the topic of regulation, on your website you explain your position on internet regulation by saying that, quoting here, “Without the input of developers we can expect that backward laws and regulations will be created.” I’m really interested to know what your position is right now on the state of affairs with internet regulation generally, and where you see them going in the short term.
D: Yup. So I think it’s like — the internet is relatively new. I think, you know, the World Wide Web is as old as I am, born in 1989. So it’s sort of interesting to grow up with it. And it is just like, if you look at the state of affairs of Reddit for example, it’s this monster that nobody can understand. And I do think that regulations will be put on things we don’t understand, unless the experts in the field are willing to take their time and explain things, or what-not.
So I always urge developers who do have spare time to take interest in internet policy. Because there’s obviously a lot of apathy towards politics all the time, and that’s understandable. But again, for something so new, if we don’t have people out there — right or wrong to a certain degree — we just have people out there experimenting in that territory, and trying to force change, for the internet I think we’ll end up in a dark place.
E: Yeah, it’s interesting you bring up the newness of the internet, and also generational perspectives, because for a lot of people, especially people like us who spend a lot of time in front of computers using the internet, it’s an important part of everything we do with our professional lives. We just see it as a utility, like the electricity being on. But I know there are a lot of people out there who actually still treat it almost like something that’s an annoyance that’s going to go away. I remember reading an article by I think — I think it was quoting the head of the Ontario Provincial Police, for the province of Ontario in Canada, and he was saying, “You know, well of course what we really want — what would be ideal would be for people not to be able to get onto the internet without signing on and showing some kind of ID.”
E: And he meant every time they go on the internet. That’s what he would prefer. And I think the same character was in another interview and he was asked about Uber in Toronto, and he said, “You know, I don’t know anything about this kind of stuff. I’ve got younger people who can — who are into that.” And it’s like this guy’s the head of an entire province’s police force, and he’s got a deliberately dismissive attitude towards like, “the computer”. So I’m very sympathetic to your — when I was reading your description of your position on this, because it’s — it really is scary when you see that people like that are actually in positions of power over the law. And it’s not just that they’re kind of anti-internet, it’s that they’re purposefully unaware of how much of our life is actually driven by that.
E: Sorry, go ahead.
D: Yeah, I don’t think there’s any lack of motivational quotes from senators, and motivation on the sense where you have to do something because they sound so inane. We have an Australian senator who said that, “The internet is the biggest existential threat to mankind ever.” So, we’re all, “Hmm…” I don’t know how to take that. It could — maybe he’s right. Maybe he’s thinking like Skynet. Maybe he’s like really forward-thinking.
E: Yeah, unfortunately that’s probably not true. But certainly an interesting — interesting comment. And yes, speaking of politics, your Action Center project for the EFF sounds really interesting. I was wondering if you could explain a little bit about that?
D: Yeah so, well one correction — that was mostly last year.
E: Oh okay.
D: So I was just contracting, I was working on a few of the campaigns against mass surveillance for the States — even though I’m Australian, so I know it’s a bit weird. And I was helping out a lot there with a bunch of the orgs, and eventually the EFF. We were just volunteering at the time and EFF needed a bit of help sort of rebuilding their CMS for activism campaigns. So my good friend Sina Khanifar brought me onto the project to help out. And it’s just a Rails project to help email legislators in America.
That project has now spawned another project, which I didn’t work on, called democracy.io. I recommend checking it out. What it does, and it seems pretty simple, is that it lets you put in your postcode, and then send an email to all of your legislators in your area. You can choose a topic and send a message. Now that sounds like super simple. That sounds like something everyone should have. I mean we have it sort of in Australia, built by the state. But the funny thing is that that’s not actually possible in the States. Because first of all, senators don’t have email addresses.
D: So how we actually did the project was, we used something called headless browser, which is like running Chrome inside Terminal. So it’s like running Chrome programmatically. And what we do is, when you want to email a legislator, we actually load up their contact form on their website. And then we have a form. You put your information in that form, we load up their contact form, submit it for you and then return it. So if you want to email three legislators, we load up three different browser sessions, put the data in there automatically, and then email it for you.
Actually, we had to get volunteers to help us populate the contact form database. And we had about 150 developers in 48 hours, submit about 5,000 pull requests on GitHub to make this possible. And it was this huge organized project between all of the internet orgs. It was quite fun. It was incredibly hard, so that project took probably a year to even mature it enough to get to democracy.io. So that’s a hard project.
E: That’s really amazing that you guys did that and pulled it off, and that it’s so difficult just to contact politicians.
D: Yeah, I mean if you’d asked me to do it originally, I would have said, “That’s stupid,” because it would take so long to figure out how to get — because all 500 contact forms of the legislators are unique. So you have to describe in YAML, in a code format — what each form looks like. That’s the only way we can do it programmatically. So it’s a huge project, but we actually pulled it off, which was impressive.
E: Yeah that’s great, that’s great. You’re also involved with a group called Taskforce, I think?
D: So again that was — that’s how I got into digital politics. And that was posted on Hacker News, again — I’m an avid Hacker News reader — by Sina Khanifar. And he was just looking for a group of web developers who have some spare time to react to — so what happens in the political realm is that bills trying to get rushed through the house. So a party might put out this bill and say, “That’s right, get it signed in the next week.” And if you try to build a website traditionally, to try and like combat that, it takes you like two months to launch the thing. So you want to put together a team of people who can do it in 24 hours. How fast can you just jump on, build the website, and combat that, raise awareness about a bill that might be passing too quickly.
E: That sounds amazing. Yeah I was reading on your website too that you’re really into studying politics and philosophy in literature. And I was just wondering if there’s something you’re reading right now that you would recommend? Maybe on this kind of subject that people would be interested in?
D: Not one on digital politics sorry, no. No I don’t have an answer for that.
E: Fair enough, fair enough — it was kind of blindside I’m sure. Moving onto Leanpub, I was wondering if you remember how you found out about us — you’ve had your book on Leanpub for quite a while now — and if there was any particular reason why you chose to use us for your publishing platform?
D: So I cannot remember for the life of me, why I started at Leanpub. I think, I guess I was Google searching for a — I was going to write a book, sort of. And I saw that all the solutions around were just the most mundane and complex things in the world, i.e. writing LaTeX and all that. Sorry, I just insulted all the LaTeX guys. They’re like a very — they’re a very, very vocal minority group. But it was incredibly hard to use LaTeX. I didn’t want to go down that route. And actually, I think I know why I stumbled across Leanpub. I wanted to create mobile — sort of mobile editions of everything. I wanted to convert it to Kindle — all the devices, like there’s so many now I can’t remember them. And that would’ve probably been my search originally. And my tutorial’s already written in Markdown. Leanpub was like, “We support markdown.” I was like, “Cool.”
So then I copied some of my content over, put it in Dropbox, and my book was delivered in like 30 seconds. And I was like, “What the hell, that’s just the most beautiful system.” It’s got all the formats in my Dropbox, it’s converted everything. It was a really great experience. And I think I was trying to evangelize for Leanpub at the time. I was quite happy with what they had done.
E: Oh well, that’s great to hear. I was wondering, speaking of that — sort of evangelizing — through your tutorials, was engaging directly with the people that were using them an important part of your process? Were you getting feedback from people and then responding to them in order to improve it over time?
D: I guess not quite, not through the Leanpub platform, because I already had all the other avenues open. Most people went through GitHub to talk to me. I don’t know if they came from Leanpub, but a lot of my feedback came through GitHub and Twitter.
E: Okay, okay. I have, I guess I have a question. If there’s anything that you remember from the experience that you think we might improve, or if there’s anything that you’ve come across lately that you would really like to see in a service like this, that just isn’t out there or isn’t being fulfilled well by anyone?
D: So to be honest, Leanpub’s one of those services where I just think it’s perfect. I think they do — I think you guys do everything really well. And if there isn’t something there, I think you guys know what it is already. So I would rarely bother to say anything. That being said, if I were to — no I really don’t have any sort of constructive feedback. You guys do a fantastic job.
E: Okay well thanks. That’s the best non-constructive feedback I’ve ever heard, so thank you very much for that — we really appreciate it. I guess the last question I have is — what’s your next project that you’re working on? If you have any time in-between being CTO and all the other projects that you’re doing now. Is there anything coming down the pipeline that you’re just getting ready to do?
D: I guess well, just stay in the vein of — to talk about Leanpub. I guess I’ve always idealized writing another book, but this one being more of a novel. And I’ll probably end up doing it through Leanpub. I want to write a novel about the life — not about the life of a web developer, but the web developer as a new type of person or like a new — a new protagonist, I guess, to a certain degree. You read books all the time about someone who might work in accounting, and he goes through this life experience. But we never hear of books in the perspective of like a coder or a developer. Like a D.H. Lawrence style. It’s actually a really well written novel — not to say that I can do that. But written from the — the main characters in the programming world. And I haven’t seen too much like that.
E: Yeah that sounds like a really interesting idea. I personally haven’t thought about that before, but obviously you know the figure of the hacker — is something that people have a concept of.
E: But usually they’re kind of like wearing leather and involved in international spy rings or something like that. And then I guess the other stereotype people might have would be like, I guess now from Silicon Valley, that series — I don’t know if you’ve watched any of those episodes.
E: But that sounds like a really great idea. Because, I mean, software is eating the world, right? And this is going to be -
D: Oh there’s quite a large audience. I mean, a lot of people would read it. I love watching Silicon Valley, because it’s like this TV series about my daily life to a certain degree. So it’d be nice to read a novel or something — a piece of literature that describes this new archetype.
E: Yeah it’s a great point too, that we’re at the point now when it’s sort of being defined in the public mind maybe for the first time. And to be there at the beginning of that would be really exciting as a writer.
D: Yeah, so I’ll probably end up publishing that through Leanpub, because I’m a fanboy.
E: Okay, great. Well thanks very much for being interviewed for the Lean Publishing podcast, we really appreciate it. And thanks also for being a Leanpub author.
D: Yeah no worries. Sorry for anyone listening to the podcast, I know a lot of Americans have trouble understanding my pronunciation, my Australian slurs.
E: Oh well, I think they’ll understand you just fine. Actually we interviewed Ryan Bigg recently as well. So Leanpub Podcast listeners will be getting warmed up in advance for you.
D: Yeah. I think he’s from the South though. They have a better accent. I’m from the North.
E: Fair enough. Thanks very much.
D: Alright, thanks for that.
This interview has been edited for conciseness and clarity.
– Posted by Len Epp