When we launched Perch we were, in most cases gently, mocked for writing it in that language everyone loves to hate – PHP. We were quizzed as to why we were not using a trendy NoSQL database. Our technology decisions however, were entirely sensible. They were based on what we knew to be true – that our target customers would not have Python, Ruby on Rails or the latest database available on their cheap hosting. We couldn’t even rely on them to have up to date PHP.
We’ve always defended our decision to take a progressively enhanced approach to our control panel. Everything should be possible without JavaScript. At a time when everyone else was flexing their muscles creating ever more app-like experiences for administration, we were working hard to build a control panel that would work for everyone. We still encounter customers who have clients using Internet Explorer 6, and were thrilled when a customer told us how a screen-reader using client could navigate our control panel. We’d like to do more in terms of accessibility but at a basic level our approach has ensured that we haven’t roadblocked people by way of a reliance on JavaScript.
Perch is self-hosted not software-as-a-service. At the time we launched everyone we spoke to questioned why we would want to open ourselves up to the horror that would be supporting our code on other people’s hosting. Downloadable software seemed like something quite old fashioned. Support for poor hosting does take up a lot of our time, however our early customers were looking for something that didn’t charge a monthly fee. More recently that decision has meant that we have started to pick up customers who are migrating away from hosted services. When Posterous announced that it was closing we were able to offer an importer for people wishing to own their own content in future.
When it comes to launching your own product, it is very tempting to use it as the chance to do all of those things you never get to do in your day job, or on client projects. At last YOU are the client, as a developer there is little more fun than getting to grips with a new technology, building things with the shiniest tools. However, will that serve your customers well? Will they even care, or worse will your latest and greatest languages, tools and techniques actually prevent them from using your product?
PHP isn’t fashionable, a NoSQL database could actually be a great fit for Perch, however if it isn’t available on our target customer’s hosting then there is no point considering it. The developer audience who would be impressed by our using a particular technology or technique are not the customers who have made Perch into the success for us that it is. Our customers have clients who refuse to leave the most terrible of hosting. Our customers create sites that have incredibly tight budgets. They are doing a great job for their clients and we are helping to support them, by enabling them to use what they have at their disposal.
The same holds true in chasing coverage in the various tech blogs and magazines, or trying to get some influencer to say nice things about your product. It’s brilliant when someone high profile mentions Perch, especially if they are someone we really respect the work and opinion of. Those mentions do send traffic our way, and I always try and reciprocate and sing the praises of products that I use and love. That said, the high profile influencers flit around from product of the moment to product of the moment. Other developers will try every new thing that comes along, they may think your product great, but won’t be able to resist checking out the next player in the market.
The people who will allow you to build a great business around your product are far more invested in your success, because they use your product every day. In our case customers have built their business around selling sites built using Perch. Often they are not developers, but designers and learning a new CMS takes a considerable investment of time. They put a great deal of faith in us, that we won’t turn Perch into something that they can’t use. They trust that we won’t sell out, or otherwise abandon them and we really value that trust.
It’s important that we, as professionals, are aware of new tools and techniques. It’s important to keep at least an overview of what is on the horizon, otherwise we run the risk of sticking to older methods because that is all we know, or because we are afraid of change. What I do advocate though is taking great care about diving into the latest shiny techniques when it comes to your product. There are products to be built and profit to be made when you turn your focus to your real customers, who tend to care more about reliability and less about what is fashionable.
3 Comments
Having poked around your code as I write an app using the API I’m impressed by what you’ve done with Perch. I can see the complexity behind the scenes to make it simple for the people using it. I’m glad it’s not fashionable, but solid.
Hi Rachel:
I make my living from building websites, and I respect your work immensely. What I really respect is that you have crafted an easy to use product and you are not afraid to put a value on it, as opposed to trying to monetize it obliquely. Reliability is the #1 consideration when choosing a CMS or any product. Our sites have to be built to last for a long time and be adaptable to future use. There are many people in our industry whose job is entirely to try every new tool that comes out, but the majority of people I know find a set of tools that they can use and feel comfortable with and for the most part, stay with those.
I use WordPress, because it is flexible, and familiar, and more extensible all the time. If I were to switch to another CMS, it would likely be either Perch or Concrete 5. The people who rely on Perch are pretty notable names, and I trust their judgement.
Great points all around. I’ve sat on, blew off, even started and stopped many an app idea because of competing priorities and technology hurdles. Glad to hear Perch has worked out. I just finished moving an old client site to a new, non terrible host, because they couldn’t fully support a WordPress install. I regret not giving Perch a try yet, and will have to rectify that soon.