The Prosaic, DIY Reality of Software Houses

By Keith Blount


First, a thank you to James Fallows for inviting me to act as a guest blogger this week. The reason he has asked me to take part is that he is using our software, Scrivener, to write his book, and he thought readers might be interested in the day-to-day runnings of a software house. The strange thing is, though, that despite Scrivener having sold tens of thousands into dozens of countries, I'm still surprised when I hear Literature & Latte described as a "software house" (even our company name sounds more like a coffee house) -- although we undeniably are a software house -- so I thought I might start by talking about why this is.

A common misconception about software -- albeit one that is perhaps gradually changing -- is that it is generally the product and province of large companies: designed by focus groups, coded by black-clad, Star Trek-quoting ponytails who aren't allowed near the customers, and supported by people who often seem never to have used the software themselves. This idea of the software house as a large enterprise no doubt comes from the companies that most readily spring to mind whenever software is mentioned: Microsoft, Apple, Adobe, Google and their ilk. After all, many computer users -- who just want to get on and do stuff -- don't have the time or inclination to obsess over which software they should be using, or to explore much beyond what they use every day at the office or the programs that come bundled with their machines. They are thus (understandably) barely cognizant of the world of software beyond the major houses. It's an impression compounded by our relationship with technology in general -- our televisions, Blu-Ray players, fridge-freezers and toasters are all made by big, faceless companies, and if something goes wrong or is just badly designed or engineered, we have no real power to tell anyone who can do anything about it: We learn to live with the defects, the quirks, with the way our satellite TV box randomly and arbitrarily forgets to record Castle halfway through each series.

I'm reminded of this preconception of what a software house is almost daily in our interactions with customers and bloggers. Someone on our user forums will ask us if we can get one of our "programmers" (plural) to take a look at something; we will receive a "thank you" e-mail from a user who has been pleasantly surprised to have received a quick solution from someone intimately involved with creating the software, when they expected an automated response; or I will occasionally see, via the ever-vigilant Google Alerts, a comment on a blog or forum expressing amazement (or sometimes outrage) that we have been, until recently, so seemingly narrow-minded as only to produce a Mac version of our software (our Windows version is officially released next month).

And that's when I start to feel a little bit like a fraud. (More after the jump.)

Because all of this belies an underlying assumption that we have several programmers, a stable of investors ready to sink resources into versions for other platforms, and a customer services team. The reality is more prosaic: Literature & Latte is an Internet business run from a handful of spare rooms in different countries, staffed by people who still consider themselves enthusiastic amateurs. Up until two years ago, you could count the team on one finger -- me -- and even now that we have a team of five, we have no offices -- our registered office is the address of our accountant. I read Mark Bernstein's fascinating posts here a few weeks ago and his description of his drive in to his offices made me a little jealous. My journey to work consists of taking a coffee upstairs in our semi in Truro (putative capital of Cornwall); my office is a spare box room overlooking yellow construction machinery and piles of dirt that were, until a few weeks ago, fields and hedgerows. I sometimes wish for our own offices, a Literature & Latte headquarters, until I remember that I would be the only one driving there anyway -- while I'm in Truro, other team members are in Norwich (in the east of England), Portland, Oregon and Sydney, Australia.

And I don't think we are particularly unusual in any of this. Outside the big corporations, most software companies are run by a handful of people at most, and many have just a single individual behind them. In fact, there is a rich heritage of software created by one or two developers. Those games we were all addicted to back in the '80s such as Manic Miner and Tetris were the products of one-man, bedroom-based programmers; even WordStar, the precursor of Word and just about all other modern word processors, was originally developed by one programmer and one designer (Rob Barnaby and Seymour Rubenstein). Likewise Final Draft, which is now the de facto standard for scriptwriting throughout Hollywood and the film industry -- the equivalent of Word for screenwriters -- likewise began as just two guys who, fed up with manually formatting their screenplays, decided to put together software that would make the process easier.

Even so, 15 years ago setting up a software company would have involved start-up costs and working out how to distribute your wares -- whether by making your own CDs (or floppy disks) and trying to do everything through mail order, or by finding a distributor. The Internet has changed all of that: It's now not only possible but fairly trivial to set up a website and make your program available to download, incorporate a Web store (using a third-party service such as eSellerate or Kagi to process payments) and to market your program via social networking channels such as Twitter, all for practically nothing. Meanwhile, development tools, which were once prohibitively expensive, are now either cheap or free -- Apple, for instance, has long bundled everything you need to write your own Mac app along with the OS itself.

Since the advent of the App Store and Mac App Store, distribution, too, is getting easier for independent developers -- the Mac App Store will eventually be on the desktop of every Mac computer just as the App Store is on every iPad and iPhone, so if you are on there, almost all of your target users have a chance of finding you. With a bit of luck, this could mean that, for Mac users at least, even casual computer-users will begin to discover and use software made by the smaller houses -- the companies run from garages and bedrooms.

