An interview with Ben Frain
00:00
00:00

In Leanpub's Frontmatter podcast, we interview authors and special guests about their lives & careers, their areas of expertise and the issues of the moment, and their experiences as writers. Every episode is deeply researched and covers areas that are equally of human interest, general interest, and professional interest.

View all Frontmatter episodes

  • Episode 37

Ben Frain, author of Enduring CSS: Architect and maintain large-scale CSS codebases

Watch on YouTube  Listen on Spotify
00:00
00:00
46 MIN
In this Episode

Ben Frain is the author of the Leanpub book Enduring CSS: Architect and maintain large-scale CSS codebases. In this interview, Leanpub co-founder Len Epp talks with Ben about his unique career path, his current work, and his book.

Transcript

Ben Frain

Ben Frain is the author of the Leanpub book Enduring CSS: Architect and maintain large-scale CSS codebases. In this interview, Leanpub co-founder Len Epp talks with Ben about his interesting career path, his book, and his experience self-publishing on Leanpub.

This interview was recorded on July 13, 2016.

The full audio for the interview is here. You can subscribe to this podcast in iTunes or add the following podcast URL directly: http://leanpub.com/podcast.xml.

This interview has been edited for conciseness and clarity.

Ben Frain

Len: Hi, I'm Len Epp from Leanpub, and in this Leanpub Podcast, I'll be interviewing Ben Frain. Ben is based in Cheshire, England and is a senior front end developer at bet365, one of the world's leading online gambling sites, with over 19 million customers. Ben has previously published two books with Packt Publishing: Responsive Web Design with HTML 5 and CSS 3 and Sass and Compass for Designers.

He has spoken about web development a number of events, and on various industry podcasts. In a previous life, Ben was a TV actor and technology journalist, and he has an ongoing interest in writing screenplays. He blogs about CSS web development and other tech subjects at benfrain.com, and you can follow him at @benfrain on Twitter.

Ben is the author of the Leanpub book, Enduring CSS: Architect and maintain large-scale CSS codebases, and we'll be talking about his book a little bit later. In this interview we're also going to talk about Ben's professional interests, and at the very end, his experience using Leanpub, and why he chose it to self-publish his book. So, thank you Ben for being on the Leanpub Podcast.

Enduring CSS: Architect and maintain large-scale CSS codebases

Ben: Thank you. Thanks for having me.

Len: As I think you know, I usually like to start these interviews by asking people for their origin story. And I know from an interview I read about you that in your case, the path to where you are now is perhaps a little more circuitous than it is for most people, and I was hoping you could talk a little bit about how you came to where you are in your career?

Ben: Yeah, okay. Well obviously I'm primarily a software developer now. And the closest I got to software development in my younger years was, when we had a BBC Model B computer when I was a young boy, and we used to get computer magazines here in the UK. I don't know if you had them in the States? They contain a program, which you could basically spend four or five days of your life typing out. And then, hit go and they never worked. So that was sort of my initial foray into programming.

I basically started my career - I always wanted to be a film director. So, from sort of young teens, that was where my head was. I did film directing at university, and tried desperately to get into that career. Where I live in the UK isn't exactly a hotbed for the film industry, but off the back of doing that at university, I used to do a lot of acting as well. An agent took me on for the acting, and so I followed that path for a short time, and did about five years of TV acting here in the UK - none of which set the silver screen alight, but sort of soaps that are well known over here, like Coronation Street and the like. I was in that a couple of times.

The frustration with that sort of career was that I was imagining myself getting alongside Bobby DeNiro - and I was actually getting 10 lines in a not-so-great soap opera. So my idea of where I wanted to be in reality weren't measuring up. I'd got to a point where I'd started to write my own stuff. I'd written a screenplay, and I wanted to try to get that off the ground. I'd done short films before; the same time I was doing the short films, was when I started to be sort of tallied in with the beginnings of web design. This was about sort of '98 - something like that, or '99. A lot of people do websites for their band; my first website was one for a short film that I'd made.

And so these two lives started to develop - one where I was furthering my web development skills, and the other one was where I was trying to get this film career going. And the reality was that on a long enough timeline, what I wanted to do didn't pan out, and what I never planned on doing, did. So, that's kind of where I ended up.

