Strict Standards: Non-static method Cache::get() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/package.php on line 84 Strict Standards: Non-static method Cache::key() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/libraries/cache.php on line 117 Strict Standards: Non-static method Cache::getLibrary() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/libraries/cache.php on line 122 Strict Standards: Non-static method Loader::package() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/startup/packages.php on line 8 Strict Standards: Non-static method Object::camelcase() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/libraries/loader.php on line 290 Strict Standards: Non-static method Loader::package() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/startup/packages.php on line 8 Strict Standards: Non-static method Object::camelcase() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/libraries/loader.php on line 290 Strict Standards: Non-static method Loader::package() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/startup/packages.php on line 8 Strict Standards: Non-static method Object::camelcase() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/libraries/loader.php on line 290 Strict Standards: Non-static method Loader::package() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/startup/packages.php on line 8 Strict Standards: Non-static method Object::camelcase() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/libraries/loader.php on line 290 Strict Standards: Non-static method Loader::package() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/startup/packages.php on line 8 Strict Standards: Non-static method Object::camelcase() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/libraries/loader.php on line 290 Strict Standards: Non-static method Loader::package() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/startup/packages.php on line 8 Strict Standards: Non-static method Object::camelcase() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/libraries/loader.php on line 290 Strict Standards: Non-static method Loader::package() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/startup/packages.php on line 8 Strict Standards: Non-static method Object::camelcase() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/libraries/loader.php on line 290 Strict Standards: Non-static method Loader::package() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/startup/packages.php on line 8 Strict Standards: Non-static method Object::camelcase() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/libraries/loader.php on line 290 Strict Standards: Non-static method Loader::package() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/startup/packages.php on line 8 Strict Standards: Non-static method Object::camelcase() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/libraries/loader.php on line 290 Strict Standards: Non-static method User::checkUserForeverCookie() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/startup/user.php on line 4 Strict Standards: Non-static method Config::get() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/startup/maintenance_mode_check.php on line 5 Strict Standards: Non-static method PermissionsCache::exists() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 69 Strict Standards: Non-static method PermissionsCache::getIdentifier() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 15 Strict Standards: Non-static method Loader::db() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/collection_version.php on line 38 Strict Standards: Non-static method Loader::helper() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/startup/process.php on line 28 Strict Standards: Non-static method Object::camelcase() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/libraries/loader.php on line 250 Strict Standards: Non-static method View::getInstance() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/dispatcher.php on line 273 Strict Standards: Non-static method Loader::db() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/collection_types.php on line 40 Warning: Cannot modify header information - headers already sent by (output started at /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php:69) in /home/sites/concretefive.co.uk/public_html/concrete/libraries/view.php on line 841 Concrete Five :: History Strict Standards: Non-static method Cache::get() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/page.php on line 24 Strict Standards: Non-static method Cache::key() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/libraries/cache.php on line 117 Strict Standards: Non-static method Cache::getLibrary() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/libraries/cache.php on line 122 Strict Standards: Non-static method Loader::db() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/collection_version.php on line 38 Strict Standards: Non-static method PermissionsCache::exists() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 69 Strict Standards: Non-static method PermissionsCache::getIdentifier() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 15 Strict Standards: Non-static method Loader::db() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/task_permission.php on line 67
Strict Standards: Non-static method PermissionsCache::exists() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 69 Strict Standards: Non-static method PermissionsCache::getIdentifier() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 15 Strict Standards: Non-static method PermissionsCache::getObject() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 70 Strict Standards: Non-static method PermissionsCache::getIdentifier() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 45
Strict Standards: Non-static method PermissionsCache::exists() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 69 Strict Standards: Non-static method PermissionsCache::getIdentifier() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 15 Strict Standards: Non-static method PermissionsCache::getObject() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 70 Strict Standards: Non-static method PermissionsCache::getIdentifier() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 45
Strict Standards: Non-static method Loader::db() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/collection_version.php on line 38

History

The History of Concrete5.org

Strict Standards: Non-static method PermissionsCache::exists() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 69 Strict Standards: Non-static method PermissionsCache::getIdentifier() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 15 Strict Standards: Non-static method PermissionsCache::getObject() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 70 Strict Standards: Non-static method PermissionsCache::getIdentifier() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 45 Strict Standards: Non-static method Area::getOrCreate() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/block.php on line 59 Strict Standards: Non-static method Area::get() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/area.php on line 160 Strict Standards: Non-static method Cache::get() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/area.php on line 127 Strict Standards: Non-static method Cache::key() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/libraries/cache.php on line 117 Strict Standards: Non-static method Cache::get() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/block.php on line 63 Strict Standards: Non-static method Cache::key() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/libraries/cache.php on line 117 Strict Standards: Non-static method PermissionsCache::exists() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 69 Strict Standards: Non-static method PermissionsCache::getIdentifier() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 15 Strict Standards: Non-static method PermissionsCache::getObject() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 70 Strict Standards: Non-static method PermissionsCache::getIdentifier() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/permissions.php on line 45

