In today's video case study, I'll introduce you to ExpressionEngine, the content management system I recommend for the vast majority of my projects. As a partner to designers and creative firms, it's crucial that I work with software that allows us to deliver a pixel-perfect web site and an easy-to-use control panel – something that even non-technical clients or content editors can jump into without a huge learning curve. ExpressionEngine's flexibility, highly customizable back-end and robust, professional development community have made it a huge asset for me and my design partners.
Check out the video above, then dig in to the article below to learn more.
Choose your developer first
The question of which content management system to recommend for a project is actually a big point of controversy among developers.
Ask 10 programmers to recommend a CMS, and you'll probably hear seven or eight responses about how one software option is "the best" in absolute terms, or how anybody who doesn't use Software X is asking for trouble. The truth is, many goals can be accomplished successfully with many different software options.
There are some types of sites for which I will recommend a system other than ExpressionEngine, and there are many developers out there who've chosen to focus on other systems (and who build great web sites with their software of choice). By the same token, there are bad web developers who'd build a low-quality site regardless of the software they choose.
That's why I encourage my design partners to choose their developer first. Find a person or team who will communicate with you effectively, meet your deadlines and become an integrated part of your team. Find someone who you enjoy working with and who can help you and your clients make decisions that allow you to deliver a great final product.
From there, allow your developer to recommend the system that works best for the goals of each project. Software is secondary to a great relationship.
There are some projects that require content management systems other than ExpressionEngine – for example, perhaps a university wants to build a new site within its current infrastructure, which is based on another CMS. I'll never try to force ExpressionEngine on a client, and I have a large network of partners whom I'll bring on to a project (or refer potential clients to) when appropriate. That said, when we're making the recommendation from a clean slate, there's a host of big advantages to working with ExpressionEngine.
Design Flexibility: Never "work backward" from a theme again
For designers, ExpressionEngine's biggest benefit is the fact that it allows absolute flexibility on the front-end design of your site. If you've worked with other content management systems, you've probably had the experience of being encouraged to "work backward" from a theme, or to make compromises in your design because "the CMS doesn't do it that way." With ExpressionEngine, we totally remove the concept of "themes" from the equation, and you're able to design your site exactly as you want it, without having to factor in the assumptions other systems make about how a site should look or operate.
The result is that we're able to build pixel-perfect pages from your Photoshop or Illustrator designs, then integrate those pages directly into the CMS without making any changes. Rather than pushing assumptions and expectations about how content should appear, ExpressionEngine allows us to drop in the appropriate data in the appropriate spots, staying 100% loyal to your designs.
This saves a huge amount of headache for designers. It can be frustrating and disruptive to get to the development stage of a project and have your developer tell you that the design needs to change to fit in with the assumptions made by the content management software. You shouldn't have to backtrack at that point – especially when the client has already signed off on the designs – and ExpressionEngine gives us the flexibility to precisely match the design you worked hard to create and finalize.
To get a feel for the wide range of designs that can be seamlessly integrated into ExpressionEngine, check out the dozens of EE projects in my portfolio. You'll see that there's no theme, no common set of design standards – my design partners have the freedom to build exactly the site they want.
An easy-to-use, highly customizable control panel
The second big win with ExpressionEngine is its incredibly customizable and easy-to-use back-end – it's so straightforward that even the most non-technical of team members can easily jump in to one of our trainings (which we do via GoToMeeting and provide as a recorded video for future reference) and be comfortable updating the site in less than an hour.
ExpressionEngine's user interface gives content editors a clear visual path to updating the appropriate pieces of content – without the risk that they might break something else in the process. The client will never have to touch code unless we want them to, and we're able to eliminate all the extraneous pieces that are often hanging around in other content management systems, waiting for someone to click the wrong button and mess something up on the public site.
By way of example, check out the screenshot below. This is an image of the "Site Map" page of the ExpressionEngine control panel, which provides a clear visual hierarchy for all the pages and content you'll need to edit. From this simple landing page, you're able to click on any page to edit its content, or click on the "Add or Edit" links next to some of the pages to modify the articles or content items listed on that page. For example, clicking "Add" next to the Newsroom page launches the form that allows you to create news article. It's a super-simple interface that eliminates the complex instructions many content management systems require just to find the content you want to modify.
There are some other great features here, too. For example, if you mouse over a page and drag the page up or down the list, you can automatically change the order of your pages – and this change is immediately reflected on all navigation on the front-end of the site. Likewise, you can quickly add a child page anywhere in the Site Map, making it easy to expand your site with new pages that use the layouts we've already created for other pages.
ExpressionEngine's content editing forms also go above and beyond the typical content management system in terms of their flexibility and customization options. This means that there are no unnecessary fields and no "traps" the client can fall into when editing content. It may sound crazy, but many other content management systems don't allow you to remove unused fields and functionality in the same way EE does, and the end result is the client having far too many options on the screen, only a few of which actually accomplish their goals. That type of overload quickly overwhelms non-technical users – and gets on the nerves of the most seasoned veterans, too.
Check out the first image below, which shows a page editing form for the "About Us" page from the Site Map above. You'll see a handful of fields that are designed specifically for use on the interior pages of the site. The second image, by contrast, shows a form that's specifically designed to handle News Articles – a different type of content that requires a unique form. Many of the field types carry over, which means it's easy to learn how to edit many different content types after you've learned the first one.
However, you'll see that each content type is treated differently, allowing you to access the exact fields and data that needs to be edited – and eliminating everything else.
A self-selected, highly professional development community
The third and final benefit of ExpressionEngine is that it's commercial software based on an open-source framework. This means that we get all the benefits of open-source software – including a well documented and widely adopted code framework and the ability to work with the PHP programming language and MySQL database engine, which are two of the most widely used and supported technologies on the web. You can run ExpressionEngine on just about any typical web hosting service, and developers who work with PHP (including those who may be on your client's internal IT team) can realistically work with the site, even if they're not ExpressionEngine gurus when they start.
ExpressionEngine also adds a commercial, professional component to the picture – because experienced developers know that free open-source software has a price. The fact that anyone and everyone is encouraged to use other free content management systems means you get a development community that's a lot like the "Wild West" – some developers are true professionals, but many are novices or people who have chosen the system because their budgets require them to use something that's free. The challenge for designers and creative firms is that it can be hard to tell the difference, so you'll often run into situations where you download a plugin for your CMS and find that it breaks your whole site because it was poorly designed by a novice programmer.
ExpressionEngine totally eliminates this "Wild West" scenario, because it's created and supported by a commercial company, and every ExpressionEngine project carries with it a small software license fee. The license fee is just a few hundred dollars, and is included as part of the fixed fee for every project we'll work on together, but it creates a powerful barrier to entry for developers. The developers who choose ExpressionEngine almost exclusively work for larger agencies or higher-end development firms, and they have chosen to invest in software that will contribute to the success of their high-value projects.
EE's self-selected, professional development community also encourages its developers to create powerful, well supported third-party add-ons. For example, if you're looking for a really robust calendar or Google Maps addition for your site, you can stand on the shoulders of the high-end programmers who have built similar systems before – and in many cases, they've now turned those software packages into commercial products of their own. When a third-party developer is able to sell high-quality add-ons, it means building great software becomes their job, not just a hobby or side project. This creates a totally different dynamic in terms of the trust we can place in the software, and the fact that add-on software is a commercial enterprise creates motivation and inspiration for third-party developers to do great work and support their customers as they use their software.
Lastly, the high-end, self-selected nature of the ExpressionEngine makes it a smaller and tighter group – but still big enough (and growing fast enough) to support many thriving companies and thousands of expert-level developers. The side effect of a more tight-knit community is that attempts to hack the system are less of a day-to-day concern. ExpressionEngine has an impeccable track record for stability and security, and you won't see a new version getting rushed out every couple weeks to address the latest threat or hack that's been publicized.
The reason for this is that it is simply more profitable for hackers to focus on the widely distributed, freely available content management systems. There are many more sites using those free systems (by virtue of the fact that any novice can use them), and there's a higher likelihood that developers would leave big holes in their implementations when building lower-budget sites on those free systems. The combination of the smaller size and highly professional nature of the EE community means there's simply less time and energy put into breaching the system by the dark side of the hacker community. That's not to say ExpressionEngine is immune from problems, but it has historically been a far more stable and secure system than many alternatives.
ExpressionEngine is a winner – so what's next?
Thanks for taking the time to read today's case study – and if you haven't had a chance to watch the video at the top of this article yet, please take a few minutes to check it out.
Many of my design partners have greatly benefited from having a written knowledge base they can share with their clients on why we recommend ExpressionEngine, and I've created this article to make that knowledge a permanent fixture for everyone to use. Feel free to copy and paste directly from this article into e-mails with your clients, or link them directly to this page if you prefer. And of course, you can pick up the key points that will resonate with each client and integrate them into your phone calls, discussions and proposals.
Finally, I'm always glad to get on a call with you and your clients to help explain our software recommendations and answer any questions they may have. If you're interested in chatting in more detail, please contact me at (720) 708-6590 or firstname.lastname@example.org. Looking forward to it!
President, Howard Development & Consulting, LLC