I tried to get films off the ground, myself, tried to get them financed. It was very tough and I basically failed. I was into writing screenplays, and that made no money, but at the same time I was writing for technology magazines here in the UK and abroad. So that was where I was making my money at the same time. So yeah, I was making my money making websites for other people and writing for magazines, and then actually trying to get these screenplays off the ground, that never saw the light of day. So eventually, it just came to the point where I was so much better at the web development, that was taking off, and that's kind of the path that I followed.

That kind of brings us up to about 2011, something like that. I've been doing web development freelance for quite some time, and then decided to try my hand at a book.

I did a couple of books with Packt Publishing. I've always enjoyed the writing process, because I feel like I probably learn as much by writing something for other people, as I do just trying to learn for myself. There were good things about writing for a publisher, and there were lots of bad things. And we'll get to the bad things later on, maybe? That kind of gives you the versions of my torrid career path, I guess?

Len: I have a question specifically about the process of getting a screenplay funded. Maybe like some other listeners, I've written a couple myself, totally amateurishly, and entered them in screenplay contests or passed them around to friends, but I was wondering, when you say you tried to get them off the ground, what does that mean? Does that mean approaching producers that you've been introduced to? Or trying to get introductions to people with money who are interested in producing a film?

Ben: It was a bit of both. I'd done a bit of screenwriting, and I managed to get a literary agent as well off the back of that. So much like my acting ideals didn't match the reality of what agents wanted me to do, it was the same case with the screenwriting. They wanted me to be writing episodes of soap operas, and I wanted to be writing blockbuster films.

But throughout the course of the different people that I knew in the industry from doing what I did for some time - it was basically any producers that would let you bend their ear. There were production companies, as well, that - you probably had a very similar experience. You get a lot of responses from people that sound quite promising, but ultimately end up in nothing. And so when you're in the beginning of that journey, you always feel like you're on the cusp of something happening. And for me, at least, it never actually did. And so I got better at recognizing those situations.

But the one that I was going to try and make myself, what I planned to do was find 1,000 people to each put in 1,000 pounds. And so everyone would have an equal share in this million pound, low budget film. But I just didn't anticipate what a skill producing is, and how difficult it is to actually go out and get money out of people. It was basically something that I never considered that would be the difficult bit. So I spent all the time on the script, and the director, and the cinematography, and storyboarding - and all that sort of stuff. And I just sort of thought, "Well, of course people would want to put in 1,000 pounds to be part of a film." I just thought that would be a given. And nobody did. So it didn't pan out that well.

Len: That's really interesting, it sounds like having a screenplay and trying to get it produced is a little bit like being a startup and approaching venture capitalists. Almost none of whom will ever give you an outright "no".

Ben: Yeah, yeah.

Len: And certainly, unless you're a total basket case, they'll want to maintain positive relationships with you - and with everyone they meet, in case something pans out. And that's interesting, the sort of crowdfunding model that you're describing. Have you ever thought about using Kickstarter or something like that?

Ben: Well there was a thing a while back, when I was last seriously dabbling in it, called Trigger Street - I don't know if it's still going. I think it was something that Kevin Spacey had set up. That was quite interesting, because you put your screenplay in, and it was voted on by other members of the site, and the highest ones each month got put before a panel. And so, things like that are potentially - I think the truth of the matter is, Len - at the point I've moved past it mentally. I've got two young sons now, and I think that the one remaining thing that I'd like to do for them is to try and write a novel for them, in few years’ time. My belief in that I could get one of these screenplays sold is sort of fading every day, sadly.

Len: It sounds like quite an adventure though, a definitely I think we should all live our lives aiming for what we most desire. It was interesting - speaking of moving on - you've written about the change, or at least there's an interview I read online about changing from being a lone wolf - working for yourself - to being an employee for a company, and I was wondering if you wanted to talk a little bit about how that affected you, and what you've lost and what you've gained?

Ben: Yeah, certainly. Like I say, for about ten years I worked just for myself, freelancing - essentially like a sole worker. And that was all absolutely fine. I think the rub of that is that what you actually like doing is just one portion of your day. Today obviously, you've got to chase jobs coming in. You've got to chase payment, and all that sort of stuff people in the freelance trade don't like, particularly. And I certainly didn't either.