Preface

Concrete is the brainchild of Franz Maruna and Andrew Embler. These guys grew up in the 80's, before it was fashionable to be a geek. Both spent a good deal of time in their local BBS scenes, both had a strong interest in the arts as well as technology, and they both got involved with the web because of a passion for bringing people together with technology.

They met in Portland, Oregon on a production gig, banging out annual reports for Intel in the bowels of a local ad agency. While Franz had already officially dropped out of school to make his fortune on the wild wild web, Andy was finishing up an English major at University of Oregon. These two quickly realized their skills and interests complimented each other quite well. Through many consulting jobs and a couple of full time positions, they have been happily working together for over 10 years.

Concrete CMS v.1 – circa 2003

Running 'yet another' small interactive media shop, Franz jumped on the opportunity to help alocal agency build a Lewis and Clark Bicentennial site for the AdCouncil. Driven by the fearless nature of youth, the three-month turnaround on a huge project with over 90 stakeholders hardly daunted him. Within the first week, it quickly became clear that there would be no absolute decisions on this project. College professors, native tribes, tourists – the audiences and decision makers on this project had not only different perspectives, but often contradictory ones. Any piece of content might end up getting moved from here to there, and following the traditional Define -> Deliver -> Revise approach simply wasn't going to work. They needed something more flexible, something where they could dramatically change the site in real time without negatively impacting the project schedule.

Concrete CMS was born. Starting from scratch in PHP 4, Franz and Andy built a highly flexible system that tried to avoid all the pitfalls of other products like Mambo, Teamsite, and StoryServer. They developed three rules to use to evaluate every decision:

1. Keep it easy. You don't have to be "trained" to do some basic writing in Word. The same should be true for your website.

2. Keep it flexible. They worked for some of the best ad agencies in the world. Being told "well you can't do that with this CMS" wasn't an option. The client’s needs define the web experience, not the technology's limitations.

3. Keep it robust. The AdCouncil was planning national TV commercials, so the site would get big spikes of traffic, up to 10,000 visitors per second. While any system will need some fine tuning to handle that, the CMS had to be inherently scalable.

Concrete v.2 – circa 2004

It turned out a lot of projects could benefit from a rapid development platform that made it easy for site owners to use and update their site. While Franz's shop continued to bang out everything from Flash product demos to application interface design, more and more projects were built with the toolset developed for the AdCouncil gig.

Franz thought up the name 'concrete' on a rainy walk in Portland, Oregon. You can build just about anything with it, it's easily added onto later, the advent of concrete was revolutionary in the architectural world. Many lessons learned from the AdCouncil gig were incorporated into this version of concrete CMS, which was used as the building material for the cool indie music network, Indie911.com

Concrete v.3 - circa 2005

The guys started focusing all their development energies on Concrete CMS. The shop's old name was dropped, they moved into new hip offices in Old Town Portland, and started banging out every mid-sized site they could in Concrete. A lot of community add-ons were developed. A wizard structure that easily let sites break out of the In-Context editing mode was developed. From brochureware to extranets, Concrete CMS was becoming a player in the Pacific Northwest.

Some notable projects of many included: KettleFoodsJTFPColorOfMySound

Concrete v.4 - circa 2007

As Web 2.0 became dangerously bubble-esque, the Concrete team kept plugging away at larger and larger projects. The user system was re-thought to be more flexible, the dashboard emerged as some much needed balance to the in-context editing. 

Some notable projects of many included: Lemonade.comShopTextEnhancedBooks

concrete5 - circa 2008

After five years of using Concrete and many more of consulting, Franz and Andy had failed to make the world a significantly better place. Yes, they now had a web shop that cost $70k/month to run in a hip town, but is that really a great legacy? Concrete had no sales channels beyond word-of-mouth, and while it was fundamentally a great CMS, it had nowhere near the reach of simpler things like blogs and tweets. Franz now had two kids, Andy was thinking 'career' instead of 'gig' – a new direction was needed.

The boys went back to the lab. They stopped adding features to Concrete, and instead completely gutted everything they didn't like. They completely redesigned the interface. They re-thought how templating worked. They took their five years of successes and failures and locked themselves in their basements and built the perfect solution: concrete5. They invested in properly protecting the brand, and gave the product away under the most permissive open source license they could find.Why? Too many reasons to list here, but you're welcome to peruse their blog from the time to seehow the decisions felt as they unfolded. Suffice to say, Franz and Andy wanted to do a lot more than a few guys in Portland, Oregon could pull off on their own.

concrete5 was released in early June 2008. By October, it was project of the month on SourceForge.net. By November it was getting well over 1,000 visitors a day. Today, concrete5 has reached across the world, sites of every nature are being built, and thousands of people are using it to express themselves online.

Check out the showcase of concrete5 sites, and take a glance at our press page to see what's being said about concrete5 by the media.