Drupal

The theming firehose (NB for designers & front-end developers new to Drupal)

Drupal markup in a Wordle

You theme with the mark-up you have, not the mark-up you'd like to have.

That's the essential truth that designers and front-end developers new to Drupal need to understand. You don't get to construct your pages from scratch, building out essentials, never a wasted div, never an extraneous class. No, you have to flip the entire process around. With Drupal you're getting markup shot at you from a firehose, and as a themer you need to sop it all up and make it pretty. Don't spill a drop.

What this means is that, by default, you're spending a lot of time debugging the theme you're building so that it handles all the different configurations, content types, page structures, etc. that the Drupal site is throwing at you.

You have to be braced for it. It can be overwhelming. You can feel like you're drowning. Don't worry. You'll get used to it after a few months. Mostly.

Make friends with Firebug.

But wait, can't this situation be changed?

Well, kind of. You can intervene in the mark-up. You can write your own page templates. Your own fields templates. Your own views templates. Your own search templates. Your own node templates. Your own comment templates. But be warned: You're going to be working against a ton of mark-up. And you'll need to know some PHP to add your own variables — mighty powerful and nifty, but your Dreamweaver chops aren't going to help much.

You see, Drupal aims to be flexible, and it does that by throwing a zillion divs, spans and classes into the output. That means if you're not expert at CSS, you're going to be lost adrift in a sea of markup, and if you are expert at CSS, you have to learn how to see through the clutter — because when you have four or five nested divs to contain one single element, it's not necessarily obvious which one to target with your CSS. Especially if there's some nefarious Drupal core CSS already at work.

There are endeavors to make Drupal mark-up better, including in the HTML5 Initiative. But that's a slow process, and it sometimes meets heavy resistance.

Meanwhile, to get sites themed now, you may have to change how you work. Change how you view the web “page”. Get used to being the html sponge, absorbing and directing the firehose, using only the drops you want and letting the rest by without touching a thing. Let go of the idea that you're building from scratch, and get used to the mindset of diagnosing what's already there.

That's the price of power. Drupal is incredibly powerful. You need to flex your theming muscles to match what Drupal throws at you. Work through the complexity. Trust in Firebug. And don't despair. In the end, the resulting webapp is orders of magnitude bigger and badder and more kick-ass than what you could have done on your own, having 100% control but going it alone.

How is "great content" found?

Dead Sea Scrolls photo

In a provocative assessment of Google’s Google+ strategy of launching a “recommended users” list (a topic of its own), Robert Scoble shared an assumption behind his conclusions:

If you have great content you will get found by one of the folks on this list.

It’s an interesting claim. I've heard this kind of thing for years, and always wondered: Is it true? My intuition always said it's not. So last night I questioned Robert's statement in a tweet, and he replied:

@lauras it's pretty rare that good content doesn't get shared with others.

How do we know that it's "rare" that good content doesn't get shared? We know only about the good content we've already found. We have no idea how much good content has not been found. So how can we lay any odds as to how common or rare it is for good content to be found?

And "found" ... by whom?

I thought I'd lay out some thoughts on this and see what people think.