The good parts about freelancing is obviously, once you organize yourself, and you know how to put structure into your day, there's a leeway that if at four o'clock one day you just know that your brain's not working very well, you can go out and get a cup of coffee or whatever. So that feeling of being like you imagine an adult would be, where you're in charge of your own destiny day to day - that's what's really nice about it.

But the flipside - I was approached to join bet365 by, it was like a recruitment agency in the UK, and when you're a freelancer doing public-ish work on the web, recruiters are contacting you quite a lot of the time. And so that was no surprise, but the thing that they described to me was quite interesting. And it was fairly close to where I live. And they didn't say specifically who it was at the time, but they said it was a large company. And there's only two really big companies near to where I live - one of which is bet365, and the other one is JCB, who's - you know like you've got Caterpillars there in the US? The big monster trucks or cars? Are you Canada or US?

Len: I'm based in Canada. The way I describe it, I live on a Canadian island in the Pacific Ocean.

Ben: That sounds pretty good.

Len: Called Vancouver Island, yeah.

Ben: Oh yeah, Vancouver. Yeah, I'm not a complete hillbilly. I do know where Vancouver is. So yeah, so it wasn't JCB, because I'd already been in and spoken to them. So it turned out to be bet365. Anyway, so I joined them fully believing that I would be there maybe a couple of weeks, and somebody telling me what to do every day would very quickly wear thin.

But it turns out, it was - there's a quote that I'd heard from somebody and they said, "People don't leave jobs, they leave bosses". And I always think that's quite interesting. Because the guy who took me on, is still my sort of my boss. He's just a really good guy, and I get on with him very well, I enjoy working with him. And I think that sort of thing is the part working for a company that I've missed but didn't realize I missed.

So I'm working with like two or three people pretty closely every day, and I enjoy that. I suppose it must be like people who are in a band, being able to sort of bounce ideas off people, which is what you miss when you're working for yourself, and what you really gain when you're sat face to face with somebody. And that's not to say you have to be doing that all the time, but it's nice if you're doing anything creative to be able to stop and sit around a table and put some sketches down and go, "This is what we're thinking of doing".

Being able to bash that stuff back and forth is the stuff that I actually enjoy doing the most. I suppose it's probably the closest to the creative side of things, that you'll have done in terms of screenwriting and that sort of stuff. The real buzz of it is when the ideas bounce back and forth, and you come up with something that no one person would have come up all by themselves.

Len: Speaking about buzz, I'm not sure if everyone listening to the podcast knows this but in England it's more or less legal to bet on anything. I think I'm correct, right?

Ben: Yeah, that's right, yeah.

Len: I actually lived over there for 9 years, and I'm familiar with the sight of the oddsmakers and things like that. I was wondering if there is any special buzz around working for a betting company? Is there an extra kind of pressure or constraint on you?

Ben: No, I mean I think it's more - the funny thing is, I was never somebody who ever bet on anything. I was never brought up with betting in our family at all. That's not to say that people in my family don't. But I can remember distinctly thinking, "I don't know if I'm comfortable with a betting company". It felt slightly weird to me, almost like a tobacco company or something like that.

But the reality is, yeah it's very much a cultural thing. It's just not a big deal here. It's not considered weird in any way. It's sort of normal day to day, I suppose in much the same respect as people would go out and have a drink in a bar, and 99% of people are absolutely fine. You occasionally get people that don't respond well - when you get alcoholism and all that sort of stuff. And by the same token you get the odd people - in terms of gambling, that go the same way. They get addicted to it. So it's a really difficult subject to really feel out the edges of.

But in terms of what I do day to day, which is build the interfaces for these things, there are very few applications - if you want to call them that - on the web, which are, by necessity, as complicated as a betting application needs to be. So that does present some unique challenges, which are pretty exciting for what I do, to try and solve, to try and figure out - and architect, and all the rest of it. And so from my point of view, it's a good thing, because other than that, I'd be doing the same sort of brochure sites, and magazine sites, and all that sort of stuff that are much more common.

Len: Yeah, it sounds exciting to me. I met a couple of people who worked doing the odds, and they could be literally anything, right? Like when will Charles and Camilla get divorced?

Ben: Oh yeah.

Len: And the idea of just putting odds on that - I just imagine that the user's interaction with something like that must be kind of particularly - tense.

