Skip directly to content

Please, stop stewing, and start blogging about Drupal

September 21, 2013

All right everybody. I've got to admit, I'm frustrated.

I'm frustrated every time I'm deep in Drupal code, and I come across an issue where Google sends me to an unanswered question in a Drupal forum. I'm frustrated when somebody asks me the best way to learn Drupal and I have to tell them that the resources are pretty sparse unless you get paid training and books. I'm frustrated when I search for an error message in quotation marks, only to find 3 results linking to comments in issue queues of modules I don't use. Really? Drupal powers 2% of the web. I KNOW that I'm not the only person who has seen this issue before.

I'm talking to you.

So that's why I'm talking to you, a relatively unknown, unassuming Drupal developer. Maybe you do Drupal during the day, and come home too exhausted to think about Drupal anymore. Or maybe you're spending your nights and weekends trying to beef up your Drupal skills, since nobody will pay you to do it during the day. If you're anything like me, you don't have hundreds of core patches, you haven't been working with Drupal since version 4.6 and you haven't spoken at Drupalcon.

I'm not talking to the webchicks or the eatons. I'm talking to you, who feel like your small contributions don't make much of a difference because they languish in obscurity. You with that contributed module that's only being used by a handful of sites. And you, with a Drupal.org account, and no contributed projects at all. I'm especially talking to you.

Because here's the thing. You and I live and breathe and love open source and we love the open web. We love phrases like "the sum of all human knowledge" and thinking about how a kid in Africa or India could potentially get on a computer and educate himself out of poverty. But then when it comes to the work we're doing, we're getting challenged on all fronts and we can't find the answers we're looking for without trying to figure out how IRC works. That vision hits reality and breaks down in a big way.

You've solved problems the hard way.