What does it take?

  1. The content must be "good".

    We all know that there's a ton of bad content that gets much more attention than good content. But for good content to get found, the question assumes good content. What makes content "good"? That's a question that is addressed piecemeal in the following points.

  2. The content must be on a viable platform, in a viable format.

    The content must exist in a form that can be consumed if it is found. A book in Braille is not going to influence many. Your handwritten novel may be fabulous, but the single copy's being on yellow pads, with all the words scribbled in your poor penmanship ill serves your great novel.

  3. The content must be findable.

    If people can't get to it, you can't share it. For online content, it must be in a format to be indexed by search engines. For movie content, it must have distribution. Your painting that's viewable only from your livingroom is not findable by others except your house guests. (If only you had a gallery showing!)

    A Confederacy of Dunces was eventually published posthumously and found by a delighted readership and a satisfied Pulitzer committee, but what if John Kennedy Toole's mother didn't champion his manuscript after his suicide and convince a publisher to publish it? How many John Kennedy Tooles have passed through the world, leaving behind great manuscripts that never will be read?

  4. The content must be accessible.

    How many provocative news articles languish behind a paywall, never to be accessed by the people who could most infuentially share it? How much great content in China is never found because it's censored? An Internet without Net Neutrality could render much content completely inaccessible due to preferential content mainstreaming deals by access providers.

  5. The content must be understandable.

    It must use a common language. It must use existing cultural references. We can love the music of Beethoven because he touches us in musical language still used today, but we are lost hearing Javanese gamelan, and modern avant-garde composers might speak in musical references too modern or obscure for us to grasp. How much ancient Greek poetry can be enjoyed when Greek is no longer taught in university?

  6. The content must have some audience.

    Here's the trick. Somebody must start the sharing chain. Likely it takes a lot of somebodies to achieve some sort of sharing critical mass. How many of the most interesting people you know don't have a popular blog, don't have a jillion Twitter followers, aren't in oodles of Google+ circles? I can't count them all on the fingers of both hands. There are simply too many to count.

    My own blog has a small audience, but perhaps is on the radar of just enough people where good content fitting all the criteria listed here could break out and be "found". But if I tweet about my post, I can perhaps reach a slightly larger audience (via a fraction of my Twitter followers). On the other hand, if my post is Drupal-related and appears on Planet Drupal, my audience is suddenly and automatically increased by an order of magnitude, meaning so many more people can see and pass along my content if they deem it to be "good".

    How many content creators have that kind of audience available, who in turn can share that content with yet other people? Yes, there are some popular thinkers out there really putting out good content. But let's face it, most of the popular stuff is pretty crappy.

    Which leads us to:

  7. The content must stand out in the noise.

    And there's a lot of noise these days. In the above-referenced Google+ joint, Scoble states: "Most people can only follow 250 people. In fact, the average user follows far less than that." That's because of noise. How much great content passed right before your eyes on Twitter, flitting by before your attention was drawn? I probably see 1% of all the stuff that crosses my Twitter feed, and that's on a good day, and even then I actually read only a fraction of that. Most of what we see is noise. But I love the serendipity that comes from following too many people.

    But if everyone is following only 250 people or fewer, how interconnected are we, really? Does your headline grab attention? Does your post have a striking image? Does your so-well-crafted jewelry look too much like discount store junk for anyone to notice its fine qualities? Has your essay topic been played so much that your most-insightful points aren't enough to gain anyone's attention?

    This last leads us to:

  8. The content must be timely.

    This doesn't apply only to the insightful post on the latest political event can't be posted weeks after everyone has forgotten about the event. It also means that your content must fit the concept of what's "good" in that era. Vincent Van Gogh died a pauper; we can say his paintings were "found", but did he ever know it? Much of our filtering mechanisms are conscribed by popular culture – popular media culture, popular political culture, popular academic culture, you name it. The most-shared good content will fit within those contemporary frames – not "ahead of its time", not out of fashion, not when the event is forgotten, not when the moment has passed. Many a bon mot would have been more bon had they not been "esprit d'escalier".

  9. The implied author must have an appropriate identity.

    Your public image of you (as opposed to the "real" you – c.f., Wayne C. Booth, The Rhetoric of Fiction) is how many will decide whether you're worth paying attention to. If they've decided yes, your content gets higher consideration. If they've decided no, your content is dismissed out of hand. If they don't know, well, then it depends on your perceived identity and how it "fits" into the context of things – or how it "fits in", period. Scoble points out that "Most content on social networks is developed by only 5% and most of the audience listens to the top 5% of that." The most popular bloggers link to each other, because they perceive each other as credible enough to read.

    What about those not already in the echo chamber? They must have an identity that appeals. Despite all the public touting of how we live in an age of "tribes", we tend to vastly underestimate the value of having an identity appropriate and acceptable enough to influence others. And yet what is social networking but a way of forming tribes to filter out the noise? If you don't "fit in" the tribal filter, you're part of the noise as far as others are concerned.

    Sometimes that's just by circumstance. Sometimes it's by preconceived stereotypes. For years, women have known that (many) guys don't link. In the tech world, a start-up with venture capital backing is taken much more seriously than a start-up with no backing; not only the venture capital PR muscle, but the very fact of having gotten venture backing at all helps start-ups stand out from the noise and be perceived as worth paying attention to. Joe Coder comes up with a fabulous new app and nobody pays attention, unless the app gets some sales traction; Pete Programmer with Acme Ventures backing gets buzz before the app is even approved by Apple.

    I would argue that perhaps the biggest impact Acquia had on the success of Drupal came from nothing more than the fact that Acquia got venture backing, which put it and Drupal on the radar of tech bloggers and journalists, who then put Drupal on the radar of many who've since adopted Drupal for their projects. And yet some of the most profound and influential content about Drupal has happened outside of that paradigm. But those content creators didn't have the right identity to be found. (This is nothing against Acquia as a company. Acquia does much more than raise the visibility of Drupal, don't get me wrong. But seeing the rather sudden "discovery" of Drupal once Acquia announced funding was really hard for the rest of us to miss. [Disclosure: My business does business with Acquia. Many Acquians are my friends.]

    In another example, in Google+, you must have the right kind of identity to even participate. If you have the "wrong" identity, how likely is it your "good" content will be found?

  10. The content must last (long enough).

    Paintings rot. Books dry up and blow away. Great movies of the 1930s and 1940s disintegrated or burned in vaults. The fire of Alexandria took away how much greatness from even the possibility of our discovering it? This challenge will never leave us, even in the digital age. How ironic that an essay noting the ephemeral nature of digital content can be found only via the Wayback Machine!

In a perfect world, there are fields of dreams

The success of good content (no matter how you define "good") depends upon each of these links. If one breaks, odds are that content will languish in obscurity. If everything lines up perfectly, then all you need to is build it and they will come. For those of us on the Internet, we have it pretty good – better than ever in history, perhaps. Content creators weren't so lucky thousands of years ago. Even a couple of decades ago.

And content creators aren't so lucky in media that doesn't happen entirely online. In Hollywood, for example, one of the old saws preached by the successful is, "If you write a great script, it will get made." They justify this by the fact that good scripts are extremely rare in their world – so rare that bad scripts have to be produced into movies because there are not enough good scripts to feed the production/distribution machine. (This perspective also validates their own sense of self-worth: If they "made it" in Hollywood, it's because they did good work, right?) Yes, the good scripts that actually get their attention have some chance of getting made. But do those good scripts tell stories that studio executives think people will pay to see? Do they have good roles to draw marketable stars? Do the stories tell a political message the executives are comfortable with?

And what about all those scripts that never get read by the Hollywood decisionmakers – the people who not only can say 'no' (of which there are many) but can also say 'yes' (of which there are very few)? One of the most common entry-level positions in Hollywood is that of "reader". The reader reads undiscovered scripts that are submitted (to the agency, to the production company, to the studio) and writes "coverage" that becomes the actual measure for assessment by others. Culling is done by the reader directly, and by others who don't read the script but only read the reader's coverage of the script. There are who-knows-how-many great scripts that never get past this stage.

How much good art that exists in your community do you know about? How many good white papers have been posted by authors you're not predisposed to find credible? How many good novels have a cover you find unappealing and never pick up?

If you're a content creator, so much of your success is out of your hands. You need some degree of luck or providence. Seneca wrote, "Luck is what happens when preparation meets opportunity." Corollary: Luck cannot happen if you are not prepared. But you cannot make luck happen. All you can do is be prepared, and be persistent at that preparation, and not blink if the opportunity comes.

That is how great content is found.

What do you think?

[Photo by "Ken & Nyetta (Creative Commons)]

Is the site logo content?

Is the site logo content?

A brief exchange on Twitter with Jen Simmons (@jensimmons) and Morten Heide (@mortendk) about how to best incorporate a site logo into a Drupal theme got me cogitating on this question. Jen tweeted:

...What should go is the habit of hardcoding content into the theme. #separationplease #drupalwtf

@jensimmons

"Content"? Hmmm. This got me pondering: Is a logo "content" per se? My immediate response was in the negative. But upon further consideration, I don't think it's all that clear cut; I'm definitely less certain today than I was yesterday.

This post is a bit of thinking out loud on this question. Comments welcome! (But no need to shout #wtf, okay?)

Content or architecture

To me, "content" in a Drupal site is the content, as in nodes, comments, image uploads, embeds, etc. The content is the information. Come back to an article on kitten care a year from now and the content will be the same (or at least it should be).

The logo, on the other hand, is a graphic component of the user interface as well as the branding. The logo is the visual representation of the site identity. It may change and evolve, as logos do, as user interfaces do.

But functionally the logo in the web application is really a part of the site's architecture. The logo is "home." Redesign the site, revamp the logo, change its colors, replace it altogether — it is still "home" in terms of the functionality of the application. In that sense, it is fundamental architecture.

When planning, designing and developing a custom website, the theme is custom, a part of the entire design that includes architecture. (At least, this is the assumption I'm working from.) One typically does not move a logo around on a page willy nilly. One typically does not swap out the logo for another — not unless you're also changing the theme as well, as part of an entire redesign. The logo is a part of the whole user interface, the whole user experience, the whole compositional balance of the page. Conceptually it's hard for me to split out the logo as represented on the page itself as somehow apart. Logos have their own separate life, yes, but in a user interface context matters. One might even argue that the entire user interface is all a part of the branding, with the logo just playing one part. One might....

One of the advantages of a Drupal site is that a site administrator can actually manipulate the site architecture without touching code. This helps site building happen much quicker than it would otherwise. This admin control over architecture also can be handy for site owners, even if used only once or twice in a year. And it constitutes configuration stored in the database.

But does that make architecture "content"?

Drupal is very good at blurring the lines between functionality and presentation because of this paradigm. In puritanical (small "p") terms, it's undesirable, this blurring the lines. But in terms of usability and convenience for site owners, it ends up being empowering. Site menus can be modified, added to, deleted from. Blocks can be repositioned. The user interface, in other words, ends up being extremely malleable and subject to the whims of any user with the appropriate administrative permissions.

But is it content? I guess it depends upon what you mean by content. In terms of interaction design, I tend to view the site logo as a component of the entire user interface design, as part of the architecture in terms of functionality.

In Drupal, by default the logo can be uploaded from within the Drupal admin interface, and in that regard it's something like the other architectural elements that are exposed in the Drupal back-end. But the logo's purpose is locked in Drupal core. It links to the website "home page." The administrative control of the logo is restricted to determining what graphic will be presented as the logo. In other words, the logo ends up being merely the visible face of core Drupal functionality, the site architecture.

However, in terms of design, the logo is ideally integrated in the entire page design, and ideally is not simply a drop-in graphic, swappable at a whim. What's more, how that logo appears — i.e., what that logo's graphic image might be — depends upon the site design, which in turn is greatly affected by the device for which the theme implementation is intended. For example, if handheld compatibility is being addressed, the logo on a site viewed in a desktop browser will almost certainly be different from the logo used for users viewing on a handheld device. This makes Drupal core's logo upload functionality too limited and requiring either alteration or bypassing, because when the logo is uploaded into Drupal, you just get the one logo per theme. To swap out the logo for different platforms and devices, you'll need to do some fancy theme coding to load a different image (not easy for most), use simple CSS to force-resize the image (not considered best practice), or load a completely different theme (which is often not desired).

One way to avoid this is to skip Drupal's logo upload paradigm and load the logo's graphic as a background image. This way the logo can be easily swapped through use of @media queries in CSS for different sizes and aspect ratios, to complement responsive theming for tablets and handhelds. Incorporating site logos into web design via background images using CSS is a common practice for many web designers and developers. It certainly makes it easy to do things like :hover states and other user-feedback goodness.

But maybe that's not the best approach. For one thing, it clearly treats the logo graphic as not content. What if it is?

In terms semantic

There's some interesting debate on this.

Keith on Shubox ponders the question, considers the possibility that the site logo can be considered content. He argues that for SEO reasons a logo loaded as an image can have an alt value. This doesn't convince me because the link tag that can be displayed with a background image (the logo itself) can have alt values, too.

Stack Overflow bats around the question with some very nice discussion.

One assertion that comes up is that the logo is content semantically. Again here I'm not entirely convinced — not when it comes to interaction design (for the reasons I describe above). However, I do see the site name, which may or may not even be printed on the visible page, as semantically critical. But the logo? Not necessarily. In many ways, the semantic web is not much interested in graphic logos, but rather the identities the logos represent. —Especially if you consider that logo on the same site at the same URL may be different depending upon the device you're viewing it with.

Still, the Stack Overflow discussion and other Google hits leave me questioning my assumptions. (Oh, and Google itself loads its logo in an <img> tag as content.) I'm open to convincing on this score. However...

In terms practical

In another tweet in our brief exchange, Jen noted that if the logo is loaded on a website as a background image, "nothing will print."

#facepalm

It's a good point: A logo set as a background image will not print if the browser is not set to print background images, and there's no guarantee that it will. And whether you offer printer-friendly alternative pages or try to remedy the matter in print.css, it's a challenge that wild and wooly browser-world does not make easy to solve.

In other words, the background-image approach for logo placement may well serve easy adaptability to a wide variety of devices, platforms and resolutions, it risks a #fail when it comes to presenting the logo on dead trees.

(And if the logo is missing, it will be missed, which again raises the notion that logos may indeed be content after all.)

So in terms of Drupal theming, maybe the logo refrain is: don't worry, print $logo, be happy.

What is DrupalCon to you?

Drupal

Yesterday, we had a Drupal Association Board Meeting to discuss upcoming DrupalCons. The meeting ran very long as we discussed and debated what criteria we should consider in selecting cities for DrupalCons in 2012, 2013 and beyond. Passions ran hot at times as we hashed out our thoughts on our evolving process for making these decisions.

  • What is the purpose of DrupalCon?
  • What components make for a great DrupalCon?
  • What factors play into selecting a city for throwing a majorly successful DrupalCon?

In the end, I feel that we made a lot of progress in this meeting. This post is not a debrief of this meeting, though, but rather is a collection of some of my own thoughts about DrupalCon, shared as a member of the Drupal community.

Growing presents challenges

As Drupal continues to grow so quickly, the Drupal Association has been working hard to adapt. The community is many times larger than when I joined it over 6 years ago, even since when the Drupal Association launched in 2006.

  • Members on Drupal.org are now over 1 million 515784. [I stand corrected. User id's are over 1000000, but many accounts have withered, were never used after registration, or turned out to be spammers who were blocked. And since about uid 600000 the uid numbers have been incremented by 5 2, not 1. Even so, that's a lot more than when I first joined.]
  • There are more Drupal Meetups happening around the world ... and many meetups are growing in size.
  • Drupal Camps in various cities are proliferating and growing. Many are now bigger than DrupalCons were just a few years ago.

No question: People want their Drupal, and they want their Drupal events.

Worldwide there are all kinds of Drupal community events of all sizes. For the Drupal Association, we've decided to focus our attention (for now) just on DrupalCons, as they are the most challenging to pull off, most expensive to produce, and are the only Drupal events that are primarily international in nature. Who else but the Drupal Association is in a position to produce DrupalCons?

(We've been testing ways to support regional Drupal Camps, and are looking for ways to help support Drupal Meetups, code sprints, hackathons, and other smaller community events that help people get better at Drupal and get more involved in the Drupal community. More on that in 2011....)

On the Drupal Association Board, I think we're all in general agreement that DrupalCon is about serving the Drupal community. But what that phrase "serving the Drupal Community" actually means can differ, depending upon whom you ask. Each of us on the Board has his or her own idea. This is what we ended up discussing in great depth — or as much as could be covered in 6 hours.

But difference of opinion about DrupalCon mirrors the diversity of the greater Drupal community. Indeed, yesterday, as word of our discussion got out, some people began tweeting thoughts and attitudes about DrupalCons. (I'm not going to try to characterize those tweets, or the thoughts of anyone else. We all have our own ideas. Perhaps you will share your own thoughts in comments below?)

It's about the community

Drupal is fabulously powerful software, no question. The ways it can be used to build quickly all kinds of powerful websites and web apps that otherwise would require potentially tens of thousands of programming hours to get off the ground make Drupal extremely appealing to businesses and individuals alike. I'm simply thrilled by the success Drupal has enjoyed in the online world, and delight being able to draw upon Drupal for solutions to challenges I face every day at work at PINGV Creative.

But to me, what makes Drupal a powerful force in the web design and development marketplace is the community.

When I go to DrupalCons, it's like getting a contact high. The collective energy of all these people, who are all there to learn about Drupal, get better at Drupal, meet people to work with on Drupal, hire people to work on Drupal, share what they're working on in Drupal, and just connect with other people in "real" life that they otherwise see only online, is invigorating. Code sprints, documentation sprints, theming sprints, keynotes that make you think, sessions that feed your brain, parties that help you wind down — DrupalCon is an experience in full.

As the community grows, how can DrupalCon adapt? So far, we've been making DrupalCons larger to accommodate demand. Naturally that's going to change the character of things. It takes more work to produce a DrupalCon now. A lot more work. It takes real money as well to secure the venue(s), buy the food, establish wifi for one of the most network-resource-demanding crowds of any conference per capita, build and maintain the website, handle ticket sales, staff the event, work with sponsors, and the list goes on and on.

This leaves us with a choice: Make DrupalCons small, and lock out thousands of people who want to come; or let DrupalCons grow, and find ways to underwrite the expense and effort it takes to throw a major event in a different city twice each year.

We've obviously gone the latter way, and for my part this is a good thing. The more people can get exposed to Drupal through DrupalCon, the better for Drupal. And yet it's not just about numbers. We want this to be about the community.

One commitment the Board made early on was to keep the ticket price affordable. People may differ on what's "affordable," but for me it means keeping it under about $100 per day. We want to make it easy for people curious about Drupal to drop by. We want it to be accessible to your average person living on a budget. And we have a scholarship program to provide free passes to people in particular financial need.

In short, if the event is too expensive, only the true believers who have the wherewithal to come will come, and we won't grow the community through this event. And that would be a failure, in my opionion.

But there are other ways DrupalCons can serve the community:

  • Offer quality sessions that share knowledge. This has been a touchstone for every DrupalCon ever, but this doesn't mean other kinds of sessions don't slip through. I'm not all that thrilled about brag sessions, for example, where presenters show off something, but don't really share the how or what so that the attendees actually learn something more than "Joe certainly thinks very highly of himself." Or sessions where the presenter has 10 minutes of material, and then just fields questions (if there are any). I prefer sessions I can sink my teeth into. These are the kinds of sessions I try to create when I'm presenting.
  • Provide ways for people to get involved. The code sprints are great, but lately they've had the image of being just for the elite developers — which is an essential part of DrupalCon, because when else will so many core developers be able to get in the same room for uninterrupted hours of collaboration? But also important are the quiet "coder rooms" we've had lately, where people can hunker down and get their hands dirty. And the birds-of-a-feather rooms where people can gather on a smaller scale to workshop or discuss whatever interests them.
  • Revealing all kinds of things you didn't know you didn't know. It's also exciting to see what others are doing. The community is quite huge. There's so much going on that duplication of efforts can be a real problem. DrupalCon provides a great way to connect people across continents, and expose people to all kinds of things other people are doing, including oodles of things you never even knew was happening. That is exciting, and I feel provides a rush for many of us attending. Many, if not most, of us leave DrupalCon fired up to do more. You don't get that from a forum or IRC chat.

Community is the foundation. All else comes from that — the code, the business, the cool websites….

Clients follow the community, not the other way around

To me, this is how open source works. I'm sure many won't agree with me on this point. But the Drupal community came to be before the Drupal ecosphere. Today it may be hard to discern, because clients are such a huge part of the Drupal community. Professional paid Drupal work is a major driving force in Drupal development, and we definitely want to keep that paradigm going. Drupal can't thrive if it's only a hobbyist's technology.

And yet, my view is that the clients are there not simply because Drupal is the bee's knees. Drupal is a powerful technology, no question, but it's the community that makes Drupal's technological power credible. The thousands upon thousands of people all collaborating on the commons that is Drupal are really why Drupal is so great ... or at least a hugely major reason. In choosing any open source project, the savvy client looks at the strength of the community behind it. Drupal wins because of all of us thousands of people behind it, working ot make it better. Take the Drupal code as it stands today, and back it with a community of 100 people only, and you'll see usage of Drupal flatten and eventually drop.

Nobody wants to adopt an open source technology with weak community support.

By extension, I see DrupalCon as best benefiting the professional Drupal consulting ecosphere by focusing on building and strengthening the community, rather than focusing on making an event optimized for finding clients and making deals. I say this because if we do the former, the latter follows.

Someone has to pay for it

And this gets us back to cost, because if we can't keep DrupalCons affordable to people, the events will not be doing all they can to help build and strengthen the community.

Over the years, there have been complaints about how DrupalCon sponsors have become increasingly visible. Some have asserted that the Drupal Association focuses too much attention on sponsors.

Here's the thing: When events cost hundreds of thousands of dollars to produce, someone has to pay. If we keep the ticket costs down to make them affordable to a lot of people, the balance of cost has to be picked up by the sponsors. We want sponsors. We need sponsors. Otherwise we don't have events. Or we have ticket prices 2x, 3x, 4x more expensive.

And yet I also see sponsors as community members. We don't want to use up sponsors as if they're bamboo forests, expendable and replenishable. Our sponsors are part of our community. Most of the sponsors are in fact Drupal shops that comprise an important part of our community code, design and documentation efforts. DrupalCon sponsorships are not just revenue sources, they're also a major means for these companies and organizations to engage with and contribute to the community.

Sponsorship rates have gone up as the costs of events have gone up – and (very important) as attendance has gone up. My feeling is that we want to continue to offer a very diverse range of sponsorship opportunities, so that Fortune 500 companies can pony up big money for a big presence, while smaller shops can engage at lower financial levels. Over the various DrupalCons of recent years, there's been variable success at achieving this, and we're always looking for ways to do better.

What do you think?

I'm going to wrap up this rambling post here. What do you think? What makes a great DrupalCon? What would you like to see? What are DrupalCons getting right? How would you like DrupalCons to improve? What were your favorite DrupalCons of the past? And why?

Certification schmertification! Metrics schmetrics! Measuring the Drupal social/rockstar graph

Drupal disciplines Venn diagram

Certifications in software make me sneeze. Or roll my eyes. Or shrug. Yes, I'm a skeptic of certifications, and leery of motives of people pushing them. To me, certifications are a way to make money not from clients but from peers. It's like a tax. Do not pass Go. Do not collect $200. Instead, pay thousands to some firm so you can get that seal of approval. And in the end, does it mean anything?

And yet there is this obsession with measuring people. It's a way of gatekeeping, of creating scarcity, of one-upsmanship. I don't think such things are a measure of quality. They're typically market tools employed to help one group of people compete over another group. It's part of a "there oughta be a law" approach to life.

Goodness knows there are a lot of people out there who have no business building websites, yet do. Rare is the experienced Drupal developer/themer/site-builder who hasn't been shown some unsightly mess of an implementation that hardly works, if it does at all, with unmaintainable hacked code and untold violations of best practices. But color me an unbeliever when it comes to the salvation offered by some certification system. Certifications don't measure the things that are crucial to effectiveness. They don't measure ability to solve problems. They don't measure those intangible qualities that make people worth working with.

And they can't measure the unknown. Certifications look backwards, and tend to reduce the beautiful and complex to the dry and limited. Are certifications what we want? Really?

Is "Rockstar" measured in inches or decibels?

Certified to Rock attempts to bypass certifications by disrupting them using a mysterious automagical formula. The Certified to Rock algorithm is secret. That's purportedly not a flaw but a feature — presumably because if the algorithms were known, they could be gamed. The blithe response is "if you continue to rock it, your score will increase."

Of course, all this depends upon what you consider a "rockstar". Forget Ozzy and Rod and Moon and Mr Mojorisin. Unlike old-school rock stars, who burned guitars, wrecked hotel rooms, drove cars into swimming pools, bit heads off of doves and passed out on stage, and were paid millions for it, Drupal "rockstars" participate and engage in more socially constructive ways. Yes, baby boomers, the rockstar is the new square. But is your notion in alignment with the notions behind the secret CTR algorithm? Who can say?

I confess that when I first saw Certified to Rock, I thought it was a joke — a kind of frivolous, er, let's say extraordinariness meter for geeks to see how they measured up — "frivolous" because it claims to distill what is ultimately so vague and diverse and multidisciplinary and, well, human that applying a single scale is like comparing apples and cinnamon rolls. And machines are not good at vague and human.

This challenge is not unique to Drupal. Just last week this challenge of defining and measuring qualifications arose at a data science unconference:

One of the best sessions I attended focused on issues related to teaching data science, which inevitably led to a discussion on the skills needed to be a fully competent data scientist.

As I have said before, I think the term “data science” is a bit of a misnomer, but I was very hopeful after this discussion; mostly because of the utter lack of agreement on what a curriculum on this subject would look like. The difficulty in defining these skills is that the split between substance and methodology is ambiguous, and as such it is unclear how to distinguish among hackers, statisticians, subject matter experts, their overlaps and where data science fits.

What is clear, however, is that one needs to learn a lot as they aspire to become a fully competent data scientist. Unfortunately, simply enumerating texts and tutorials does not untangle the knots.

[The author, Drew Conway, offers up a Venn diagram of his own in an attempt to illustrate the complexity of the challenge. If you're interested in data science, data visualization or other big data challenges, the linked posts above are highly recommended.]

Today The New York Times had an article on the challenge of computers understanding humans:

Give a computer a task that can be crisply defined — win at chess, predict the weather — and the machine bests humans nearly every time. Yet when problems are nuanced or ambiguous, or require combining varied sources of information, computers are no match for human intelligence.

Few challenges in computing loom larger than unraveling semantics, understanding the meaning of language. One reason is that the meaning of words and phrases hinges not only on their context, but also on background knowledge that humans learn over years, day after day.

Knowing that CTR is likely not even a mapreduce kind of app, more of a simple query kind of app, one can only ponder its validity in the wild and wooly world of open source interaction development. But the concept has stuck around. And people are starting to cite CTR measurement as a gating criterion for hiring consideration. So there it is. And by that measure, it's worth a closer look.

How does Certified to Rock square that semi-amorphous blob that is a Drupal individual?

The validity of something like CTR is impossible to check, except by anecdote. Like Diebold voting machines, you cannot review the code. Unlike in Drupal, or any open source software, there's no real accountability through openness. You just have to trust it, trust the people behind it, and hope their notions of "rockstar" make some sort of objective sense, their ideas of how to measure those attributes are sound, the metrics they choose to incorporate actually have relevance, the algorithmic factors and quotients employed are properly balanced, and the people behind the curtain stick to high values, integrity and selfless standards despite the obvious and apparent temptations to tip the scales or otherwise succumb to the conflicts of interest inherent in building a system that rates not only your peers but your business competitors.

Even ruling out the last part — and knowing and having worked with Greg, Ezra and Ben, I have no reason to doubt their sincerity or integrity with regard to CTR — that still leaves a lot of unknowns, a lot of uncertainties, a lot of fuzz out of which a single scale of numbers appears — numbers that, despite their vague provenance, are being embraced by some as qualifiers for hire.

So how does it work? The site itself lays out some general parameters:

  • It must be easy to automate. There are about 500,000 people on drupal.org and more every day. We can't add something to the system that is going to require much manual work. Certainly nothing that requires us to manually do a task more than a few dozen times. So, we could make a list of everyone who organized a DrupalCon and have the algorithm system use that because that's only a few dozen people (we don't currently do that and may never). But we aren't going to go through github, launchpad, and gitorious and associate people's ID on those systems with their drupal.org user ID and then have the system give credit to people who send lots of e-mails. That's not scalable. Pro tip: keep your work on drupal.org itself - if you don't like the way it looks/functions/whatever then help the redesign.
  • It must not encourage anything that is harmful to the community. This is somewhat tricky. If, for example, the system gave points to people who have a lot of projects on drupal.org then that would encourage the creation of lots of projects including a lot of really bad ones. That makes it harder for new users to find projects. Which is really bad. So, we don't use any metrics like that!
  • It must be balanced. One of the things we're really trying hard to do is measure skill and knowledge of Drupal in a way that is fair to people with different skill sets. Someone who is an awesome site builder (can't code much, can't design, but really can choose modules and configure them) should be on equal footing with someone who can design or who can code. This is...hard. In particular it is hard to measure the skill/contributions of designers/ux/ia people and site builders. So, if you have ideas on metrics that measure their skills, please share those ideas!

This last point is the hitch. It's the part that gets into the fuzzy logic of AI. How indeed do you compare apples with cinnamon rolls on a single scale? First thing, it seems, is to simply define the scope of what in fact is being measured. What makes a rockin' Drupalist (for lack of a better word)? Programming ability counts, but not if you don't appreciate the foundations of open source. Database fu is great, but is limited if you can't generate decent markup. Theming talent is fabulous, but it's only so much help if you can't build the site to theme. And none of this touches on the intangibles like professionalism, organization, collaborative skills, communication ability, sensitivity to project goals (vs nifty solutions), general mental health, etc. that are critical to effectiveness in a Drupal project.

And yet the machine measures something. What could it be?

Some objective metrics that might be incorporated into a certification algorithm for Drupal

Here are a few ideas (total guesswork on my part), any one of which would be of little use but could possibly be combined into some formula to measure a "rockstar" quotient. Note: These are in no particular order.

Top-Level Metrics

Simple numerical measurements readily at hand.

  • Drupal UID [lower is better] — Some assumption of some degree of familiarity or knowledge could be applied based upon duration of membership in the Drupal community. On the other hand, plenty of people joined the community ages ago but haven't been very active. Or maybe you joined in 2003, tried Drupal and moved to Mambo.
  • Drupal.org number of posts [higher is better] — Because participation is good. But maybe you're a help vampire or offer not-very-helpful input.
  • Drupal.org number of comments [higher is better] — Because engaging in existing conversations shows interest in what the community is doing. But how many comments actually contribute to the conversation?
  • Drupal.org number of Issues [higher is better] — Because one can assume that people participating in the issue queues are more engaged in improving Drupal. However, if you're posting a bunch of duplicate issues or build-this-for-me tickets, maybe that's not helping so much.
  • Groups.Drupal.org number of posts [higher is better] — Because this shows engagement in more focused subject or regional areas. But if it's a bunch of job spam, who cares?
  • Groups.Drupal.org number of comments [higher is better] — Because commenting on existing discussions shows engagement with the community. On the other hand, chatty comments are common on g.d.o and do they make the "rockstar"?
  • Drupal.org number of documentation posts [higher is better] — Because if you can teach it, you probably know something. That is, if you do know something and aren't just adding cruft.
  • Drupal.org number of documentation revisions [higher is better] — Because making documentation better reflects some understanding of that Drupal subject. But some revisions are (sometimes incorrect) typo or grammar corrections, which speak to one's writing skills but not one's Drupal-fu.
  • Drupal.org number of Projects [higher is better, to a point] — Because maintaining a module, theme, feature or profile demonstrates a willingness to contribute, which is an important part of being a Drupal "rockstar". On the other hand, let's face it, there's a lot of crap contributed to CVS.
  • Drupal.org number of patches [higher is better] — Because if you're offering patches, your nose is not only in code, it's sniffing out actual solutions to make things better (hopefully). But if your patches are no good, or get ignored because someone can't be bothered, then what does number of patches prove?
  • Drupal.org number of core patches [higher is better] — Because if you're working in Drupal core, you're paying attention to the heart of things. There's no knocking this (Drupal core developers are my heroes), but there's a very great oodles more to Drupal than core code, so many are missed by this measure.
  • Drupal.org number of core patches in current and impending releases [higher is better] — Because working in the real world of today and tomorrow probably carries more relevance than working on the real world of five years ago or three years from now. Of course, this doesn't mean they're good patches … and the same concern above applies here.
  • Drupal.org number of commits by you [higher is better] — Because your projects are actively maintained, which shows engagement and desire to make things better. On the other hand, split out your projects into a bunch of files and you have more commits, and does that make you better, by definition?
  • Drupal.org number of commits by others of your patches [higher is better] — Because if others find your patches helpful, all the better. Undoubtedly this is cool, but narrowness of applicability is an issue.
  • Recency of all of the above [higher is better] — Because Drupal knowledge can grow stale fairly quickly. On the other hand, if you're really new to this, odds are you have a lot still to learn. (Don't we all!)

Reductive and Social Metrics

These are metrics that would need to be gleaned from some data mining more involved than your basic query. Quantifying these things is what is known as "hard to do":

  • Groups.Drupal.org up-ratings of posts [higher is better] — What do others think of your posts? Probably only of low value, as the more pointed remarks generally get the upratings, and this may not reflect any particularly deep Drupal knowledge or engagement at all.
  • Drupal.org and Groups.Drupal.org mentions of "thanks" and similar words with your username [higher the better] — This would take some Big Data-type parsing, but could yield some helpful social metrics.
  • Drupal.org and Groups.Drupal.org "+1" to posts and patches — This could be difficult to figure, though, as sometimes the +1 is for someone else's comment.
  • IRC "karma" points — Although this skews very heavily to the in-crowd, the inner circle talking to the inner circle, as many, if not most, people on IRC don't know about "username++", especially in #drupal-support and #drupal-themes.
  • Twitter tweets about Drupal — Because you are probably working with it if you're tweeting about it.
  • Blog posts about Drupal — Same deal.

Those Intangibles that Defy Measurement

  • How effectively the designer leverages affordances provided by the Drupal UI.
  • How well the architect matches Drupal solutions to project challenges.
  • How appropriately the themer uses clean html and semantic markup.
  • How scalable the developer's solution is in a high-demand application.
  • How efficiently the project manager directs resources towards needs in a Drupal project.

And these don't even touch the non-Drupal-specific intangibles that apply in every Drupal project:

  • How collaborative a person is.
  • How professional a person is.
  • How hard-working a person is.
  • How responsible a person is.
  • How intelligent a person is.
  • A person's work ethic.
  • A person's attention to detail.
  • A person's adaptivity to change.
  • A person's poise under pressure.
  • A person's values and empathy towards others.
  • Honesty.
  • Punctuality.
  • Reliability.
  • Focus.
  • Discipline.
  • Insight.
  • Critical thinking.

And so on.

How many is a flower?

I don't know the answer to that. Is orange greater than salty? Is platinum better than mitochondria? Yes. No. Maybe.

And?

Ada Lovelace was a Drupalchick

Okay, it's a whimsical title. But on this Ada Lovelace Day, I was thinking about how, if Ada Lovelace were alive today, she no doubt would be in technology. After all, the creator of the first "computer" wouldn't stop there, would she?

In my daily life I get to work with some amazing women who are working in, with or on Drupal. I wrote an appreciation over at PINGV Creative.

My DrupalCon San Fransciso session: Grok Drupal (7) Theming

Drupal theming is incredibly powerful, flexible, dynamic and granular, but it can be a bit of a challenge to understand without knowing the fundamentals.

The Way Drupal Theming Was

When I started Drupal theming in 2004, it was all a bit overwhelming. Back then, the core theme engine was something called Xtemplate, and it gave the impression to the n00b themer of being a great big mess. When you looked at the page template, it was one big blob of markup and logic, and it was very hard to figure out to change just about anything. What's more, it seemed to be very brittle: change something and you got the white screen of death.

And thus life was for the themer through Drupal 4.5 and the beginnings of 4.6.

New Drupal Theming Power

Then, in 2005, came the PHPTemplate theme engine, thanks to Adrian Rossouw (now with Development Seed), and the heavens opened up.

Suddenly (well, not suddenly, as it took a lot of work) Drupal templating had a structural logic: a nested system that simplified the clutter, gave us defined variables to work with, and provided the basis for extending the system. This was really really cool — so cool that it immediately became the theme engine of choise, and, with Drupal 4.7, it became the theme engine for Drupal core.

I was so excited about it, I did my first Drupal conference presentation on it, at OSCMS 2007 at the Yahoo! campus in Sunnyvale. (It was part of a larger topic of overriding display upon which I collaborated with Greg Knaddison and Ezra Barnett Gildesgame, now of Growing Venture Solutions. The PDF of my slides are available here, though they're pretty outdated now.)

Since then the Drupal theming system has evolved and improved. There are a lot of nifty techniques, tricks, best practices that are available to the themer. What's essential is having a good understanding of the underlying architecture, because that's how you can figure out where to look, how to go about making the changes you want to make the theme yours.

No PHP knowledge is required ... beyond knowing not to muck with what's between the <?PHP ... ?> tags. Of course, knowing some PHP can help. But you can also pick up the basics as you go, if you want to delve into the coded bits.

Learning Drupal Theming in 2010

My session proposed for DrupalCon SF on Drupal theming basics brings a comprehensive look at the Drupal theming system and how the front-end developer new to Drupal can take charge of the output by taking advantage of what Drupal gives you.

You won't come out an expert — that would be a ridiculous promise — but you will come out able to start rocking your own themes. You will have a solid understanding how the Drupal theme is structured, how the various templates work together, how to define regions, how to add your own targeted CSS files and scripts, use of subthemes, some good base themes to work from, how to do custom overrides of obscure, quirky or persnickety output using preprocess ... and you'll grok theming in such a way that even if you don't know how to do something, you'll know how to go about figuring it out, where to look, what to change, etc.

And because we're about to enter the age of Drupal 7, this presentation will be about these things for Drupal 7 (with some notes on how things have changed from Drupal 6). So this session could also be of interest to the experienced Drupal themer who hasn't had a chance to delve much into Drupal 7 yet.

Session voting is now open for DrupalCon SF, so if you think this session sounds helpful to you, or would be of use to the several hundred people new to Drupal who are expected to attend, please vote for my session, "Grok Drupal (7) Theming".

Thanks!

Say hello to the Open Source Decade

XKCD

Comic: XKCD #225.

Open Source has been around for quite some time, but odds are most people you ask won't know what "open source" is. This isn't because open source is obscure, but rather it has slipped into the mainstream, and unless you're already in the know, there's no real reason you will have noticed it.

But open source is here, and it's growing.

Linux maximus

Linux was written by Linus Torvalds in 1991. Linux itself was based on earlier incomplete kernels that themselves were available for reworking and building upon. When Torvalds licensed Linux under the GNU public license, there was mostly scoffing in the media, with a small minority of voices predicting widespread growth in the future. Now a majority of web servers worldwide are running Linux (see Wikipedia, above), and Linux dominates the supercomputer market and adoption in high-end special effects houses in Hollywood. Linux also powers auto electronics, weapons systems, and an increasing number of desktop, laptop and netbook computers.

My prediction: Linux distros will continue to gain desktop and laptop popularity as they develop more usability and visual style improvements. Ultimately, though, it will take hardware driver maker support (or replacement) to create the happy turn-on-and-use experience most non-geeks want out of a computer. Usability is a hard thing to design by committee, but once it starts kicking in, I don't see much of anything holding Linux back. (And no, I don't see computers going away altogether. The cloud is nice, but with all that local processing power there is a great opportunity for cooler, better apps that can leverage that cloud far better than a generic browser. [Not to mention privacy and security concerns that will always hound an open network.] I may be way off on this one, but I don't think so.)

Firefox burns

Last week Firefox 3.5 became the world's #1 browser release, edging out Internet Explorer 7. Of course, when you add in Internet Explorer 8 and the dead-but-not-buried Internet Explorer 6, Microsoft still holds the largest market share. Still, as ZDNet's Paula Rooney notes, open source has been putting the squeeze on IE.

The days of Internet Explorer’s dominance appear to be waning. Of course, Microsoft’s Windows operating system monopoly still owns the market, but we’re not sure how long that will matter, especially as software-as-a-service models take off and Google’s web-focused operating system is prepped for release.

As Microsoft’s grip on the browser market loosens, opportunities for open source rivals are blossoming. It will be interesting to see which of the two top open source browsers benefits most in 2009 [sic].

My prediction: Indeed, 2010 will be interesting for the browser market. Firefox will continue to grow, but Google Chrome, especially with Google's banner ad-driven marketing push, could be #1 by 2011, pushing IE8 and IE9 out of any hope for the #1 release spot. And this will be huge as webapps and software-as-a-service continue to take up more of the usage market from desktop apps. In fact, this latter development will push Microsoft hard to fall in line with web standards and fight to keep up with the far larger open source development communities of its browser competitors.

Android joy

Android is the open source (Linux-based) operating system for handhelds that is powering a small but growing number of smart phones, including the Motorola Droid and the new Google Phone that was given to Google employees as a holiday gift. Forrester predicts Android smartphones will have 10% market share by end of 2010. I would be surprised if it's not more. (Want a Droid? I do!)

Katherine Noyes of LinuxInsider writes:

As for Linux Girl's hopes and predictions? Her eyes are on netbooks, Android and other portable devices as the area where Linux will continue to gain major ground.

The masses are getting used to Linux whether they realize it or not, even as the desktop begins to slowly fade away. Forget the Year of Linux on the Desktop, and get ready for the Year of Linux in Consumers' Hands! Can't ask for much more than that.

My prediction: Android phones will have the buzz at end of 2010. By 2020, Android will be around in some form, morphed to suit whatever devices people are using then, but I have no idea if Apple will be still rocking then. Maybe the iPhone will be seen only in museums?

Open but less known

Drupal drops up

Drupal has been around for almost 10 years, but this past year saw increasing adoption by high profile sites and government agencies including WhiteHouse.gov.

And Drupal is not alone in the open source CMS market. See Dee-Ann Leblanc on what's coming for Open Source CMSs in 2010.

My prediction: With the new Drupal 7 coming just around the corner, expect to see another spike in Drupal buzz and Drupal usage. And with the new features and structures in place, also expect the Drupal market to change in very interesting ways. (N.B.: [BlogHer.com, where I first posted this] has been running Drupal since 2006.)

MySQL is your SQL

This database that powers so many apps you can't even begin to count
CIO's Nancy Weil predicts that Oracle will make the open source MySQL database system a core part of its Unbreakable Linux package.

My prediction: If Oracle tries to clamp down on MySQL, one or two other open source database projects — including a new or existing fork of MySQL — will emerge and come to a rising market share within a year.

Inscape and Blender and GIMP (oh my!)

Open source design programs are just getting better. Inkscape does a lot what Adobe Illustrator does. GIMP is an open source photo manipulation program that will do what most people use Adobe Photoshop for. Blender is a respectable open source 3D animation program. These applications are not new, but I expect their use to only increase as they continue to evolve.

My prediction: Expect the predicted Adobe CS5 release in 2010, and its predictable (high) pricing, to drive more buzz and market to these open source alternatives. But Blender will need a high profile adopter to get similar buzz.

Open Office market not so micro

Open Office is the open source desktop software suite that comes close to replacing Microsoft Word, Excel and Powerpoint. It's not perfect, but can fit the bill if you're finding Microsoft Office's pricing a bit too dear.

My prediction: Open Office will continue to eek out minor gains in the private user market, but will struggle to convince conservative and under-budgeted IT managers in corporations and government agencies to adopt a new, unfamiliar product. However, 10 years from now....? A lot can happen in 10 years.

Why oh why is open source so popular?

While open source software — or at least the most successful examples of open source software — is free, I don't think that's why this will be the open source decade. Rather, it's that open source is open.

Cost does come into play, but indirectly ... on the supplier side. Open source is disrupting many markets where scarcity enforced by proprietary software licenses drove up costs. With the commons competing in development, that scarcity is challenged, effectively driving down those nice profit margins that made people like Bill Gates rich.

And if there's interest to take it into a new direction, there's nothing to stop them. Forks happen.

So as long as there's community interest (read: demand) for the product, it's not going to die. This software is not going to disappear unless people stop being interested in using it.

For example, just because Android was primarily developed by Google, it doesn't mean Android is dependent upon Google to continue to evolve. On the contrary. Just because Drupal was created by Dries Buytaert doesn't mean that, if Dries decides to quit software and go do pottery in Bali, Drupal will crumble. The Linux industry has grown way beyond the origination by Linus Torvalds or its corporate distribution by Red Hat.

What does this mean to you? Nothing, if you want to ignore it. But if you are paying attention, it could mean opportunities.

As a consumer, it might influence your buying decisions. For example, I would be much more comfortable buying an Android phone than a phone powered by Windows. I had lived for over a year with a Palm 700P, which ran the proprietary Palm OS, which was outmoded and little supported. I have no idea whether Palm will be around much longer, so I don't know if I would consider a Palm anything unless it was at least running an open sourced (and well supported) OS. Buy an Android phone and odds are you will be able to continue to buy phones in the future running Android, with the same familiar interface (albeit always improving). No company is going to EOL Android. No company can.

As an entrepreneur, open source might present a business opportunity. What? Without proprietary software? How is that possible? Well, let's look at other industries. Plumbing is essentially open source. There are no big secrets, just acquired know-how that comes from doing the work. And yet plumbers have businesses in every town with plumbing. Law is open source. The law is there for all to see. But if you learn it sufficiently, you can build a practice into a lucrative career.

In other words, business does not require secrets.

This doesn't mean that all proprietary softwares are going away. Not at all. But I do expect that in 10 years most people will have a pretty good idea what open source means to them, or at least will be pretty big consumers of open source products.

Mark my words.

This was posted on BlogHer.

Web designers and developers, take the A List Apart survey

A List Apart Survey

The more the merrier (or at least more accurate). Take a few moments to fill out the A List Apart Survey. This isn't just for designers.

Somewhere over Garland's rainbow

screenshot of new site
Garland theme administration, which was introduced in Drupal 5
design from 2006
design from 2006

Garland has been a good thing for Drupal, overall, mainly for the color module. Anyone remember what it replaced in Drupal core? Yeah, it was pretty ugly. Context is important. So even though Garland is something of a front-end developer's nightmare, it has its purpose for the new Drupal user wanting to do at least a modicum of customization to the site's look, without resorting to coding.

And it has served its purpose here. I leaned on Garland (or actually her fixed-width daughter, Minelli) for my blog here for many months ... maybe more than a year. I honestly don't recall. It was since I upgraded to Drupal 6, when I didn't have time to work up a new theme. Garland gave me something so at least I could present the content here (such as it is).

But thanks to the fabulous NineSixty theme, I was able to whip something together yesterday afternoon — the theme you are seeing right here on rarepattern.com. That's right, it took me just one afternoon, even though I was hand-coding a few templates. NineSixty made it all so easy!

I had been designing using the 960 grid for quite some time now, but I had never employed the Ninesixty Drupal theme for implementation before. After hearing all the buzz at Design 4 Drupal Boston 2009, I was definitely curious to try it out. Now was my chance.

My own prior themes for rarepattern had been pretty hacky — quick throw-togethers with plenty of shortcuts. With NineSixty, I spent less time and resorted to fewer hacks. I still have some extraneous styles lurking, and of course there's the usual mark-up excess of some Drupal modules like CCK, but this was about quick implementation, with the emphasis on quick.

One of the beauties of NineSixty is that your page layout mark-up and CSS are pretty much already done. You actually accomplish most of your own layout adjustments directly in your page.tpl.php template. Just copy NineSixty's own into your own theme folder — the folder you created to make a child theme of NineSixty — and edit the classes on the various regions.

grid-8 means 8 grid columns wide

prefix-1 means 1 empty grid column before

suffix-2 means 1 empty grid column after

And there's more — push-x and pull-x, for example — to give you all kinds of power. Just change the classes assigned to each region, and your page falls into place.

The rest is just "skinning."