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 Cache::get() should not be called statically in /home/sites/concretefive.co.uk/public_html/concrete/models/attribute/categories/collection.php on line 73 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/attribute/type.php on line 11 Strict Standards: Declaration of SelectAttributeTypeController::exportValue() should be compatible with AttributeTypeController::exportValue(SimpleXMLElement $akv) in /home/sites/concretefive.co.uk/public_html/concrete/models/attribute/types/select/controller.php on line 506 Strict Standards: Declaration of SelectAttributeTypeController::saveKey() should be compatible with AttributeTypeController::saveKey() in /home/sites/concretefive.co.uk/public_html/concrete/models/attribute/types/select/controller.php on line 506 Strict Standards: Declaration of SelectAttributeTypeController::duplicateKey() should be compatible with AttributeTypeController::duplicateKey() in /home/sites/concretefive.co.uk/public_html/concrete/models/attribute/types/select/controller.php on line 506 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 :: Philosophy & Culture 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

Blog

Philosophy & Culture

Posted by admin on April 14, 2012

Some little nuggets from the Concrete5 Core Team

GregJoyce's Great Choices #1

Passwords: whether you're trying to gain access to your friend's tree-house or your bank account, you will need the correct password.  But what's the best way to pick a password?  If you look at the keyboard on your computer, you will notice several keys.  Most of them have one letter on it.  Some of them do not.

Read Full Post >

Happy New Year - 2012!

What a year!!!

Read Full Post >

Occupy means..... what?

I walked through the Occupy Portland encampment before it was broken up....

Read Full Post >

“The cloud” is bad for web hosting.

Okay so we routinely hear from people that have setup concrete5 on some cloud based web server and find it slow. My answer is routinely, “Well of course, what would you expect out of something called ‘the cloud’ – speed?”

The cloud makes a lot of sense to me if you have a huge number of small computing tasks. Need to store a load of data? Sure. Want to convert a kaballion images from one format to another? Perfect solution. Even if you’ve got a simple webapp that you want to be able to replicate a million times some morning when you get Dugg – okay, as long as the app is pretty light weight and you design it with this in mind. 

Read Full Post >

An open letter to PHP developers about concrete5