But why should you care? Why would you want to try independently-developed software when you can use a program that is backed by a team of dozens, by a company with millions of pounds at its disposal? Or, as one somewhat truculent novelist once challenged me: Why should you bother with software that might disappear were its creator to be run over by a bus? (My answer -- unappreciated -- to that question, by the way, was that I already had been, and by a big, red, bendy London one at that -- beer was, I'm afraid, involved.) This is a valid concern, and it's perhaps why many lone-gun or indie software houses don't shout too loudly about being a micro-operation -- we all want to look slick and professional and so the common misconception often serves us well.

The answer to why you should care, though, is simply that there may be a better tool out there for what you want to do. Computers are there to serve us, to make our lives easier (at least until they become conscious, rebel, and make batteries of us all), but many of us too frequently find ourselves fighting with the software we know, trying to force familiar programs into doing tasks for which they were not designed. Yet there is a great deal of lesser known software out there that has been created by independent developers who have run into the same problems and set about creating software that provides a solution. And unlike the big software houses, indie developers are often more able to take a risk with a new idea; the indie developer is also more likely to be working on an idea he or she deeply cares about, a piece of software he or she really wants for him- or herself, rather than on software that market research says will sell (which, in Henry Ford's famous term, may well result in nothing more than a "faster horse"). Because the start-up costs for selling an independently-developed piece of software are negligible -- almost, if not quite, nothing -- the only investment a hobbyist programmer risks on an idea is the time put into it; and when developing a tool you want yourself, the work is frequently its own reward. At the end of the process, the developer has a tool that solves a problem he or she had; if the problem was common enough that the tool sells, well, that's almost just an added bonus. I believe that innovation in software begins with someone setting out to make a tool they want or need for themselves.

Software should be constantly evolving. Much software started as straightforward digital replacements for analogue tools -- the word processor for the typewriter, for instance -- but as we use computers in ever more creative ways, software should -- and does -- evolve to support different workflows; to incorporate and improve the ways we use tools in relationship to one another. And this is where a lot of independently-developed software has started to shine over the past few years, and why it's worth exploring the world beyond Word, Excel and Photoshop, even while these big-name programs are always likely to have a place on our computers.

And if you still can't find the software that will make your life easier? Well, you could always try writing it yourself.

An example: an important part of the day-to-day running of a software company is, naturally, tech support. When a user is stuck, or doesn't know how to do something, the most effective way of helping is often to include in the reply a couple of labelled screenshots -- a picture of the software with some arrows and text saying, "Click here." Until last year, I used the tools I had at hand for this, the programs I had used for years and knew well. This involved launching Grab -- a screenshot-taking program -- to take the screenshot, copying the image into Photoshop, using Photoshop's text and arrow tools to mark up the image, and saving it to file. If I was answering a question on our user forums, I would further have to use Fetch (an excellent Mac-only FTP manager), to upload the image file to our servers and then copy the URL from Fetch so that I could include the link in my reply. It was painful; creating each image could take minutes, and we receive many tech support e-mails every day. Then last year, a colleague recommended Skitch (currently Mac-only, but apparently in development for Windows). Skitch allows me to do all of this in seconds. It's a screenshot-taking program, but you can add arrows and text to the image directly, and once you've done that, you can either drag the image into an e-mail or click on a button which will upload the image to your servers and provide you with the URL. It's an amazing but simple piece of software which has allowed me to do my job better. Why? Because the developers of Skitch were software developers who faced the same problem in their own daily support routines and so set out to write a piece of software that would make things easier.

So the chances are, if you are struggling with the software you use daily, or feel as though you are juggling three or four programs in an attempt to tackle a single task, someone else out there has struggled too -- and someone just might have written a piece of software that will make your day easier. (In my case, I wrote Scrivener because I was fed up of juggling multiple Word files in the Finder -- or in Windows Explorer back when I was on Windows -- when they all belonged to one project; I was fed up of trying to keep track of my chapters or outline in Excel, both for my abandoned Ph.D. and in my poor attempts at writing a novel; I was fed up with writing synopses on index cards, moving the index cards around to find a good structure, and then having to replicate the rearrangement in my Word files. So I eventually bit the bullet, taught myself to program and wrote a piece of software that would do these things for me. My motivation for creating it was therefore so that I could use it myself; the idea of selling it was secondary -- although obviously I'm glad I did.)

How do you go about finding better software for what you want to do? Google, as always, is the first go-to, but there are also dedicated sites such as or, for the Mac, The Mac App Store is an obvious place to look for Mac users, although it's still a little barren in these early months after its inception. Perhaps most fruitful approach is to search or ask in an online forum dedicated to the topic most relevant -- a forum dedicated to digital art may be a good place to find out about scanning software or painting programs, for instance. Be careful, though -- searching for the perfect software can turn into a procrastination activity all of its own (and I should know -- writing the software in which you intend to write is perhaps the ultimate procrastination activity).

And if you still can't find the software you need, the software that will make your life -- or at least your working day -- easier by cutting out all the repetition and tedious workarounds you have developed? Well, you could always try writing it yourself. Next time I intend to talk a little about how a small software house is created and run.

Keith Blount is the designer and lead developer of Scrivener writing software.