Ben: Yeah, the thing that I'm most involved in it's, called, "The Sports Book." Which is - it's betting on live sporting events, or sporting events around the world. It was unbelievable to me when I got there and saw the scale of what they do. I mean, as an example you might go onto the site and there's maybe 18 live soccer games happening right now, and we let you choose any one of those games, and we'll either have a live video feed of that event happening, or we'll give you an animated, interactive kind of like computer version of it - showing you what's happening right now as well. So at all these events around the world, there's guys and girls feeding back exactly what's happening at this game at this point in time. And based upon that, the odds are updating, which lets users choose which opportunities they want to bet on second to second. Like I say, that's the level and scale of interactivity that you just really can't find in many other areas.

Len: Yeah, I'm looking at it right now, actually. It looks really good. I see there are e-sports as well - are you a part of that?

Ben: Yeah, all that sort of stuff. Like if you go to mobile - primarily, if you go to mobile.bet365.com on your phone - what you see there is the sort of stuff that our team prototypes, builds up. And then we have another team of devs as well, that take it and mesh it in with all the live data and all the rest of it. And we're just constantly putting new things in there. Just when you think we thought of everything, there's another whole set of features we want to write in. So it certainly moves really quickly, it's a competitive market to be in. And so yeah, it gets me out of bed every day, which is good. If it keeps your brain challenged and keeps you solving problems, that generally makes me quite happy.

Len: It's a really fascinating industry.

I was wondering - I kind of have to ask the obligatory Brexit question. But I guess it's kind of reverse Brexit question - which is, as far as you know did the EU ever try to put limitations of the British cultural practice of betting?

Ben: Well, funnily enough, it’s across the whole of Europe. There really isn't anywhere that doesn't allow betting. I think if anything, America and Canada are kind of unique. China tries to say it doesn't allow betting, but China's obviously always been massively into gambling and betting and all that sort of stuff. And so, there's actually quite few places around the world that don't do betting as standard. There's occasionally bits of legislation that are particular to different areas. Like, Italy has a certain set of specific requirements for in-play bets and things like that. But by and large, they're all at it.

Len: I guess that just speaks to my own limitations. I mean having spent so much time in Britain, and seeing oddsmakers everywhere - but when I would travel in Europe, I guess I just probably didn't notice that that was a practice elsewhere as well.

One more question, about the switch from working on your own, to working for a company.

I made this switch about a year ago from working remotely, to working in an office. And you've written about how much you enjoy being able to set up your own physical environment, and how sometimes there are things that you can't do in an office, that you might be able to get away with doing at home. And I was wondering if there's one or two things, sort of pro tips you can give for setting up a physical environment - things that you've thought about and found solutions for.

Ben: I guess the main thing is to try and get people to understand your whims. Particularly if you've worked for yourself for a long period of time, you know how to have things the way that you want them. And so - I mean, I've got to be honest - there aren't many things that I've wanted at my current place of work, that they haven't accommodated in some way.

I suppose the key difference for me is, if I was working for a company and it had a crummy, horrible monitor I had to sit in front of, and they weren't prepared to buy a new, better monitor - I would quite happily buy my own monitor, and bring it in if they would allow me to. Because I'd rather do that - have a nice working environment - than I would use crummy tools. Because you sit in front of these things every day, and that's how you ply your craft.

Obviously whether they should or they shouldn't buy something better for you is a different question. But I'd rather just buy the things that I want to use to do my job, and accept that as a part of my professional outgoings, if you like. When I think about people in other trades, and what they have to pay for the tools that they need.... The sort of stuff - like the absolute crème de la crème of kit - you can get a top of the line MacBook Pro for a few thousand dollars, massive cinema displays for same sort of money. In the scheme of things, compared to other professions, it's not a great deal of money.

Len: That's very true. It also sounds like in an environment where one is getting recruitment calls all the time - I imagine there's a bit of an incentive on the part of companies to accommodate a programmer's needs. One of the things at Leanpub that we really like to provide is actually - this just reminds me - is really nice noise cancelling headphones, so the programmer can just go into their zone and stay in their world. One of the interesting things about it is that putting on the headphones is code for -

Ben: Leave me alone.

Len: "Leave me alone. I'm in the zone. I've built my stack in my head, and let's be productive now."