(Pulled from here: http://www.concrete5.org/about/our_philosophy/a-letter-to-php-developers/)

Hi,

I’m Franz, I used to be a developer, now I write emails. I was programming logo in first grade, I was running BBS’s in the 80’s, hacking together sites with SSI and PHPv3 in the 90’s. Now I run concrete5.org with Andrew, who grew up hacking IRC and has worked with me for over a decade. We built concrete5 after years of consulting and frustration with other systems.

I know there are thousands of content management systems, and the learning curve for any new system is a beast, so I applaud the fact that you’ve bothered to look for something new and have read this far at all. Let me tell you a few things about where we’re coming from that might help you continue to find the energy to get under the hood of concrete5:

  1. We talk about “path of least resistance” around the office a lot. This means creating elegant solutions to real problems. You can’t get too high-level or you’ve just added a layer of confusion. You can’t get too specific because you’ll end up re-writing it constantly. It’s about finding what the consistent elements of the challenge are and building a solution that addresses them while offering complete flexibility around everything else. Path of least resistance doesn’t mean cutting corners, it means spending the time to understand a problem and create strong tools for building all the types of solutions you’ll need in the future.
  2. Object oriented code is a good means to an end – but it’s not the goal. The goal is having reusable code that someone can understand at a glance. If I had to spend 30 minutes looking for a single line of code that is buried 10 directories deep in a file with nothing else in it, chances are you’ve failed in meeting the goal, even though you’re strictly OOP. That doesn’t mean procedural is good, it just means quality is about thoughtful balance.
  3. Just because you can, doesn’t mean you should. It’s fun to brainstorm but lets not pretend every idea is a good one. I personally am the proud owner of many bad ideas. Every feature added means that much more risk of edge case bugs, so lets debate the value/cost ratio of that feature. Just because we’re “open source” doesn’t mean we’re socialist hippies. Lets also not forget that the first 80% of building something is relatively fun and easy, it’s the last 20% of dialing it in that will kill you.
  4. Less is more. These are websites, not rocket-ships. A page on a website is just a page. While concrete5 certainly has a learning curve and you will need to invest a little energy to get started, you should find the number of concepts you have to grapple with to be far lower than what you’ve grown accustomed to.
  5. From the ground up concrete5 was designed to be a CMS. We built this as our tool box to make picky agency clients happy. It’s not a blog that people use as a CMS. It’s not a news site that had features draped on it until it served no particular market and got dubbed a CMS. It is a well thought-out framework that was designed to let crazy clients manage a great looking website, with next to no training.

If you’re hot under the collar right now because I just made it clear I’m not going to automatically approve your add-on when it doesn’t follow standards, or that I’ve failed to understand that your computer science teacher is a god amongst men – chances are you’re going to find your developer glory elsewhere. If these points resonate with you, keep exploring. You’ll find a nicely thought out system that follows MVC and OOP practices where they add value, and helps you get your job done faster and more effectively in the real world.

Best wishes
Franz Maruna
CEO, Concrete CMS Inc.

new weekly concrete5 video show!

Well if you’ve been paying attention to concrete5.org recently you’ve seen some fairly cool new stuff like the Karma system. Now we’re launching a weekly video show “Totally Random” where we share news on concrete5 and interesting things we bump into along the way. Check out our super rough but amusing pilot here:

/private/karma/news/totally-random-episode-1/

Franz gets interviewed in a nice podcast

This was fun!

Got to talk about how and why concrete5 got started, what my own background is, and what makes a startup work. It’s always flattering to be called a “go-getter.” ;)

Here’s the link to the site: http://www.go-getters.ideatewith.com

Also, here’s the iTunes link: http://itunes.apple.com/podcast/go-getters/id337491910

Aaron Swartz and Jordan Michael are awesome people!

concrete5.3 has been made possible by long hours, a great community of developers, and the kind license grants of these folks:

Aaron Swartz

This developer wrote the Python based engine we use to compare versions. It’s the only script we’ve been able to find that actually does diff with an awareness of how HTML tags work. If you stop and think about it, you’ll realize that’s a HUGE challenge and this guy solved it with a few pages of code. You should hire him to think about very complicated problems if he’s willing. He allowed us to bundle his GPL based script into concrete5 under the LGPL licesne.

http://www.aaronsw.com/2002/diff/

Jordan Michael

This designer does a lot of amazing work, is based in Chicago, and is gonna be someone you read about in magazines and books one day (if he isn’t already!) We’re using his file type icons in the new file manager because they’re dead sexy, and work at a large scale. He’s allowed us rights to redistribute them with concrete5 and we really dig that!

www.Jordan-Michael.com

Thanks to both of these guys, it’s awesome to be able to find something amazing on the web and use it. We’ll keep doing our best to make sure the whole package is greater than the sum of it’s parts!

Lord Maruna is displeased with the Hotel Tria(ge).

When I saw the Title dropdown on the registration form, I should have known things would go poorly. Instead of just your regular old Mr., Mrs., Ms., there were dozens of options.. Esquire.. Captain, Admiral, Sir, Duke – and the oh so too tempting “Lord.” I appreciate the creativity of a bored production programmer, so I couldn’t pass up the opportunity of bringing a touch of royalty to my business trip. Wow, was I mistaken.

Read Full Post >

Finally. I’m proud to be an American.

Well Gang,

We’re gonna go off topic a bit here, but it’s my right to rant. This is the first day I have ever truly felt proud to be from the United States of America. When I was in high-school, forming my view of the world, we were in the first Iraq war – which I could see even then was an Oil rush, not a moral issue. If you’ve read much of the philosophical rants here, you know I’ve got no love for authority, so I really had nothing much positive to say about my country. When I saw the stars and stripes fluttering in the wind, all I really saw was hypocrisy and a new form of corporate colonial abuse around the world. Certainly the last 8 years have been beyond embarrassing.