If you're like me, then most of the knowledge you've gained about Drupal comes from solving problems the hard way. It's come by var_dump-ing monstrous arrays to your screen over and over, just so you can see what is going on. It's from chasing down one function after another as you get deeper and deeper into something you don't understand. It's from that very first white screen of death, which brought everything to a screeching halt, and you tried in vain to remember what changes you made last (Version control? What's version control?).

The abstractions in Drupal make it tough to ask the right questions. My first slideshow in Drupal was a joke, because I didn't know that I when I was looking for slideshows, I was supposed to be looking for nodequeues, views, and the jQuery cycle plugin. How was I supposed to know that a single image being displayed in a slider was supposed to be built with a view. Views were for making lists. This doesn't look like a list.

We can't keep relying on people verbally passing down knowledge about the right module combinations to use in obscure IRC conversations, or in closed discussions at work. That's the old way. It's like 200 years ago, when all the knowledge was held in the universities, and you had to pay to get in so those people could tell you how the world worked. That doesn't scale, and it's not how knowledge will be distributed in the future.

You're doing it wrong.

At least somewhere along the way, you felt that you were doing it wrong, and you were right. I was doing it wrong too. I'm still doing it wrong. I know that because I always find myself working around Drupal in a certain way, only to have a friend or co-worker show me a much better way to do things. "Oh, you should use dpm()." Say, what? The most recent revelation was the "examples" module. Where was this 8 months ago? How was I supposed to know this was here?

I KNOW there are things that I'm still doing wrong, but nobody's ever showed me the right way. Unfortunately, I don't know what I don't know, so until I do, I'm still going to continue doing it wrong.

Real artists click "Publish"

That's why it's so important that you take that thing that you just figured out, copy and paste it into a body field, and click publish. There are probably a lot of reasons why you haven't done this already. Reasons like deciding whether you have the time to maintain your own blog, or not feeling good enough about your design chops to make it look the way you want. Reasons like, "nobody's going to read it," or you're "not a writer," or your spelling is bad, or you want to, but can't seem to get around  to it.

And I'll be honest, you're right. You are not a writer, and your spelling IS bad, you'll hardly have anybody reading it, but that doesn't matter, because every time you click publish you're telling the world that here, in the Drupal community, we give whatever we can offer to make our community stronger. It doesn't have to be perfect. It doesn't even have to be good. Are you a coder? Just copy-paste that code in into a body field, add a sentence that says what problem you solved and click publish. Are you a site-builder. Just write "How to ____________" at the top of the page and post a series of screenshots. Start there, and don't worry about posting garbage, because most of the stuff on the internet is garbage and at least your garbage is well intentioned. You let Google worry about identifying how your garbage is useful, and bringing it to the person who needs it. They're getting better at it every day.

We need more voices, and we need more diverse voices. We need voices from the southern hemisphere. We need voices that worry that their English isn't good enough. We need the voices of people just starting out and feeling slow and stupid. You just learned where the logout button was? Cool. Tell us about it. You made a mistake and blew up your site? Bummer. Tell us about it. Whatever you're working on, I want you to tell us about it because if you get in the habit of telling us about it, then that habit will pay dividends over time and everybody will benefit together.

And if you find that it's taking too long to write it out, then stop trying to write really well, and start writing with your own voice. It won't sound perfect, but that's ok. This isn't a research paper. It's a good thing too, because nobody likes reading research papers.

Again, don't worry about readers, but if that's important to you, just know that it's pretty easy to get on the Drupal planet blogroll (shockingly easy… like way easier than getting project maintainer status). Don't feel guilty that you're not adding it to "the docs." Yes, it's great to contribute to the Drupal docs, but you don't always have the time or energy to find the most relevant documentation page, write your contribution out clearly, and post with confidence. And don't worry about the design for your blog. I contributed a blogging theme for developers, so you can use that if you want. Or just use Bartik. Or Drupal Gardens. Heck, use Wordpress. I don't care. Use anything… just use something.

More than just code.

We're at a time in Drupal when we desperately need to help each other. Drupal 8's coming fast, and people are starting to port their modules. API's are still shifting and documentation's thin. We've got projects being forked and a lot of unanswered questions. All the while, Drupal's reputation is getting stronger as it's used for bigger and better projects across many industries. We're going to get through this and come out stronger on the other side, but we need your help. Together, we can show that Drupal isn't just a pile of code, but a community of people of all who love to learn and want to share their knowledge and experiences. Not just their code.

Comments

Thank you so much for writing this - so, so true. And so critical, for all of us.

I wanted to bring up another reason to do this: self-documentation. I don't know about anyone else, but especially when I'm out in the weeds with no trails in sight, it's really useful to make notes on what I did that I'll forget in a week, or a month, when I need it again, and it's not documented anywhere else.

I say, if you thought it was useful enough to jot down a brief note on your scratch pad, blog it instead.

For entirely non-altrustic reasons, you'll be able to actually FIND that note when you need it again. If you make it a habit, you'll thank yourself for doing it, over and over again. And so will the rest of us.

Not to mention, it makes an excellent journal of your own path of discovery and growth as a coder. Which is really fun to look back on in a year or two.

My reason for not doing it was always, "I'll look stupid in front of all those other developers that know what they're doing, and I so obviously don't". Well, guess what - those developers won't read your post anyway - only the people who need it, like me, will. :)

Happy coding,
Kelly

Thanks Bryan for the reminder. I have been slogging through more Drupal hosting services, devops on self-created servers, site building and development this past year than I can shake a stick at. It does need to be shared.

Hear, hear, and Too right! I better put my keys where my keyboard is now :)

I agree. I should do this too, I promise to blog about something I've learned by the end of DrupalCon. And more independent developer blogs would be a nice counterpoint to the ones that are basically advertising in shallow disguise! (cough Acquia)

Bryan, you are so right! Reading your article was like you were talking to me personally... Am going to better my life, will start Drupal blogging soon. Thanks for the motivational talk!

You really are talking to me! Drupal is basically what I have used to learn php over the last several years. The most frustrating thing with Drupal for me has always been not knowing the best way to accomplish something. Looking back even 2 months I can see that I should have used a different contrib module or I maybe should have just waited until X contrib maintainer completely rebuilt X module with no upgrade path from the previous version. It would also be nice if the API docs had examples, of course some of them do for the exact reason that you are pushing for in your post. And you are absolutely right, you never know when that little piece of code you posted will be the solution to a week long headache that someone has had. I love the Drupal community and am very happy to contribute as much as My limited knowledge allows me to, we just need more who will do the same.

You mean like this: http://running-on-drupal8.co.uk I agree, setting that blog up has taught me so much about Drupal 8 and now find ways to contribute as I have issues I want to be fixed.