Just switching topics, your book, "Enduring CSS" is about a method, I suppose we could call it, that you've developed for organizing, and doing CSS architecture on big projects. And I was wondering if you could explain a little bit about how you came to develop the approach, and what the approach is?

Ben: Yeah, okay. So obviously, CSS and HTML has been the core of what I've done over the years. I've dabbled in other technologies, the basics of the three tiers of the front end, that being JavaScript, CSS, and HTML. I've specialized in the CSS particularly and the HTML.

And what happens when you move to something of size, and something with a lot of people that are all working on that code base? I guess that historically, you're always told to lean on the Cascade in CSS. So you make some styles, and you inherit from those styles as much as you can. You try and write as little CSS as you can, and therefore when you want to, you make a pattern of things for your site, and when you want to change something across the whole site - the thought being that you go back to that one thing that everything inherits from, and you make those changes.

Which is all well and good, but what I found once I started on these sizable projects with many, many different visual components - it wasn't just a brochure site - was that often these things that started life looking quite similar, often needed to transgress as time went on, and develop their own life and identity. And it was actually a major inconvenience to have to - you would make a change to one thing, and it would end up inadvertently changing something somewhere else. Which, on something of scale, is really, really problematic, because you need to be quite confident when you're committed into a large code base. That the changes you make are going to make just those changes, they're not going to start visually changing things in other areas.

The core principle, and there's been a few sort of methodologies over the years, like BEM is one, which is Block Element Modifier, and then there's been things like OOCSS. The two main ways of approaching CSS at scale, are you either go for a kind of atomic approach, which is categorized by atomic CSS, where you make a little class for every single permution of CSS. And so, at some point, your CSS can't get any bigger - but the downside of that is that you have to write 10 or 20 classes on every single note in the DOM, to get it to appear the way that you want. So that's one approach - the benefit being that your CSS stays quite small.

The flip side of that is you try and contain styles. And so by doing that, you put one particular class on each note in the DOM. And then every single thing that's needed to isolate and contain, and render that thing perfectly, is put on that class. So you're going to get a little bit more repetition - maybe a lot more repetition because you're going to be declaring things like the display type, the colors, background colors. Lots and lots, but things like gzip, when it's all smashed together - nullify a great deal of that. And so the ECSS methodology is based around the idea of isolation and containment. So the principle is that by isolating these things with a namespace, and various other characteristics, there's no danger of styles leaking out from one component into another.

Len: You also talk about stylesheet entropy. I was wondering, is that something in what you just described? Or is that something else? It just sounds like a really interesting idea.

Ben: I'm not sure the exact context of where I've said that. It sounds like the sort of thing I would say, certainly. The place where I came to look at the styles on a big site where for months and years people have been working on a CSS code base. It grows, because nobody has the confidence. It's back to that thing I was saying before, of, people are too afraid to make changes to existing CSS, because they don't know what it's going to affect.

Nobody seems to know what changing a class 200 lines above is actually going to do. And so, they don't do that. And they use a very specific site, and they write some more CSS. And so you end up in this situation where the CSS only ever grows, because nobody has the confidence to fully understand what the existing code is doing. And that's kind of what I'm talking about. And so, once you develop a very clear set of guidelines and principles for how you're going to architect this stuff - it becomes very simple, manageable to deal with those styles or update them, remove them, knowing full well you're not going to destroy everything.

Len: I imagine the target audience for you book is people who are either on large scale projects that have suffered from this kind of entropy, or people who are scaling up, and who might want to adopt a best practice before they proceed?

Ben: Absolutely. And I think, with all these things, there's trade-offs. There's no right way to do anything. There's just a set of problems and the solution that fits those problems. And so, I'm quite clear and quite vocal about saying, "Before you do anything, you need to understand the problems you actually have". Don't go and pick a methodology - whether it's mine or anybody else's - and just think, "Well, that sounds pretty good", and slap that into your situation, because you need to know what your situation is. You need to know exactly what the problems are that you're trying to solve before you try and fit something to them. And so for me - obviously - it's a methodology that works perfectly for what I do. But people need to understand the problems they're solving before they try and apply stuff - that's my take, I guess.

Len: You've got a section where you talk about - and forgive me if I pronounce this wrongly - "Pin Cing Do" - which you say translates roughly as "the way of pragmatic coding". And it means, more or less, solving the problems you actually have. But you immediately then go on to say, "But the problems you have might not be the problems I have". And as pragmatic as one individual might be, there's still the problem before them, there's this sort of combined problem of collaborating.