While 9/11 was certainly a horrible event, to have the response be a declared war on a tactic and a general closing down of the communication process is inexcusable. To let it fester for a second term was beyond depressing. I find myself in Portland, Oregon frequently only surrounded by people with a similar world view – so to be part of a country that seemed to be so wholly missing the point was horrible. I wondered if our system was truly broken beyond repair. I wondered if our international reputation was broken beyond repair. I wondered if this was a place I wanted to raise my family.

Last night I became a new man. We had all heard the polls, we all had given our time and money to Barack, but still we all assumed McCain would win in some inexplicable evil way. Maybe Diebold would just hand him the vote, maybe there really were millions of closet racists as the media kept implying with the “Bradley Effect” – who knew, but the seldom voiced opinion of all of my friends was “snowball’s chance in hell” that a man named Barack Hussein Obama would be our President. But.. Amazingly..

He DOMINATED.. 2:1 in the electoral college!! took ALL of the battle ground states – none of this waiting around for a week while the lawyers hash it out – we knew while still having an after dinner drink! It was a clear and total victory and I couldn’t be prouder.

I feel like we just made a stronger move in the “war on terror” with that one vote than we did in the 8 years of that cowboy dicking around. I feel like if I were to be on an international tour, I’d be PROUD to have an American Flag on my backpack because we may not be perfect (my God that’s clear) but we’re able to do a 180 degree switch and elect a black man with the middle name of Hussein to the most powerful job in the world. “Give us your tired, your poor” because you TRULY can make something of yourself here. This country is NOT just a good-ol-boys network and we’re NOT Rome falling to chaos – the best truly IS yet to come and it’s going to make the WHOLE WORLD a better place.

Ya know I got truly excited about Barack almost 2 years ago now when I read a New Yorker article detailing his most enduring trait – the inherent ability to be a diplomat. Take two people with completely different views on something, accept that there is no “us and them” – no “good and evil”, but rather help them find common ground and a new understanding about how we all can get along. Its about communication and I believe that through open communication we can solve everything and anything. Frankly, I wouldn’t have chosen to give away c5 for nothing if I didn’t deeply believe that. Freedom of expression is freedom.

I honestly believe Barack Obama IS empathy and communication incarnate. I don’t think it’s gonna be easy, and I’m sure he’s gonna make us all work hard for it, but get ready for some actual thoughtful, deliberate, caring understanding and bridge building from your friends in the good old U, S of fuckin A.

PS: sorry about the last 8 years again.. uhh. mulligan?

PPS: I’d love to hear from our international friends as I know c5 is used as much out of the states as in em..
-frz

c5 vs drupal – why does c5 rock so hard?

Ever since osCon08 we’ve been getting this question a lot. We even got it from the Drupal volunteers who essentially asked ‘with Drupal in the world, why would you even build another CMS?’ I think the answer is pretty obvious from just watching the screencast or playing with the demo on concrete5.org, but here’s some thoughts I’ve had with people via email recently:

We are thinking of using Drupal as a basis for a new portal/application server website and became aware of Concrete5.

I would be interested in a brief chat with someone regarding your views of the pros and cons of the two applications, and about some custom work and support for our projects if we decide to base it on Concrete5.

-nolet.com

Frz:–

I think c5 is better than Drupal for any number of reasons:

1) It was a successful commercial product for years, so we were paid to throw bad ideas out. Most projects that are open source from the get go have to worry as much about politics as programming. We had the leisure of being paid to make mistakes and fix them for 5 years before giving the core framework away.

2) It actually does what you’d expect out of the box. Look we don’t have thousands of developers working with it yet (I think?) but what’s in c5 actually works well, it all looks and behaves as one, and it’s going to let you solve 90% of the problems you’re likely to run into building the average website. You don’t have to be an expert in which module breaks which other modules in order to get a site built.