Hi. I'm Jon. I've been a doing Drupal full time for almost three years. I know I should blog about it, but the only post I've written in that time that has anything to do with Drupal is on PHP's multi curl.

My question to you is this:

When?

No, I'm not looking for a motivational "right now, just start blogging!" speech. Logistically, where does this fit into your day?

If I'm coding, I'm probably in the zone. But I'm also probably at work and taking time out to write a personal blog post seems selfish. Nobody else on my team blogs about their work, so why is my code so special that it should be celebrated with a blog post?

If it's after work, the last thing I want to do is go back to the computer and punish my sore wrists with more typing. And that's assuming I can find the time.

Yeah, trying to do it at work feels a bit weird for me too. I usually do it on the subway, during my commute, which gives me about 20 minutes of time each way. It's not enough time to attempt any programming, but just long enough to put together a quick blog post. 

Often times, you don't even need much time. The most popular page on my website, by a LONG shot, is a short, three year-old post about drush: http://brockboland.com/2010/08/updating-drupal-core-drush/

THAT's the kind of stuff people are often looking for: just a real quick how-to. The longer posts about (e.g.) converting your module from D7 to D8 are great, but the most helpful posts are sometimes just a quick, hard-won answer to a simple question.

I agree with Kelly about the self-documentation portion. Not in regards to just the details, but the overall vision and approach one has developed in the process. I wrote "Drupal Commerce Lessons Learned (http://lumijar.com/drupal-commerce-lessons-learned.php)" and "Object-Oriented CSS Generator (http://lumijar.com/object-oriented-css-generator.php)" after some "a-ha" moments working with Drupal. Drupal has such a learning curve that it's easy to say that one is just too busy to share. But what I have found is that the knowledge I've gained has been solidified by writing and review these articles. And as with much of my writing, I gain a bird's eye view and a better understanding of my own vision every time I review those articles. So it's probably benefited me more than anyone else. And sure, I could have taken notes and not published them, but I take more care to be clear, accurate, and complete when I publish something, since it reflects on me.

Absolutely right. Please, please do this! I can't wait. On another note, please note that var_dump'ing huge arrays is not too effective, the Devel module has much better dumpers :) and PhpStorm has really, really easy debugger which is magnitudes more effective than any dumper.

Don't submit your articles to Drupal Docs if you have your own blog for Drupal. And don't ask writers submit their articles to Drupal Docs.

Once your article moved to Drupal Docs, it's not your article anymore. You will not get positive feedback, website traffic & ads income. You will lose motivation to write another articles.

It's my 2 cents.

Thanks very much for the artcile!
I totally agree!
Reading an article like this gives me hope and let me know I'm not the only one who thinks this way
Very nice :)

Agreed entirely. Here's an anecdote for everyone... putting problems and questions (not only solutions and answers) online on Agaric's data-dump web site is i think what brought Apress asking us to write the Definitive Guide to Drupal 7-- which (once we added 30 authors to the roster) does happen to tell you about Example modules and the built-in debug() and, indeed, to share your solutions and your questions) - http://dgd7.org - sign up for i hope more open D8 plans.

We as a community still need to get better at helping each other with all parts of working on Drupal. The insider tip remains getting involved in core and taking advantage of Core Office Hours: https://drupal.org/node/1242856 - but that doesn't begin to answer everything. Thanks for posting this.

Soo true ... Thanks for your vision of Open Source that I share

Hello Bryan,
Great and inspiring post! I finally got around to create a Drupal blog (on Wordpress.com / don't have the time to run my own site and I get to look across the "fence" at the same time): http://drupalexperiences.wordpress.com
Cheers,
Gerald

Yep, guilty as charged Bryan but changing my ways!

Two posts already off the back of this article (shameless plug!):

http://stephenwilsondesign.co.uk/blog/201310/vanilla-theme-now-available...

http://stephenwilsondesign.co.uk/blog/201310/building-intranets-drupal-p...

S

I completely agree with you - is often so hard to find good examples (especially of the more niche things, or combining 2 techniques).

I got my first comment on my blog this morning thanking me for a complex dynamic query with sub queries example - and then I read your article :)

Post new comment