Ben: Yeah. I think, as well, it's a bit of a bugbear of mine. We tend to be a bit like lemmings in web development, and we just kind of follow what somebody decides is the next hot thing, without actually stopping and deciding if it's the right thing for us. And so that's what the whole "Pin Cing Do" thing is about, is about having the confidence, and developing the confidence to know what suits your particular circumstances - and knowing what things to concentrate on. Some of that takes time, but some if it also requires conscious effort to do that, I think, and not just get carried away on the latest hot technology.

Len: On the subject of writing and creativity and publishing, I wanted to ask you - so you've written previously two books for what we might call a conventional publisher, and you decided to switch to self-publishing. Before I ask you specifically about Leanpub, I was wondering if you would like to talk a little bit about why you decided to make that switch - at least for this book?

Ben: The things that are good about a traditional publisher, is obviously that they've got the scope and the avenues to get your book out in all the right places. Which, if you've never written books before, there's some advantage to doing that.

The disadvantages are - they take a massive chunk of your royalty, you have to use horrible tools generally to write the books, you're working in Word templates and the like. And you're also stuck to a contract, which means you've got to do stuff to a certain timeline - to certain conventions, and all that sort of stuff. That can be a good and a bad thing. In fairness, I don't think I would've written my first book if I hadn't signed a contract, because that motivated me to write it.

Sometimes not having the things that you've got to hit, means that you never actually end up doing anything. And so having something in place is good, but for me, it was perfect to move to Leanpub, because having done that a couple of times, I sort of understood how to structure stuff and get stuff done, whilst at the same time I could move more quickly into my own pace, because I didn't have a contract to worry about.

That's the other big thing that's a real annoyance with typically published books: no matter how fastidious you are with the detail, once that thing is published and you find those little four or five things which are wrong or need fixing or are slightly out - but you're done. They're going to stay there and irritate you and everybody else forever. That's really frustrating. And what's lovely about Leanpub is, a reader can email me, and within 10 minutes, I can have the revised version up and live for people to re-download. And that feels like how it should be in this day and age.

Len: I couldn't agree more. I have the same sort of attitude towards seeing a mistake and wanting to fix it, especially if you believe that it ought to be technically possible.

You made a comment about Word, and so I imagine that you wrote your book in plain text using our Leanpub-Flavored Markdown syntax?

Ben: Yeah I used Sublime text data - that's where I spend like 95% of my working day, is writing code, so it's very easy for me to just flick open a new tab, put it in Markdown syntax, and away I go. And so that's generally how Istart writing anything - it starts out as Markdown, whether it's a blog post or a book or anything really, a bit of documentation that I'm writing for work. And so, it just suited me perfectly, because that's the way my mind works.

And the only time I got - well, not even frustrated, because it was kind of a think above and beyond - but I wanted to have an online version of the book as well - ECSS.io. And what I wanted to try and do is use that same Markdown text to generate the HTML, so that I only ever had to update in one place. And there's just a couple of things which I wanted to be able to do, in terms of like putting classes on things, which I couldn't do in the Markdown once it had run through the converter. These are sort of minor things. Maybe I'll bug you about another time.

Len: The last question I always ask people is - what can we do for you that we haven't done, or what can we fix that was broken? So we'll get to that in a few minutes I think.

Ben: But by and large, it's just been incredible, because I've been able to put the book up on Leanpub. And obviously, I think I started off saying it was like 70% complete or something like that. So I kept chipping away at it, till I got it to a point that I was happy with it. And then once it had run on Leanpub in a sort of finished state for a while, it's easy to then go and stick it on Amazon, or stick it on iBookstore. Like literally within an hour, you can have generated the right files and the right stuff that they need to get it out there. And it's just incredibly liberating, when you're used to dealing with the massive machinery of a big publisher.

Len: That was actually going to be my next question. Did you publish it in-progress? And that sort of related to switching from working for a traditional publisher to self-publishing - is the issue of motivation and timing and stuff like that. A lot of self-published authors talk about how they like the freedom, but sometimes you miss the pressure, because it helps you get motivated to finish.