3) It’s just as flexible and stable (arguably a good deal more so – but I’m not a Drupal expert and am obviously biased). I can say from my experiences and everything we’ve been hearing from the community it’s a good deal easier and more enjoyable for the end site owner to use. That means a lot when you’re waiting for a check – we know.

I’m sure there are a good many more reasons why so many people and shops are taking their Drupal powered sites and rebuilding them in c5, we’d love to hear them here. Is it just the UI, or is the development environment appealing as well? Is it the page types/themes architecture or just that permissions are bundled and you don’t have to deal with thousands of competing modules? Is it our massively complete and impressive developer documentation?

We know a lot of people already prefer c5, reach out and tell us what we’ve done right and what we still need to work on. .. oh, and what you hate about Drupal, so we don’t end up making the same mistakes as this grows.

nevermind freezing my head, just upload my soul!

 

A New Logo

No, not for us. We already have a new logo. No, the logo I’m talking about is for Wal-Mart:

It’s interesting they ditched the hyphen – makes sense though, since I could never remember if Walmart was spelled with one or not. The iconic Walmart star is present, but they’ve moved it from the middle. Upon seeing this logo with the star at the end, the first thing I thought of was an asterisk, meant to denote some bit of trivia or impart a cautionary reminder about the company in question.

Walmart*

(* – May prove hazardous to liberals, leftists, protectionists and yuppies.)

(* – Prolonged exposure may lead to nerve damage.)

(* – Watch for falling prices…or reap the whirlwind.)

(* – Surgeon General Recommends a Lifestyle Free of Excessive Bargains.)

And so on… Any you want to add?

You’ve got some %$&*ing mail!

Okay, who the hell turns their speaker volume up so loud that you can hear “YOU’VE GOT MAIL!” from their AOL account through their floor (our ceiling)? Our upstairs neighbors have received four pieces of mail today. We need to figure out a way to strike back. I’m thinking ceiling-mounted speakers and Ahnold.

DESTROY.

NetDisaster …you are so clever, so nice.

Developers are Human, too

From the beginning, Concrete has been designed as a system that makes the creation of pages easy, with a flexible “block” system available for placing items of content within these pages. As Concrete has matured, new data types have been created for different types of tasks. In Concrete5, for example, we have all sorts of these: single pages, page types, themes, blocks, elements, user attributes, page attributes, email templates, and more.

Read Full Post >

Sweet Ass New Logo

Dig the new logo treatment.

Why Our Office Rules

I arrived at work today and prepared to engage in my typical morning routine. Step 1: Put lunch in fridge. Step 2: Brew Coffee. Step 3: wait nervously until step 2 completes. Step 4…well, you get the idea.

I opened our fridge, and this is what I saw:

A look inside the Concrete fridge

It occurred to me that this moment sums up exactly why Concrete is an excellent place to work. Let me put it out there for you:

Fridge - With Captions

Reason 1? An abundance of beer.

Reason 2? An abundance of humor. No, for the confused amongst us, we aren’t PETA-hating, raw-animal-eating nutjobs. We are, however, irony-loving, hipster-leaning, Arrested-Development-watching nerds.

(Note: I did not open the bag.)

Back from the Yucatan

So, after a bit too much sun and tequilla, I’m back at work after a couple of weeks on the Yucatan. Back to the “real world”. It’s a bit of an adventure emersing yourself in a foriegn country where you barely speak the language. The strange thing is that first week I was surrounded by not spanish speakers, but chain smoking germans. I was studying at a small spanish school down there where most of the residents were from northern europe. Fortunately for me, most of the europeans knew about 4 or 5 languages, so english became the spoken language when I was in the room. I was staying in Playa Del Carmen, which is a cool little beach town that has become the fastest growing city in North America. It’s a lot cheaper & more laid back than the spring-break-partier destination of Cancun to the north. After refreshing my poor Spanish skills in Playa I rented a car (driving in Mexico is insane btw. One-way streets and individual lanes are sort of arbitrary concepts there). I headed south to spend a few days in these primitive cabana-bungalows in Tulum, which turned out to be on a nude beach. Then ventured inland to explore the various mayan ruin sites around the peninsula. Uxmal was probably the highlight. A good trip all and all. It definity served its intended purpose of giving some time to reflect and to momentarily re-evaluate this strange american culture we live in.

