I've been beating a drum recently, and it has a lot to do with pursuing simplicity in technical architectures. I want to allow for optimizations where it matter most and avoid the kind of technical and functional bloat you can get through using some CMS platforms. So I was delighted when a colleague recently shared a link to Kyle Rush's post which demonstrates some huge value in this approach on the Obama fund-rising campaign site.
Kyle's article is well worth a read. In it, he talks at high level about some of the principles and approaches that were used to ensure high performance on the contribute.barackobama.com site.
Many of the techniques and technical architecture decisions map very closely to those that I have been championing recently, and I talked a little about this at Fronteers in Amsterdam when I spoke about the complexity overhead from some Content Management Systems.
Of particular interest to me, Kyle mentions some great stuff like:
- Generating a static site with Jekyll
- Using Github for version control
- Abstracting the payment gateway off to a RESTful API and calling it from the client
- Performing A/B testing with Optimizely and iterating rapidly
So much of this rings true to me, but it is great to read of the very tangible and financial benefits of ensuring that the site is well optimized and front-end development is not compromised by (what I call) CMS Stink.
A couple of quotes from Kyle that gave me real, 'Amen brother!' moments:
By using Jekyll we managed to avoid the complexity that comes with most CMS (databases, server configuration) and instead focus on things like optimizing the UI and providing a better user experience.
There is a lot to be said about simplicity.
Can I get a 'hell yeah!'