One thing we've tried to do is sort of replace that with the concept of in-progress publishing. So you publishing something that's 70% finished, and then you maybe start getting readers before you're done, and then - the fact that you have readers, and that your book is out there - provides you with some motivation.

Ben: Definitely. It definitely did for me, Len. Because I've got a sort of weird thing where - it only had to be one person buying that book at the 70% stage, and I felt a debt of honour, if you like, to finish that thing for that person. So the more people that buy it along the way, obviously just adds the weight. And they become like the contract, if you like - or that's certainly the way it felt to me.

Len: I know your book is on Amazon, as well as available in the Leanpub bookstore. And for all kinds of reasons, I can see that the pricing is different. One is that Leanpub has variable pricing, wo you can set a minimum and a suggested price, and people can choose to pay anything above the minimum, including above the suggested price. But on Amazon, your book is set at $9.99. I imagine that's partly because Amazon starts to punish you...

Ben: Exactly.

Len: ...if you make your book worth more than $9.99. I was wondering if you could maybe explain a little bit about what that's like for you as an author - to have your book available in two different places, for two different prices?

Ben: Yeah I mean, the reality is, it probably won't be on Amazon for much longer, because it only went on about 10 days ago, and I didn't really realize at the time that that would be the case. It's incredibly frustrating, because obviously they take a massive chunk of the money anyway, that they kind of strong arm you into setting it at a certain price.

Len: I was just going to say - as I understand it - I mean there are all sorts of complications to Amazon's royalty structure. But one of the main divisions is that you can earn up to - I think - a 70% royalty on a sale, if your book is worth up to $9.99. But after $9.99, it goes down to 30%. [Editor's note: it's 35% above $9.99, which isn't much better than 30%, but is a bit higher.] And so, if you price a book at $11.00, you can make less money than you would if you priced it at $9.99.

Ben: Exactly, yeah.

Len: And this is a particular issue for people who are writing technical books, or books that have a higher inherent value, perhaps that you might say - to the reader, than other types of books. Because if it's for your work, for your career - to solve a problem that can make an entire organisation more efficient, then that book might be worth $1000, not $9.99. And Amazon is inherently structured to not be friendly to books of that kind.

Ben: Yeah absolutely. And like I say, it's something that - I wanted to get it on there for an experiment to see how it'd do, to see whether it would sell substantially more units that way. But like I say, it's been on there about 10 days and it's not sold any more than I have on Leanpub, and obviously it's a much more frustrating process. In time, once there's reviews and stuff like that, whether that makes a difference, I'd be keen to know. But that's sort of something I'm saving up to talk to you about.

Len: I've just got one more question before we jump to that, which is, you've mentioned making corrections, and you've published in-progress. I was wondering, is engaging with readers something that's been important to you throughout this process?

Ben: It is, and I think definitely, Len, with the subject of this book particularly, because it's not like a simple, "Do these things, and there's the answer and it can only be one answer". It is the sort of book where, if you're a CSS developer, you're starting down this road. You're going to have a lot of questions, even after writing that book. And so, being able to have back and forth with people and, yeah, that sort of thing.

You basically have to meet people on whatever medium they want to do. Whether you ask for it or not, some people are going to email you. Some people are going to reach out to you on Twitter. Some people are going to put a comment on the site's page. So you just try, and have to be, as vigilant as you can to meet people wherever they are, I think.

Len: That's an approach that a lot of people take. It's one of the reasons that we produce output in PDF, EPUB, and MOBI - so that people can put their books up for sale on other places, and try that out - if that's something that they want to do.

Ben: And I think the other thing, honestly is - well, I've found incredible - is the variable pricing. I remember seeing that and thinking, "Oh that's ridiculous, nobody's ever going to pay more". And all the time people do, and bless them for doing it, because it's just lovely. Because literally I'd say every one in three, is probably somebody who puts a little bit more than you've even asked for. And from an author’s point of view, that's obviously fantastic. I never would've imagined that in a million years.

Len: Yeah, we also get people who have bought a book and then read it, and then approach us saying, "Hey - can I now pay more?" which is essentially a kind of tip afterwards. Because since people can choose - I have a strong opinion about this - it creates a very different commercial relationship between the customer and the thing they've bought and the person or people who produced the thing, because it introduces choice on their part, about what to do. And a choice on their part about value. And that can change. That can be different from what yours is as an author, and it can actually change after they've had an experience reading the book.