The Business of Bullshit.

Hey all, this is Andrew. I’m Director of Technology here at Concrete Websites, and I’m going to take the reins from Franz for a second.

I’ve been making websites for more than ten years – first as a production/HTML guy, then a web and database programmer, and now as a director of some very talented programmers. Through it all, a number of things have remained constant. One of those is the impressive amount of bullshit involved when talking about the web. For example, in preparing for this post I took a trip to The Web Economy Bullshit Generator, and while its layout is dated, its content is as hilarious and spot-on today as it was when it debuted. And as the web changes, new sites have arisen to chronicle its changing lexicon. Everyone, it seems, is hatin’ on buzzwords.

 

Why do buzzwords get such a bad wrap? See, as engineers, programmers and information architects, we like precision. We crave it. However, language by its nature is mostly antithetical to precision; terms that get created to express complex concepts can’t help but miss some of the nuance, because that’s what language does: it distills the complex into something that a person can wrap their minds around without wanting to shoot themselves in the face. But engineers look upon this compromise between precision and accessibility with disdain, and as a result consider buzzwords a bunch of hokum.

I understand this distrust. However, as I’ve moved from doing day-to-day work in the trenches to more conceptual and managerial work, I’ve found myself engaging in the unthinkable: I’ve started to use terms like those so mocked above in serious and non-ironic ways. It started with AJAX, a decent word used to express a technical concept. Now I can’t stop: words like “leverage,” “scalable,” and “monetize” are a part of every day conversation.

Why all the back-story? Hopefully, it convinces you that what I’m about tell you isn’t the result of some knee-jerk antipathy toward “buzzwords.” I use buzzwords. I think they have their place. I think they can assist in communication. However, when used in excess and in place of any actual content, they deserve to be mocked mercilessly.

Let such mocking commence. The victim? TechCrunch. Their latest article, Bill’s Gold Watch, is bafflingly incoherent. Check out some of these quotes, as helpfully disected from the “article” by the second commenter:

  • “cloud infrastructure battle”
  • “made that platform relatively salivating”
  • “while Google methodically mows down the marketplace”
  • “going to consolidate Facebook’s equity in social metadata and create a groundswell of OpenID adoption”
  • “warm fuzzy feelings for Web site owners who become part of an expanding network of reuse of the original log-in”
  • “The terms of service for accessing social clouds will normalize over the next few months as users gravitate toward sites that leverage their original investment in OpenID registration”
  • “producing affinity based on less work, common interface guidelines, and pressure on Facebook and outside clouds to modify their terms of service to avoid having to reinitialize access to their social data over and over.”
  • “starting to accelerate in real time streams over Jabber and XMPP”
  • “allowing the kind of piping currently enabled between Gchat/Talk, iChat, AIM, and Twitter, which together produce a common set of streams that all are recorded and archived in Gmail’s Chat repository”
  • “the last time we saw this type of viral spread, it was Adsense carried on the river of the blogosphere”
  • “social graph being formed out of the combination of follow and filtered Track”
  • “can provide infrastructure to model the unique characteristics of Twitter’s dynamic graph using Facebook’s avatars”
  • “can fit into this like a glove, feeding downstream vertical versions of affinity groups to skinned Silverlight containers”

