So I originally architected Concrete CMS in a nice little bar in SE Portland to deal with an adCouncil gig we had with too many stakeholders and not enough time. That was many years ago, and since the early days my dear friend and comrade Andrew Embler has taken the loose direction outlined in my sketchbook of "blocks and collections" and made it work on fixed budgets for demanding clients. Concrete has had some really compelling concepts since those early days, but like any box of tools you use hard – there's some idiosyncrasies that drive you up the wall. Being the guy finally responsible for training clients, and getting content into working sites that make sense – I've been looking forward to getting my hands on the complete re-haul concrete5 for some time. I've peered over shoulders a lot, but today was the first time I got to play with it on a site I need to deal with.
Some sites that I think are making the world a better place:
Minti.com – a parenting site that people seem to really use to reach out and find solutions and fellowship in parenting.
FreeRice.com – a mindless game you can play where the more you play the more rice they donate to the World Food Program. Does it make a difference? I dunno, but I like the idea of the energy people put into games being recycled into something useful.
SchoolPulse.com – full disclosure: we made this. That being said, the idea of teachers, parents and school administrators having another way to communicate appeals to the BBS guy in me who thinks that people can open up in different and sometimes better ways through digital media.
current.tv – I actually liked the last version more than this, it was easier to find the indie political videos. I like getting my news from the many, not the few.
I'm not going to name a political site, cause it's been done to death and frankly I don't really spend any time on a candidate/issue site.. weird.
Besides, that'll give you some thing to post about, and tell me what else am I spacing?
If the web can make the world a better place, lets have some more examples….
"Okay so let me get this straight, when we first spoke it was $13k to own it, and now its free? Are you sure about this?" a dear friend and repeat client who runs an agency just asked me.
I get that you want to provide for your family, sooo what are you thinking?
Are we going to offer a "freemeium" model where you get crippleware for free and the useful parts in expensive add-ons?
Are we going to have a different license depending who you are?
Are we going have a donation button or something?
Yes, but it will point to our favorite charity, which can do more good with the cash than us.
So I give up, why do you think destroying your perfectly viable license revenue is going to provide stability and creative freedom?
Here's what I see. The biggest challenge my crew has is bizdev. We're not perfect at everything, but we sure can deliver sweet stuff and we improve every day, execept for sales.
We've only really won good gigs through word of mouth. We've tried just about everything, and without marrying yourself to a particular vertical, it's very difficult to define a meaningful marketing strategy for a web/IT services company that wants to do "cool stuff." From my experience you do your best, and try to cultivate as many life long associates and friends who will recommend you as you go.
As the network slowly grows, things get easier over time, but it doesn't really deliver with security and creative freedom if it ties you to a limited local gossipy scene. (yeah i said it).
So while completely giving away something we have and can charge a lot for, we're actually doing ourselves a practical favor. Sure, we'll be giving up a revenue stream, but we're dropping a expensive business development challenge that we've never been good at or interested in solving. We certainly will still spend some real resources to make Concrete5 known – but a lot of that can be our time instead of cash. Moreover, if what we've been working on all these years is really as good as we think it is, we stand to jump-start a process that would traditionally take much longer. I'm interesting in seeing what a larger open source developer community might contribute to the project from a code standpoint, but I'm hungry for their evangelism about concrete5 to their clients. I don't need (or want) to own every dollar that is made off of concrete5. Why not just get out of the way and respond to opportunities as they arise as thousands of people deliver concrete5 powered solutions to their clients?
That's the practical reason to go "free beer." The real one is better:
Content management is a basic human right.
It costs next to nothing to write your thoughts on a piece of paper and nail it to a door, it should cost about the same to make a basic website without it having to be a blog. If we can do that, we'll win one way or another.
Just catching up on my New Yorker articles and read this interesting one by Eric Alterman about the death of the newspaper.
Yes, newspapers are dying, in fact – they predict the last one will be delivered to the last door on 2043 (not sure how they came to that, but yay for trees.)
The real point I took from the article was "good God! this is horrid, because original reporting is HARD and EXPENSIVE… Blogging is all well and good, but all bloggers do is pontificate and comment on other original sources"… which to a great degree is true.. (omg, is that me admitting to being full of bs?)
had yet another client meeting today where someone wanted "a corporate blog," yet when asked "list 100 topics right now" question had little to offer.
the best solution to this in my eyes is a centralized blogging interface for all employees & associates, with tag/category based cross referencing and featured embeds throughout the rest of the site for depth of content and SEO purposes.
Concrete has been around since 2003, this major version update that has been a year in the works and is major version release 5. While our content management system has always been "open source" to our clients, who paid for it; this is the first fully "free beer" open source release we've done. We're giving away our secret sauce and we're thinking how to protect the years and millions in development that have gone into it.
We've come to recognize it's the brand. We will trademark our name as Concrete5™ – and make money by being the official host, trainer, documenter, and support provider. Conversely we may look at any of those roles and tap a better suited partner as an "Official Concrete5 Solution" in return for some license or revenue model.
The Ruby on Rails guy looks to have similar ideas around his brand and license model, which is also MIT.
Models? Patterns? ARRRRG!
In previous versions of Concrete we've kept the technical architecture for how pages are presented pretty simple. Every page is a single type. Each type has a PHP file that handles presentation, and a record in the CMS that defines default/shared blocks you want to always show up. When we build sites ourselves, this typically works pretty well for us.
Sadly, it tends to get out of control when other people start playing with it. Our developers tend to think of page types as functional, and aesthetic idiocyncries from section to section are handled in that presentation PHP. So if you have a page type of "Case Study" it's going to use the same template no matter where you put it in the site. If you have case studies both in your Product section and Services section, we would A: make the navigation block that renderes that primary nav handle how it looks, or B: add some logic to the template to do area specific presentation stuff based on where you are in the category tree.
A lot of the development shops we've partnered with in the past tend to think of page types as silos or areas of the site, not functional break outs. So Products and Services both get their own page type because they have different side bars. Now when you add a Case Study that was originally designed to show up in the Services area to the Products area, its gonna have the wrong header color. All of a sudden you end up with a ba-gillion page types to handle these scenarios, which basically defeats the whole point.
The resolution we seem to have come to is split the concept in two. In Concrete 5 you will have page types that map to what goes on a page. You will also have Themes that are presentation focused, and control where and how that content/functionality is presented. Themes will contain templates that map to page type names. Every theme must have at least one "default" template, which will be used for a page type if no specific file exists.
By splitting this in two this way we hope to handle more diverse situations in a more intuitive way for end developers/site owners – my only fear is introducing too many labels and leaving people wondering where their presentation layer is coming from.
As a youth, you tend to think price is in some way related to cost.
It is not.
It's easy to be taught this in your MBA course, it's easy to think this is evil from your Marxism course, but I have found it really is the way of things. The answer to "how much is that doggy in the window?" is at best "what's he worth to ya?" and at worse, "how much you got?" How much time, care and energy went into raising the bitch and birthing the puppy have nothing to do with it. (yes I choose that metaphor to create a credible excuse to curse. son-of-bitch-shit!)