Self-Publishing a Book for Fun and Profit
I wrote and self-published a book called Atomic Design, and I’m really pleased with how the whole thing turned out. I want to share my experience largely because I think the process has a lot to offer other authors who are thinking about self-publishing their own books.
Background
I’ll start off by explaining why I went about creating the book the way I did.
Why not go through a publisher?
I’ve never written a book before, so it seems dumb to not work with a publisher, who could provide guidance, structure, and resources. But I felt confident in my material and narrative structure, having given a ton of talks about the topic over the previous two years. I’ve also been blogging for almost a decade, and I even contributed a chapter to a book. So I had a vague sense of what all goes into creating a book, but I certainly didn’t have the full picture. That’s why I was fortunate to have a conversation with the great Jonathan Snook, author and self-publisher of SMACSS, who shared his own self-publishing experience and provided some words of encouragement.
I had several publishers reach out to me about writing a book for them, and while I was intrigued by what they had to say, I was also a bit skeptical. A lot of my friends have written for publishers, and they got burned in a number of ways: they didn’t receive an equitable share in profits (some had a 90–10 split in favor of the publisher! Yowzers.), they were at the mercy of the company’s publishing schedule, they were restricted in what they could or could not write, they were forced to use specific (clunky) tools, they couldn’t announce or talk about the book before it was complete, they had a bunch of people breathing down their neck to get the thing done, they butted heads with the editorial direction, they couldn’t control their own art direction, and so on.
Of course I’m not here to disparage book publishers. They provide a great many things to authors, and many authors I talked to had very positive experiences working in this way. I seriously considered writing for one particular publisher and felt the arrangement to be fair for everyone involved, but there was one big problem. They were uncomfortable with the idea of me writing the book in the open and sharing the entirety of the manuscript and process as it was being written. So I ultimately turned them down and started down the self-publishing road.
Why do it in the open?
The year before starting to write Atomic Design, I was working on a product with some people who were adamantly opposed to sharing things before we were “done”. I’m a huge proponent of creating in the open, so I strongly believed that creating the product in the open would help us gain exposure, build excitement, create accountability, and generate momentum. Alas, for a number of reasons, the product fell apart and I had to throw a year’s worth of work in the trash can with nothing to show for it. I’m still pissed off about the whole thing.
Needless to say, I didn’t want to recreate that experience with the book. The thought of holing myself up for over a year and then descending from the mountain like Moses with a finished product (“Behold!”) was entirely unappealing to me. I had a hunch that writing the book in the open would be both creatively and financially rewarding.
As I see it, the advantages of writing a book in the open are many:
- It creates accountability – Left to my own devices, I’d be tempted to start a book project, become discouraged or distracted, and put the project on the back burner. I know this because I do this with projects all the freaking time. But when I know a bunch of people — especially paying patrons — are expecting a finished product, well then I better hop to it and get the damn thing done.
- It builds an eager audience – I had the great pleasure of interviewing the creators of Indie Game: The Movie at Smashing Conf in Germany some years ago, and learned they had authored over 200 blog posts throughout the course of the their project. They documented their progress, shared snippets & outtakes, revealed hardships, and so on. When the finished product was finally available to purchase, they had a (virtual) line out the door just champing at the bit to give them money. Compare this with a traditional product launch, which may promote the product only a few weeks or months before launch, if you’re lucky.
- It justifies promotion over a longer period of time – It’s usually awkward for an author to announce a new book. Years of blood, sweat, and tears go into creating the product, but if the author tweets about the book over a handful of times or promotes it for more than a week or so, the author risks becoming “that asshole ‘constantly’ hawking their wares.” I try to catch myself when I unconsciously think, “I get it, you wrote a book” as I flip through my Twitter feed. Writing the book in the open alleviates this problem, at least during the authoring stage. When I would finish a chapter or a sizable chunk of work, I would share on social media and my email newsletter that new content was ready to read. People following along had new (and hopefully worthwhile) stuff to read, and I was able to promote the project over a longer stretch of time in a way that didn’t feel overly market-y or gross.
- It allows the author to share their content with everyone – My book is available to read online in its entirety for free, which means people who can’t afford to buy the book can still access the content, and potential customers can peruse the content before making a decision to buy the book. It sets up what I feel is an equitable relationship. The author can get their thoughts and ideas out to as many people as possible (after all, isn’t that a big reason why people write books?), while also providing people a vehicle to financially support the endeavor. And while reading a book online is possible, it’s not exactly an ideal format for long-form reading. Paperback and ebooks often provide much better experiences. So the combination works out: free online for reach and paid paperback & ebook for reading experience.
- It provides deep-linking functionality – I didn’t anticipate how useful this feature would be. Sharing the entire manuscript online means that I can easily direct people to a certain heading or passage in the book’s text. I don’t know how authors of traditional books handle this, but I imagine it going something like, “Oh yeah, I’ve written all about [topic X]. Just buy my book, flip to page 142, and it’s in the second paragraph.” Seems clumsy. Posting online means I’m able to link to the book’s passages when writing another blog post or discussing the relevant topic with others online. For instance, people love to argue with me about the terms “atoms”, “molecules”, and “organisms”, so I’m happy to link them to my thoughts in the book about choosing the right language. Every time I share a passage, it provides more opportunities to share the book’s content and hopefully generate more sales.
- It allows for crowdsourced edits – I woke up one morning to a slew of pull requests on my draft of Atomic Design. While I was fast asleep, a reader in another country went through the entire text and made a whole heap of grammatical edits. I rolled my eyes when I first saw this, but when I dove into the edits, sure enough they all checked out! Other readers flagged run-on sentences, fixed URLs, and pointed out confusing passages. All of this happened while I was still writing the book! I ultimately ended up working with a bona fide copy editor (more on this in a bit), but encouraging readers to submit issues helped make for a better final product.
Some of these advantages were apparent from Day 1 of the project, but many others revealed themselves only as the project evolved.
Setup and “launch”
Here’s how I envisioned the book-writing process going for me:
- Write my content locally in Markdown.
- Push changes to a repository.
- Have those changes automatically display on the book’s website.
- Alert people when I make significant changes.
- Allow people to read the work-in-progress text in its entirety, and give people a way to preorder the eventual ebook for $10.
Here are the tools I used to set up that workflow:
- IA Writer – I use IA Writer for a lot of my writing, and have always enjoyed the deliberate constraints that force me to focus on the text. It also does a great job at formatting Markdown.
- Jekyll – Jekyll is a static-site generator primarily used to publish websites that don’t require a ton of data manipulation. You author content in Markdown and the tool converts it into HTML.
- Github – Github hosts version-controlled code and files. I created a repository for the book’s files, and when I would make additions or edits to a chapter’s text, I would commit those changes into Github. You can see how Github displays changes to the text in a diff here.
- DeployBot – DeployBot is a service that detects changes to a Github repository (i.e. an updated chapter) and then automatically deploys those changes to a server.
- Shopify – I used Shopify to take preorders of the eventual ebook, and continue to use the service to sell and distribute the paperback, ebook, and combo.
- MailChimp – I set up a MailChimp newsletter so that I could post updates on the book’s progress to people who preordered the book and/or were interested in the project.
At the beginning of the project, I stood up a crude Jekyll site at atomicdesign.bradfrost.com, published the book’s outline, and stubbed out the basic IA for the website. I set up the Shopify store at shop.bradfrost.com, which was where people could preorder the eventual ebook. And I set up a newsletter signup page where people could subscribe to the project’s updates.
With that infrastructure in place, I announced the project on January 8th, 2015. Judging by the initial reaction, people seemed to be willing to embark on this unconventional book-writing journey with me. Within a week and without writing any real text, I generated over 400 ebook preorders, which certainly helped confirm my hunch that this book was worth writing. It also served as a big motivator to roll up my sleeves and write something useful.
Writing the book
Now came the hard part: writing the damn book.
I’ve heard of authors taking many approaches to writing a book. Some wipe their calendar clean over the course of a few months, hole themselves in a cabin, and knock out a manuscript. Others treat it like a client project, allocating a set number of hours aside each week to chip away at the contents. Others squeeze in writing on nights and weekends.
I knew I wasn’t going to be able to take time away from my client work, speaking schedule, and consulting work. I knew I was signing myself up for a less-than-ideal authoring experience. But I also knew that I had the strange ability to get a lot of work done when in motion, whether that be on a plane or even in a car.
So that’s what I did. I dedicated as much time as I could to writing, blocking out time in my schedule and cranking out sections of chapters on planes. Time became scarce as client work ramped up, and I would lose momentum as my attention shifted to paying work.
When I lost momentum, I realized I needed some semblance of routine in order to get it back. So when I wasn’t traveling I would head to my neighborhood coffeeshop as soon as they opened at 7AM, write as much as I could, then head home to start my real job around 10. This required discipline on my part (I’m most certainly not a morning person), but those few hours in the early morning were what ultimately made the finished manuscript a reality.
Managing expectations
The hardest thing about this specific authoring process was managing people’s expectations. Typically, when authors announce a book project, people can expect to have a finished product in their hands in a few weeks or months at most. The one or two (or three or four) year(s) of the author’s laborious book-writing process is normally hidden from the readers.
So many people had the expectation that I’d knock out the complete book in a few short months. Which simply isn’t feasible, as any author will tell you. Even though I was sharing my entire progress online and I was sending newsletter updates on the book’s process, people still couldn’t fathom why the book they already paid money for wasn’t done yet. I even had a handful of people demand a refund because they were disappointed in my inability to finish the book in a timely fashion. C’est la vie.
Editing the book
When I started writing the book, I didn’t know what I’d do about the editing process. I felt like I already had a good structure and narrative in place, so I didn’t necessarily need help crafting the big picture direction. But I also knew it would be a good idea to get someone else’s eyes on the text to make sure I didn’t sound like a complete idiot.
Enter Owen Gregory, a UK-based editor and a fantastic human being. Owen came highly recommended from other web design authors who used him as an editor for their own books. He thankfully signed onto the project, despite me requesting he conduct the editing work in the open for all to see. While he was a bit apprehensive, I’m thrilled he signed onto the project.
So that’s what we did. As I was writing the final chapters of the book, Owen went through and edited the chapters that I felt were complete enough. Owen combed through the text and made comments along the way (you can read his edits starting here), and pushed those changes to a new branch in Github.
He’d make suggestions, and I’d either implement them or push back. Owen was extremely thorough and almost always right. There were only a few times I really stood my ground. For instance, I was adamant my Ron Popeil reference remain in the text, despite that reference being totally lost on any non-US reader not raised in the 90s on weird infomercials.
Whenever Owen would complete a chapter, I would go through and implement those edits (which you can see starting here). It was a smooth process and we ultimately did two thorough rounds of copy editing and a few minor rounds of tweaks to arrive at the final text.
Producing the book
While Owen was busy editing the book’s text, I started figuring out how to produce the book’s tangible artifacts. When I started the project, I intended on tackling all aspects of the book’s production myself. I was going to create the ebook (which ultimately is essentially a bundle of HTML, CSS, and media) and design the paperback’s layout (I used to do some print design at my first job, so I know my way around InDesign a bit).
But then I ran into my frequent nemesis: Father Time. While doing everything myself was a lovely idea in theory, there simply wasn’t enough time in the day to take all that on myself and get the book out the door in a reasonable timeframe. And if I’m honest, the desire to do it all myself was really nothing more than for the bragging rights of saying I did it all myself. Which of course is not a good reason. I realized I needed professional help in order to get the book done.
Thankfully, help came in the form of two brilliant Rachels.
ebook Production
When I came to the realization I couldn’t do the ebook work myself, I solicited help on Twitter. Several people reached out, and I was shocked to see that one of those people was Rachel Andrew. The reason I was shocked is that Rachel runs her own vast empire on the web, and she seems to be everywhere doing everything all the time. I have the utmost admiration for Rachel and her incredible work ethic (in fact, I once asked her how she does it). So it was amazing she was willing to help me with the project, despite her busy schedule.
Thankfully, because the book’s manuscript was written in Markdown, the process of translating that into ebook formats didn’t seem to be a huge leap. Rachel has her own process of converting markdown into the appropriate formats because she’s written a slew of books herself. So she helped produce the ebooks in the following formats:
- ePub for software readers like iBooks and Google Books
- mobi for Kindle
- PDF for desktops, printing, and as a general fallback.
Rachel took a few passes at converting the manuscript into the formats, and each format had its own little quirks that required special attention. Because we were trying to get the book out the door, I never learned the specific process Rachel used to convert produce the ebook formats. While that’s a bit of a bummer, I’m just glad we got the thing done!
Print design
For the paperback book, I knew I could reach out to my super talented friend Rachel Arnold Sager. In addition to running a shop that sells adorable kids clothing, Rachel runs a studio that designs a ton of print work. She thankfully took on the task of taking the text and images — which existed only as Markdown and HTML — into an honest-to-goodness paperback book.
She used InDesign to typeset the book, and turned it around the first pass in just a few days. We played around with the type size to achieve the right book thickness and page count.
I was a bit nervous about producing a physical book since obviously any screw-ups would be forever ingrained in a physical format with no option to Cmd+Z (holy smokes I love the web). Thankfully, because Rachel turned around the print design so quickly, we were able to feed a PDF preview to the eagle-eyed Owen to ensure there weren’t any copy mistakes. Once we ensured Owen’s tweaks were addressed, the book was ready to go to print.
Printing
In addition to doing the print design, Rachel helped me find a printer that could produce the paperbacks. She shopped around, got some paper samples, and we made a decision on which materials to use for the cover and interior pages.
We ended up going with a local printer called Knepper Press, which ended up working out really well. It cost ~$6500 to get 1000 books printed, and because I was able to pick them up I ended up saving about $600 on shipping costs.
The quality of the book is great. It feels professional, which was a huge relief considering the fact I printed 2,000 of them without ever holding one in my hands first.
I wanted to ship stickers with each paperback order. Web nerds love stickers. I love stickers. So Rachel helped me turn the atom logo and the atomic design symbols into sticker-friendly formats, which we sent them over to the awesome folks at Commonwealth Press who printed up a whole bunch of them.
Launching the book
The month of November 2016 was chaotic. The ebook formats were being produced and we had to QA them on real devices (such as iPads, Kindles, smartphone ebook apps, and more). The print design was being tweaked and reviewed to ensure there were no copy errors. Eventually, it all came together around Thanksgiving and we sent off the proof to the printer. We were told there would be able a two-week turnaround time to produce 1,000 books.
That meant after months and months of effort, it was finally time to announce the finished product. I quickly added the paperback, ebook, and combo products to my Shopify store. To thank those who supported the project by preordering the ebook, I gave them a discount code to purchase the paperback for 50% off (which is just above cost). With everything in place, I shouted it from the rooftops (err, newsletter and social media) that Atomic Design was complete and was available to purchase.
I was genuinely interested what the reaction would be. Were people still interested in the book? Or were they sick of hearing about it since I’ve been sharing updates for so many months? As it turned out, people seemed to be excited about a completed product rather than the promise of a completed product.
When I ordered the initial 1,000 copies from the printer, I envisioned sitting on a throne made of paperback books for the foreseeable future. So I was absolutely floored when almost 1,000 paperbacks were ordered in the two weeks between the announcement of the finished book and when I began shipping them two weeks later. Which meant that I had to ship almost 1,000 books at once.
Distribution
I decided to self-distribute the book. Despite quite a few people telling me I was crazy for taking on the tedium of distributing the books myself, I felt it important to maintain a close relationship with the people who supported the project, and also to bring the whole self-publishing thing full circle.
The first order was brutal. With almost 1,000 books to ship, I recruited my dad, my wife, our friend Kelly, and my brother to process all the orders. After a few full days of nonstop processing, we got the initial push out the door.
Here are the services and materials I used to distribute my books:
Services
- Shopify fulfillment – Shopify provides fulfillment right from within the app. This turned out to be a huge blessing as it allows me to purchase and print a shipping label with just a few clicks.
- Shopify Digital Downloads – what I initially used to distribute the ebook files.
- SendOwl – I switched to using this service to fulfill digital downloads after experiencing some bugginess with Digital Downloads
Materials
- Dymo LabelWriter 4XL – This label printer came highly recommended, and it does a great job cranking out shipping labels that Shopify spits out.
- Labels for the LabelWriter – 4″x6″ labels that fits into the Dymo printer
- 7.25“x12” Bubble Mailers – I was buying Uline bubble mailers but learned their CEO writes a bunch of abhorrent political screeds on their company website, so experimented with a few other envelope companies. These ones ended up doing the trick.
- Return address labels – I used VistaPrint to print off some branded return address labels.
- Printer paper and ink for invoices
Almost a year into shipping books, I still genuinely enjoy the routine of shipping out copies of Atomic Design. It’s fun to see which countries the book gets shipped to (Faroe Islands! Malta! Iran!), and I love connecting with the awesome people who support the book.
We’ve also become pretty tight with the dude at the post office. He’s a witty, salty yinzer who always has something hilarious to say, like:
Me: “Hey Andrew, how’s it going?”
Him: “Aw, you know. Just doin’ my time. My cell’s not exactly 9 foot by 9 foot, but it’s 12 foot by 15 foot, so close enough.”
How did it all go?
I’m thrilled with how the project turned out. Really in every way. Of course writing the book was hard and there were plenty of challenges along the way, but the final product, the process, the people, and the reaction all far exceeded my expectations. People seem to enjoy the book, and I love hearing from readers who have said my book has helped them sell and create a design system at their organization. It’s extraordinarily satisfying to get that kind of feedback!
And from a sales perspective, my big bet on writing the book in the open really paid off. Here’s what sales looked like over time:
The basic gist is as follows:
- The initial announcement got people excited about the project, and a bunch of people preordered the ebook.
- As I wrote the manuscript, I received a steady trickle of ebook preorders. The number of preorders would spike every time I announced a new chunk of text or completed chapter.
- With the book launch, I announced the final product was for sale, which resulted in quite a few people ordering the book.
In traditional publishing models, authors see an initial spike of orders and then an inevitable long tail of book sales. But by working in the open, it’s like a long-tail flipped on its head. That initial announcement and steady trickle of preorders provided enough capital to pay for all the book’s production costs and entirely removed the financial risk of the project. Pretty neat, huh?
Some final thoughts
- I feel like I cashed in my chips in a big way with this project. In the years leading up to writing this book, I shared over 600 blog posts, worked on open source projects, helped create resource sites, and collaborated with some fantastic people on some side projects. All of that work isn’t paid, but it helped establish a lot of goodwill with the community. I absolutely believe a lot of the book’s success can be attributed to those projects. Now I feel I’ve depleted that goodwill and will have to get back to work before ever doing anything like this again. Time to get to work!
- Right place, right time – Modular design has been around in various forms for a long time. But the concepts of modularity, pattern libraries, design systems, style guides, etc became quite popular around the time I wrote the book, so I was very fortunate with my timing. I’m absolutely standing on the shoulders of giants, and I’m thankful to all those people who have paved the way for this kind of thinking to become mainstream.
- Have your cake and eat it too – Many people are skeptical of the idea of “giving your ideas away for free”. Let me be clear: I 100% believe creators of all stripes should be compensated for their work, and I’m not suggesting everyone give away all their work away for free. I hope that by detailing this process I’m able to demonstrate that it’s possible to work in the open and and share your work while simultaneously creating a product that people are willing to pay for.
- Taking preorders reduces risk. Because I took preorders right out of the gate, the project was profitable from Day 1. That meant I was able to pay for editors, print design, ebook conversion, and printing costs. It was never a huge goal of mine to make a bunch of money from the project, but it was indeed a big goal not to lose a bunch of money on the project. Those preorders reduced a whole lot of anxiety around the project.
- Covering costs means room to help – By covering costs and controlling the entire process, I was able to funnel some of the book’s profits to worthwhile endeavors like disaster relief and other causes. It’s a strange-yet-wonderful feeling to help worthwhile causes through some words about web design.
- Managing people’s expectations was easily the hardest challenge – Far and away the biggest disadvantage of working in the open was keeping everybody happy and managing their expectations. When people part with their money and don’t see immediate results they get annoyed. Thankfully, Kickstarter and its ilk are resetting people’s expectations and getting them comfortable with delayed gratification, but it’s definitely a challenge to keep people happy.
- Distributing the book yourself incurs a lot of work – Ongoing work like packaging up books and going to the post office is a bit of a burden. Ultimately I don’t mind it because I feel a connection with the people who support the book, but I understand why a lot of people would opt out of this process.
- Self-publishing a book is attainable and it can be very rewarding. It’s an amazing feeling to conceptualize a project, do the hard work, and see it through to the end.
- Lean on professionals – While going it totally alone is possible, it’s way better to lean on professionals to produce things you don’t have the time or expertise to handle on your own.
- Build up to a book – I strongly feel the book’s success was due to a culmination of all my other (oftentimes unpaid) work. Rather than diving straight into book-land, consider blogging about it, sharing resources on social media, working on side projects, speaking at meet ups and conferences, and so on.
Does this model work for others?
And now for the million dollar question: does this model scale? Can other people adopt this model of writing and apply it to their own work?
I don’t see why not! I’m not going to say it’s the best choice for everyone who’s thinking about writing a book, but I think it makes sense for people who have built up some goodwill in their field, who want total control over their work, and who are willing to dive into areas of the publishing process that are normally handled by traditional publishers. If you’re considering writing your own book in this way, If you ever decide to go down this road and would like some advice, feel free to get in touch.
So that’s that! If you want to support Atomic Design you can get the paperback, ebook, or combination over at my shop. Thanks for reading; I’ll now leave you with the full timeline of the book’s process: