Perch is a very interesting CMS package written in PHP. What will jump out at most developers first is the price: NOT free. While many folks use free CMS packages like WordPress these days, or pay for a hosted solution, it’s not often that you run into a package that’s both self-hosted and pay-to-use (per domain!).
Of course, you get what you pay for, and Perch is definitely worth paying for… for some projects. Perch is very unique in its approach. Consider it an emergent CMS. Perch doesn’t have a predefined site structure that it builds on. Rather, you insert tags into your pages that CMS picks out and pairs with templates used for data-entry. It took me a while to wrap my head around it, but once I did I found it to be very powerful.
Because it’s not free (~$55 per domain), I’ve not used it at every opportunity. So far, I’ve reserved it for sites where someone else is picking up the tab, which is where it shines because that usually means I’m building a site for a non-technical user, thus Perch’s emergent CMS provides the minimal UI for that user’s site. For example, I used Perch to build a real-estate site for a friend of mine, Williams & Associates.
Originally, I was going to build this site on top of WordPress: pages for fixed content, categorized posts for news and property listings. I found a plugin that would provide a custom set of form fields for editing a post that would’ve worked well for the property listings… if I could have gotten it working. In the end, I was fighting WP more than it was helping me, and even if everything worked as planned there would still be a hugely complicated admin UI presented to the client whenever they wanted to make changes. (Yes, there are plugins to address that as well…)
I then ran across Perch. I loved its minimalism. It allowed me to build the site exactly as I wanted — which if you look at the HTML, you’ll see is pretty minimal, way more than a normal WP site would be — and then generate the admin-side of things automatically from its structure. Perch 1.0 definitely lacked some major features, such as image uploads and list re-ordering, but these have largely been addressed in recent updates (though they were slower coming than I would have hoped).
In fact, I was quite happy to see that when I recently went in to make some updates to the site, I ended up spending far more time in the admin UI editing text than I did touching any HTML structure, much of this thanks to Perch’s native support of Textile and Markdown.
Just last week, Perch 1.5.5 was announced, and I’m looking forward to playing with its new features. They include the notion of “apps” that I’m very interested in checking out. I do wish Perch was free, or significantly cheaper (say, $5 for non-commercial sites), or offered a subscription license (unlimited domains for a year) as it’s a perfect fit for lots of throw-away sites where a full-blown CMS would simply be overkill.