Wednesday, September 9, 2015

CalTopo Goes Commercial

I've spent a lot of time lately thinking about the future of CalTopo.  While I'd love to claim that I started with some kind of genius original vision, the truth is that it started as an offshoot of a hobby project I'd been working on for SAR, and grew organically from there.  As with any software project, the work started out fun and gradually became more of a drag.  Now much of my time is spent answering emails, fixing bugs, and dealing with operational issues.

In short, the first 10 hours or so a week I spend on CalTopo have all the excitement of a regular job, but without the upside of getting paid.  I only get to do the fun stuff after I eat my broccoli, and many weeks that never happens.

Happier times, when CalTopo's landing page didn't have a map viewer, you had to create a map before you could draw anything, and I didn't have any support work.

After devoting my free time almost entirely to CalTopo for a number of years, I've been getting restless.  The past year saw me delve into researching the impact of terrain on lost person behavior in SAR.  While the results may seem obvious, an entire generation of search managers has been trained using the aeronautical/maritime model of gridded area searching with little regard to terrain.  The Department of Homeland Security, which fancies itself as owning inland SAR in the US, is still heavily invested in that model, as is the current crop of textbooks.  My research project is a tiny drop in the sea of effort required to restore some sanity to the way people are found, and I would like to do more.

Another consideration is my AWS hosting bill.  August cost me $2200; rounding a bit, the costs were roughly:

  • $250 to host map tiles on S3
  • $200 to host the and servers
  • $100 of random bits and pieces, such as EBS snapshots full of GIS data that I need to keep around
  • $1400 in data charges, mostly serving map tiles


There are a few smartphone apps that license the map tiles from me; they form the bulk of the $1400 in usage costs, and also pay me just enough to subsidize the entire AWS bill.  However if they were to pull out I'd be up a financial creek: beyond the fixed hosting costs, CalTopo users alone account for $100 a month worth of map data.  This is not some forum that can be run on a cheap shared host, and while I greatly appreciate the various donations people have made, they fall well short of the site's actual monthly operating costs.

The costs involved with developing and running CalTopo - both real and opportunity, financial and time wise - have been significant.  While I still cry a little inside every time I price out a 4x4 Sprinter camper van, I don't regret the hours and funds plowed into it.  However, looking to the future, how long can I continue channeling such a large part of my life towards CalTopo?

Yeah, Baby!  If I could go back in time, would I trade CalTopo for one of these bad boys in my driveway?  Decisions, decisions.

I don't know what the answer is, but it's certainly not another 5 years.  Even ignoring the pull of other projects, I've simply been spending too much time locked away behind a desk.  My own sanity requires more weekends spent recreating rather than working.

As I see it, there are basically three options:

Keep the current model and let the site stagnate.  I'll occasionally be able to make time for improvements, but the pace will slow and large features like auto-routing along trails are unlikely to get implemented.  If map licensing fees drop off, either shut down or eat the $7k/yr in unavoidable hosting costs.

Open source the code and start a nonprofit to cover costs.  I tried the open source approach with early versions of the code, and no one ever contributed anything (literally, which is why I was able to return to a closed source approach).  With the site's improved popularity it may be a different story now, but I'm not convinced that the open source approach works well with hosted sites, as opposed to software that end-users run locally, or server frameworks like Apache.

In addition to code improvements, there are also the hosting costs to worry about.  I've seen plenty of nonprofits struggle for cash; the most effective ones either have strong local appeal or some kind of national advocacy message.  A backcountry mapping / SAR nonprofit wold have neither, and it's unlikely that I would be able to do more than struggle to cover each year's hosting costs.  That said, if anyone has a pile of money and a burning desire to help the outdoor and SAR communities with it, drop me a line at

Get serious about running the site like a business.  Beyond hosting costs, try to make enough to justify continued development and investment into the site.

After a lot of thought, I've decided to go with option 3.  While there was some hesitation leading up to the decision, now that it's made, I'm pretty excited about it.  A sharper focus on commercially viable features will ultimately mean a better site for users, with me forced to spend more time on documentation and UI improvements rather than chasing shiny new ideas.  It opens up the potential to include paid map layers, such as PDFs with higher resolution aerial imagery.  And, hopefully, it will allow me to invest more hours developing new features.

The "shared maps" layer was originally driven by commercial ambitions, but now that it exists, I think it's a great feature in its own right.

Understandably, I don't expect all the users out there to share my enthusiasm.  Since I'm explaining why I need to make CalTopo commercially viable, I also want to clarify a few things:

  • CalTopo will continue to be usable as a free site; it will not be hidden wholesale behind a paywall.  As a user of the site myself, I want to be able to bring a map up on a friend's computer without having to sign in.
  • CalTopo and SARTopo will continue to be free to first responders who use them professionally, such as SAR and wildland fire.
  • Billing will be simple and transparent.  You won't have to enter a card number to start a free trial, and  won't have to time your cancelation with the end of a billing period.  You can cancel with a single click, no annoying retention process.
  • You can keep your data.  You don't have to worry about losing any of your saved maps or PDFs if you cancel your subscription.
  • If you've already made a donation, you can request to have that credited towards your account.

I'm still working out the exact details and will lay them out in another post.  However, my current thinking is a $40/year subscription that includes the following:
  • Unlimited private maps.  Free users will be limited to 5 private maps, although they can create as many publicly shared ones as they want.  If you already have more than 5 private maps, you can keep them, you just can't save any new ones until you get the total under 5.
  • Save PDF URLs for up to a year.  For free accounts, URLs will expire after 30 days.
  • Large-format PDFs.  Free accounts will be limited to 11x17.
Edit: I should have made it clearer that this is simply one option.  I'd also consider something that's cheaper but encompasses more of the site; see comment below.

One feature I'm still contemplating is a smaller cap on the number of pages a PDF can have (current limit is 15 across the board).  There may also be some additional paid PDF management functions, such as the ability to hide the QR code or point it at a custom URL.

So . . . what say ye?  What's the best price / set of features that will give me a functional free site and happy paying customers?