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!)
I've never been a huge fan of the corporate training week. In my experience going to them as a employee, it's kinda a paid vacation, yet a boring. It's great to learn all at once and whatnot, but having someone read a manual to you in front of a computer seems like a horrible way to spend your day when you're visiting a fun big city.
It's not all strategic crap and programming around the office.. in fact an awful lot of time gets wasted with stuff like this fantastically amusing video:
Tasty dim sum today, fresh shrimp – yum.
Figured the revenue model out for Concrete 5 today at lunch. We knew we were gonna give the source away, but hadn't quite figured out how to offer a hosted one for a price. We wanted to make it easy for tired old developers like me to setup a site quickly, as you would a blog – and take the opportunity to make some money on the hosting side. We also think the elegant ‘demo turns into your install' approach of so many web2.0 apps is nice.
Well the challenge with that for us is unlike Wordpress or Basecamp, we need to give people a fair amount of personalization and space. A website isn't much good without a email, our CMS shines most when one starts to mess with the presentation layer, you just have to deliver a non-centralized traditional hosting environment for it to be useful and stable in the big picture.
That becoming clear helped settle the details around our how to price hosting. The demo simply isn't gonna happen without a credit card. You're welcome to download the source, see examples, etc.. but if you want to "1-2-3 it's just that easy" on our servers, we're gonna need a credit card and real info. Keep yer l33t warez off my boxes.
Nothing shocking here, just reality. There are a lot of unique problems in the world and we don't have time to solve them all perfectly. I'll be the first to aknowlege that a Content Management company using something like WordPress to blog about their adventures is somewhat ironic. We do have a blog component in Concrete today, and it works well if you need to incorporate a blog into a larger more design centric site. For this problem, I did not. I just needed something I could setup quickly and use well from anywhere without having to take my developers away from building a CMS that serves our client's needs… So in addition to WordPress, here are some other 3rd party tools we enjoy around the office…
UPDATE: We moved all this content into our own concrete5.org site with a nice blog UI on the top end. So while aspects of this post remain true (blogs are about writing, concrete5 is about managing) the bulk of it is way out of date.
I've been making websites since there was a web to make ‘em on.
I've run my own show for almost the whole time, with a two year dabble in corporate IT at the height of the bubble.
I'm an entrepreneur who has big ideas, works hard, and wants to provide for his family. My shop wins awards, our clients generally love us, I do everything that a good mid-sized webshop should do, yet I find myself unsatisfied.
I grew up with computers in the family. My Dad worked on punch cards and tape, so I can say with as much credibility as anyone that it "runs in the blood." I was programming my Apple ][e at 6, I was building Heathkitsin the electronics lab in our basement. I ran BBS's, I got busted for bringing a Virus to school as a kid, you name it. Think War Games, that was me. I still have an acoustic coupler in the basement somewhere. My friends all played D&D and I know what a blue box is from using one, not reading about em.
I got excited about the web for bigger reasons than a paycheck though. Yes, growing up a programmer with a passion for visual arts pretty much forces you into web design these days, but in 95 when I dropped out of college to make websites that wasn't quite so that clear to everyone. What got me excited was the idea of the web as universal expression for everyone. I believed in the power of "myPetCat.com" when you could actually buy that domain and build the site yourself. I remember telling entrepreneurs that "you can look as good as IBM on a shoestring budget using the web!".. which as we all know, turned out to be more of an ideal than a reality.
I worked my way through the bubble, I've built working solutions for some of the most bizarre ideas and clients known to man, with a smile and a voice in the back of my head saying "well this might not be the printing press for the masses that the idealistic 21-year-old Franz wanted, but I am doing a great job being a voice of reason in this sea of madness."
Well now I'm 32. I've got a 2 year old daughter and another on the way. I'm responsible for a dozen bright people who love to make great websites, and I'm asking myself hard questions about if this is where I wanted to be in life. Frankly, I planned on being dead by 27 or a millionaire by 30. Neither happened. The last 5 years have been a blur of extra-credit confusion. As I grow up and realize I might very well be coming up with interesting ideas for a long time, I look at the business I've built by being flexible and bright and I wonder if, why, and how I truly love it.
I am a plumber. (shit, sorry Plumbers Association of America) but I get paid by the hour. Like any IT services company, we want recurring income, and we've historically thought the best way to do that was license a product. It is tiresome to get paid by the hour. There's no dependability in it unless you're willing to get tied to a vertical. We certainly have dabbled with the idea, why not be the company that just bangs out lawyer websites. The reality is this strategy seems to both miss the point of making the world a better place through free communication on an uncontrollable medium, and also the fun adventure of random consulting. Given the choice of Han Solo or Luke's Uncle tending the farm… Well call me Franzolo.
We do a lot of work for bright entrepreneurs who are starting an online business, but we're constantly building ourselves out of a job. Just this spring we ended up losing a huge client from last year lemonade.com because they decided they needed to build out their own IT department as part of their rev 2 launch. I can't say I blame them, sure we built everything they've got from the ground up last year, and obviously I wish I was getting that check instead of ADP in some ways, but if I were in their shoes I'd do the same thing. They need an IT department and my shop's not it, nor do we want to be in the big picture.
We're in Portland, Oregon.. where the beer flows and the creative folk grow like the moss on roofs. I learned many years ago that competing for local web development work is a tough, gossipy, battle. There's not a lot of business outside of lumber and microchips, and while everyone in this town seems to get a hard-on for doing something for HP, Intel, or Nike – I can't say I do.
So how do I support my growing family & crew in a way that I have some clue as to where money is coming from more than 6 weeks out and I'm not competing with the client's neighbor kid? How do I do something with my life that I can point to and say "that was worth while, the world is now a better place?"
Well, I could quit it all and go start some new dot com that makes virtualized widgets for gizmogingers in the social media space. Frankly, I've built enough of those ideas over the years that it's hard for me to commit my success or failure to just one idea. These days that comes down to a competitive "who do you know" battle that holds little interest for an idea guy like myself. Frankly, I want to do a lot of stuff. I want to be more involved in music and fashion than I am. I want to have the shop I have, but have a dash of downtime so we can pursue fun internal projects that we used to when it was just me and Andy in the basement. I'm sure I'm absolutely the first person you've ever heard express this dream.
Okay, so there's my self-serving blog dribble… is there a point?
It is time for us to make a new strategic play. We've had a CMS we've been selling since 2003 quite effectively. We built it before "blogs" were the big deal they are today and we made it because we were tired of our bosses spending 6 figures on some license fee for what amounted to a publishing system. It's called Concrete CMS and it works. It's flexible to work with, easy for office workers to use, and robust enough to handle real sites. We made it because we had an AdCouncil project with an insane deadline and too many stakeholders. We knew they would never agree to a fixed scope, so we needed a modular way to deal with content and functionality where we could re-arrange things in real-time and look like heroes. We did.
It grew. For the last 5 years we've done major and minor edits to it and basically sold it as the market allowed. As a production guy turned bizdev guy, I gotta say its really interesting to see the market change. I remember when people thought we were cheap because we wanted 15k instead of 30k for a perpetual license of our app. Shit I remember when TeamSite cost 300k. The price has come down year after year. As the guy in me who cuts paychecks cries, the Anarchist industrial punk kid who dropped out of college to help the underdog take on the man is getting excited though.
So here it is.
We've been working on the next HUUUGE version update of Concrete for over a year now. It's mad web2.0. It's hella AJAXy. It's dead fucking sexy and you're going to love it. It's my job to figure out who we're going to sell it to, and how we're going to price it. There's been a lot of debate. We could tweak it around to serve a particular vertical. We could add some more eCommerce loving to it and take on Magenta and the array of OsCommerce killers that are about to come out. We could come up with all sorts of money grubbing bullshit plans that we'd implement to some degree and keep making cash off of.. but frankly.. I grow weary of the battle & bullshit.
I want two things.
1) I want financial security for my family and creative crew. I want to be able to spend time with my daughters and know that I'll be able to send them through school.
2) I want to do fun, creative, world improving things. Five figure license fees to corporate America, for software that only kinda meets the core promise behind the stated need, isn't gonna put a smile on my face.
So, oh faithful new reader… Take it.
Take it for free.
Yes, I'm drinking beer, and I'm gonna buy you free beer too.
I saw Dirty Jobs the other day where a born and bread fisherman in Oregon looked at his trade, and decided to sell everything and buy into the Cranberry business for his family and personal sanity stake. Sadly the Cranberry market tanked for 3 years immediately after he got started, but he lasted through and amazingly built a successful business at something he barely knew.
I feel like I'm making the same type of decision here. My Father certainly would not give away intellectual property, his manufacturing software shop had the same core license plus time and materials model that my current webshop, and so many others had. I've certainly loved and benefited from many open source solutions over the years, but personally have always most identified with the older Shareware movement: "have a taste, but the meal ain't free." The fact that we're giving away Concrete CMS under the MIT license, more open than ‘public domain', is a true step out of the water for me, and I'm excited about what I'm gonna learn.
Of course, I hope it will be wildly successful, we'll live comfortable and creative lives while making the world a better place from our little wet corner of the world. I can promise you, oh dedicated reader, one thing.. We will embrace this full force. We will blog on our blog as openly and blatantly as our minds take us. We may end up being seen as asses or heroes, maybe both – but we'll certainly do everything we can to go big. Welcome to the internal dialog at Concrete the Studio, you're going to hear it all.