Ben: Yeah, it's fantastic. I mean - I don't care however famous people are, it's always nice to get an email from somebody saying like, "Thanks for that, good job". Or, "Really enjoyed it". Or whatever. It makes your day. And so, anything that makes that easier to do, is fantastic - to open that dialogue with people.

Len: That gives me an interesting idea about a feature we obviously could add to our tip jar, when we do eventually develop it - which will be sending a happy message to the author. It's something we probably would've done anyway, but it - you just made me think about what a good feature that will be.

Moving on to the final part of the podcast. What is it that we can do for you that we haven't done, that you think would be a good addition to the process?

Ben: I think just reviews are the main thing for me. I know so many people that, when they look at something, particularly books, without any kind of testimonials and reviews of the book - it just makes it more likely to go away and have a think about it. And I think that's the only thing. I'm sure you must have thought about it 100 times.

Len: Yeah we have. We have thought about it. Amazon made online reviews famous, quite some time ago now. The only reason they don't exist yet on Leanpub, is because we're a small team and we're bootstrapped, and there's just always an endless number of things to do. But definitely reviews. And more broadly reader-author and reader-reader interaction is a big part of Leanpub's future, and doing more work around that.

Currently the substitutes for reviews are the reader testimonials that authors can add, which are obviously all going to be positive. But it puts a face in the name to a claim about the book, which is a positive thing. And we also make it possible for people to make samples available through download, so that someone can download a sample of the book, and have a look. It's sort of the equivalent of being in an old time-y paper book store, and taking something off the shelf -

Ben: Yeah, I'm going to flip through.

Len: And having a flip through. And the last thing is that, we have our 100% Happiness Guarantee, which means that with a couple of clicks, people can get a refund within 45 days of purchase. Not everyone knows about that when they come to Leanpub, and when they buy a book. But people who do know, do understand that buying the book is actually risk-free. And so they might be more likely to just buy a book, without a recommendation, because they know that it's risk-free. But reviews are definitely something that we need to add.

Ben: Yeah I mean other than that, the only thing that I can really think of is maybe more possibilities for extending the Markdown output. But that's really niche - really - because I don't think most people will be making an online version of the book. So that's certainly not something I worry too much about, because like I say, I think I'd put that at the bottom of the stack, if I was on the other end.

Len: It sort of is in a way for us as well. And there's a bit of a theoretical reason around that, around the sort of concept of Lean Publishing - which is that 99% of one's work, as a writer, ought to be going into writing. And especially before a book is finished. Formatting is kind of - it's sort of like - I guess, literally ought to be an afterthought, because if you're doing too much formatting while you're writing, what you're probably doing is procrastinating. But that being said, of course we want to have an awesome online reading experience. And we want our books to look really good. So it is something we - when authors come to us with a suggestion for something to add, it's something we think seriously about.

Ben: But by and large, I've got to say, not just because I'm on the podcast, but it's just been incredible. Like I would certainly - anybody listening who's thinking about - doing Leanpub, I would encourage them to do so. There's very, very, very little negative I could say about the whole experience.

Len: Well thanks, thanks very much for that. We really appreciate it. Actually I have one last, last question. Which is - you have an awesome book cover. How did you get that?

Ben: Funnily enough, the boss I mentioned earlier - he designed it for me. He's just one of these irritating people that can do everything really well. And so,when I said I was going to do this self-published book, and all the rest of it, and I didn't know what to do for a cover, we had a couple of iterations of it. The first one he did had like isobars. Like you would look at a map and see isobars, sort of hinting towards that idea of sort of terrain and topology and stuff like that.

But ultimately, we sort of felt that was maybe a bit of a vague notion. And people won't understand it, and think it was just squiggly lines. And so, the new one - with the landscape - hopefully attests to the notion of - writing your CSS code, it's going to last as long as the hills. Which obviously - not quite. But hopefully you get the notion.

Len: It's a great idea for a cover, and it just looks awesome. So thanks, thanks to your boss as well from me I suppose. Just to wrap up, Ben - thanks very much for being on the Leanpub Podcast, and for being a Leanpub author.

Ben: Not at all, thanks for having me, and thanks for making such a great product.

Len: Thanks.

Podcast info & credits
  • Published on September 27th, 2016