Part of the EllisLab Network

Blog & News

Kurt Deutscher
Founder and Principal Consultant of NetRaising

EE in Short Order

How do you explain to someone what EE does when that person may have limited computer skills, may not understand how a database works, or even what one is?

Some days I have to remind myself that the Internet is still a new experience for many people. Even folks who have been using email for a decade may not know much about the web or how websites work, and frequently they are the very people charged with choosing a CMS and/or CMS consultant for their business.

Also, among these folks is a sub-group I’ve run into that hate anything that has to do with databases. They have an emotional reaction to databases as if they are inherently evil and out to destroy the world.

When we’re presenting to folks like this, we might be using the latest techno-speak to describe the website we’ll build for them, and they might be hearing something completely different.

I might say, “Your new dynamic website will be built in a Content Management System called ExpressionEngine, running on a foundation of the powerful open source technologies of the PHP language and MySQL database.”

By the time you finish that sentence, they are thinking, “Ack! It requires a free database I’ve never heard of, it’s in some language I’ve never heard of and the whole expression whatever and dynamic thing just sounds like it will create a lot of drama around here we don’t need. I don’t want a database, I want a website!”

When I sense this is going on, that the person or group I’m presenting to is not receptive to my carefully practiced techno-speak (I’ve seen people turn red and start shaking), I try to take a step back in the conversation to explain how EE works. My favorite analogy is that of a short-order cook in a breakfast restaurant.

Here in the States, we have restaurants that specialize in serving the American breakfast. At the center of these restaurants are one or more short-order cooks who can take a customer’s request for two eggs (cooked anyway he likes) bacon, hash browns, toast and a stack of pancakes, cook it and get it on a hot plate in a manner of minutes. A good short-order cook in a well-designed kitchen can plate 100 meals an hour during morning rush. It’s a bit like a highly improvised kitchen ballet.

This kind of restaurant is familiar to most of the folks to whom I end up explaining EE to, so it has proven to be a good analogy for me. Here’s how I might use the restaurant to explain a dynamic EE site versus a static website.

If you walk into a “static” restaurant for breakfast, you will be served the same breakfast prepared the same way as the person before you, and as the person who comes in after you will have. The place basically serves one breakfast, cooked one way, for everyone that visits. In fact, the food may have been precooked and/or prepared weeks in advance; think frozen dinner.

If you walk into a “dynamic” restaurant, a waitperson will send your request for breakfast back to the kitchen, where a very busy short-order cook will read your request and quickly prepare your requested breakfast from scratch, out of resources in the kitchen. He will go get eggs, butter, bacon and bread and start cooking those on the grill. He may also find some pre-mixed batter from a bowl (a cache) and pour some of that on the grill at the same time to make you some pancakes. The second everything is cooked, he assembles it all on a hot plate and your waitperson brings it out to your table. In a good breakfast restaurant, this takes less than five minutes. When EE does this for your website, it will take a fraction of a second.

The kitchen is very much like a database of information that has been stocked, stored and positioned so that it can be accessed quickly and assembled into a hot breakfast by your short-order cook. ExpressionEngine acts as your short-order cook assembling your meal for you as you requested. The restaurant is your hosting server and your waitperson is your browser in this analogy.

This is analogy is far from perfect, but enough folks identify with it that I just keep using it. Also, by avoiding unfamiliar technical speak, and using somewhat familiar terms related to kitchens and restaurants, some people feel more comfortable talking with me about EE. The whole CMS conversation becomes less threatening and sometimes quite silly.

If you’ve not encountered the kind of restaurant I’m talking about in this post, I found this video of a short-order cook preparing a late night meal. This will give you a visual even though this cooks not preparing breakfast during rush-hour. This video is nearly perfect for my analogy though, as you can see the cook querying the database, retrieving the data, formatting it, and assembling it.

Short Order Cook Video

So far, I’ve had pretty good luck using this short-order cook analogy to explain how EE works to folks who are unfamiliar with the web, computers and databases. I’m always on the lookout for a better analogy though, and I’ll bet there are some good ones out there. So I invite you to share yours if you’ve found one that works for you.
How do you explain EE to the non tech savvy?