Jesus. Come on! I first thought of this blog post after reading the sentence “It’s not that Friend Connect is going to slow Facebook down; to the contrary, it’s going to consolidate Facebook’s equity in social metadata and create a groundswell of OpenID adoption which in turn will drive Open Social app development.” Who actually believe this?! I’ll talk to you all day about social networking, social bookmarking, and grid/cluster computing, but if someone opines in my presence about the “social cloud,” they’re probably in for a confused look, at the very least. And the sentence “Live Mesh can fit into this like a glove, feeding downstream vertical versions of affinity groups to skinned Silverlight containers.” It reminds me of that episode of The Simpsons, in which Lisa, upon seeing a sign for a “Yahoo Serious Film Festival,” remarks, “I know those words, but that sign doesn’t make sense.”

Every industry and field has its echo chamber, in which nonsense is amplified to the point of credulity. The web, with its ability to propagate concepts so quickly and effortlessly, is probably worse than most. Perhaps TechCrunch is a victim of this. Or perhaps they’re just trolling for article hits. But if you want people to take you seriously when you say something, it helps to actually say something! I’m convinced that’s the true problem with buzzwords: they make it all too easy to write 500 word articles without saying anything at all.

Funny Ass Links

two good ones going around the office right now:

ManBabies.com

Caruso One Liners

enjoy.

the web will save the world.

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….

out of print – the death of the newspaper.

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?)

Read Full Post >

Blog UI

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.

Mind numbing discussion on how to skin a page.

Templates.
Page Types.
Skins.
Themes.
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.

Pricing tiers… omg.

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!)

Read Full Post >

Video game brainstroming circa 1979

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:

http://www.cracked.com/video_16019_video-game-pitch-meeting-1979.html

Revenue And Dim Sum

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. ;)

A few of my favorite things…. (or why this blog is in WordPress??)

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. 

Read Full Post >

Cranberries in Oregon…

Hello world.

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.

So we make small products in Flash and JavaScript for niches we stumble upon, and we’ve got our own proprietary CMS that we’ve developed through years of working together and licensed as we saw fit.

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?

Yes.

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.

million dollar home page, mark 2…

http://www.thebigwordproject.com/

I can not lie, this is a good idea that we simply didn’t have first. ;)

If someone could please explain to me how concepts like this go from 2 users to 2,000 – I’ve got some work for ya.
-frz

Franz Maruna gives 10 tips at PDC lunch

On February 28th – 2006, Franz Maruna led a discussion for the Portland Development Commission on eCommerce. Franz Maruna is CEO of Concrete CMS, a local web application developer. The PDC is launching a new eCommerce program to encourage web industry growth in Portland Oregon.

These ten rules were discussed as good starting points and lessons learned for running successful retail operations on the internet.

Read Full Post >

Geeks open art gallery

First Thursday Open House Celebrates Art and Technology

Portland, OR, Feb 23rd 2005 – Concrete CMS, a provider of web content management solutions invites the public to explore their new offices which feature a small art gallery called ‘Concrete the Studio’. Located in the Merchant’s Hotel Building at 222 NW Davis in the heart of Old Town , Concrete the Studio will feature one artist each month as part of the First Thursday gallery walk.

Read Full Post >

Local web company helps aspiring writers get ahead

Concrete CMS presents web resources for writers at upcoming Wordstock Festival

Portland , OR – The first annual Wordstock book festival commences this April 19th through 24th in the South Wing of the Oregon Convention Center. Along with featuring prominent authors like Norman Mailer, John Irving, and Alice Sebold, the festival will also provide several workshop sessions for teachers and aspiring writers alike.

Read Full Post >

Concrete CMS hires Studio Manager

…or how a web shop can open an art gallery.

While moving their offices into the historic Merchant’s Building in Old Town, the folks at Concrete CMS saw an opportunity. “The fourteen foot ceilings, brick walls, and open space lend themselves to a gallery setting. “For years, we’ve made art that works for our clients, and now we’ve got a chance to give something back to Portland,” says Franz Maruna, Director. “Our studio receptions are a comfortable salon-like environment where local artists can connect with a diverse audience that many traditional galleries don’t deliver.”

Read Full Post >