very helpful lioness

Contributor spotlight: Keith Smith

Wed, 12/05/2007 - 17:47 -- webchick

This edition of Contributor spotlight highlights Keith Smith of Advantix, LLC.

Keith's mission for the past year or so has been to clean up user-facing text in Drupal core. People installing the next beta/RC of Drupal 6 should be pleasantly surprised by all of the improvements, which probably number in the hundreds by now.

Here's one example. In Drupal 5.x, the description for book pages is:

A book is a collaborative writing effort: users can collaborate writing the pages of the book, positioning the pages in the right order, and reviewing or modifying pages previously written. So when you have some information to share or when you read a page of the book and you didn't like it, or if you think a certain page could have been written better, you can do something about it.

Er. A book is an effort? :)

In Drupal 6.x, it's now:

A book page is a page of content, organized into a collection of related entries collectively known as a book. A book page automatically displays links to adjacent pages, providing a simple navigation system for organizing and reviewing structured content.

Simple, descriptive, and consistent with other type descriptions. This is why we love Keith.

These types of improvements are especially important to get hammered out now, because very soon (once Drupal 6 Release Candidate 1 hits) we'll be in "string freeze," which means that this type of text can't change anymore until Drupal 7, in order to allow translators to come in and do their thing. Since one of the killer features in Drupal 6 is the new internationalization stuff, this will be especially important this release. So don't delay; help with string fixes today! ;) If you're looking for a place to start, try the list of documentation issues in Drupal core.

I asked Keith some questions and here's what he had to say:

So, tell us a little about yourself.
I'm your pretty typical thirty-something ex-academic turned wanna-be-web-developer. I'm currently living in extreme northeastern Mississippi, in the US.

How'd you get your start with Drupal?
Wow. There's a story there, of course.

My background is an odd mix of information technology, philosophy and political science. For some time (ten years or so), I was a researcher in a department within one of Mississippi's state universities, dealing primarily with state-wide public policy initiatives. As an adjunct to my regular research position, I was also primarily responsible for most of the IT-related initiatives within our department, including the department's web site (which was then running on a custom CMS I had cobbled together).

That custom CMS had all the standard issues -- no other users could contribute, articles had to be formatted "just so" for them to appear properly, it didn't scale well -- all the usual suspects. I encountered Drupal while searching for a replacement, in part due to its historical use by various political campaigns. I remember testing beta versions of 4.7, and anxiously waiting for 4.7's release. I was not involved in the community at that time, but read everything I could find on drupal.org. (I recall that my user account was banned at one point because someone thought there was a bot from my ip attempting to mirror the site!)

Anyway, time went on. Everything that can go classically wrong with a web site roll-out, well...went wrong. My department head was the perfect example of The Peter Principle. There was no budget, no additional personnel, and, it turned out, I had only a very small clue what I was doing. The proposed site's features creeped daily, as did its "importance to the organization." What had started as a small site that "would be nice to have" eventually became a huge, purely-theoretical creation that would "put state funding in jeopardy if it wasn't working ASAP!"

I'm compressing a long and tramatic year or two into a paragraph or three, of course. I tried Drupal, then tried a few other systems. I came back to Drupal because nothing else was a match for its features, and I *knew* it was the right way to go. Developing with it was tough, though, because I was starting from scratch with PHP and there was a lot at stake. Again, I did every single thing I knew better than to do. I didn't hack core *all* that much, but I was flying along by the seat of my pants otherwise, developing on a production machine with no version control and without any significant backups. The site, I thought, HAD to get done.

Of course, all of this came to the only conclusion it could really ever have: I "finished" up a pretty slick roll-out of about two-thirds of the functionality that had been planned "just in time" for an out-of-town conference attended by most of my colleagues. I'd been up for a day or two, and was thinking mostly about going home and getting some sleep while everyone else was out of the office. With my mind elsewhere, I botched a manual backup and accidentally dropped the site's MySQL database. I still had the contents of the file system, of course, along with my custom code -- but no data. No working site. No data, and no real way to recover.

I went home, got some sleep, and resigned the next week. My boss was happy to see me go. The web site is now three or four pages of hard-code HTML, which, as it turned out, was all that was really needed after all. I moved away, and am attempting to leverage my skills in a better environment. To paraphrase: Not being able to finish a goal: really tough. Not being employed: really expensive. Learning some really good object lessons about web development: priceless.

What motivated you to start digging into this kind of work?

Drupal has a great community, and if I had found it my first time through I doubt things would have ended as they did. Though I've programmed all my life, I'm still not as proficient in PHP as I would like. But, one thing I can do is write, and edit. So I do that.

How do you think we could help engage more people to take on this work as well?

I got caught back up with Drupal after 5 had been released, and 6 was under active development. I lurked in the issue queues for a long time before I ever commented because -- like it or not -- there is a set of social rules that generally apply to Drupal development, much of which is not immediately obvious. It is sometimes hard to know what items are up for discussion and which have been put to bed by long and drawn out threads of the past. And, let's face it: the Drupal development set is one very smart group of folks, and for some time, I thought that I had nothing significant I could add.

With a little perseverance and the willingness to go out on a limb, however, contributing is a very rewarding exercise. Its been over a year now since I left my previous job, and editing interface text here and there is getting me back into writing again. My "Drupal fu" has substantially increased, and I'm hooked.


Submitted by Anonymous (not verified) on

This is absolutely hilarious. Reminds many of their traumatic time doing university diploma, I'm sure... Well, my university diploma actually was my first Drupal-site ;)
The plot twist to lose your job is sure something we cannot compete. Rock on Keith.

Submitted by Keith Smith (not verified) on

:) I'm glad it was an entertaining read, though (obviously) it was traumatic at the time. Much of it was my own fault so there's nothing to do now but look back, shake my head, and try to laugh about it.

You make me blush. And I doubt that there have been hundreds of changes, but perhaps there have been dozens. On almost every one, though, other folks in the community have done a large part of the work. You were largely responsible for the content description changes you mention. Many of the others would never have gotten off the ground if catch (and others) hadn't been around to review them and offer suggestions! And, I've got to say -- I can look at a page of text for an hour, and it'll look fine. Gábor or Dries will come along and see things I never even spotted, or think of things I never thought about -- I think I have a good eye for editing, but I'm just amazed at those guys.

But thank you, Angie, for the nod! It makes me feel very appreciated.

(And, um, certain that prospective employers and clients googling my name will read this as as an example of things I did when I was [a year] younger and [much] more foolish!)


Just installed beta 4. Content type descriptions alone are worth the update :) Now people will know what's the difference between page and story!

Keith - your help is really valuable and your honesty about your interesting history with Drupal was quite funny though obviously cost a lot in stress at the time. I have experienced many of the same feelings - computers make it so easy to do both catastrophically great and horrible things :)

Webchick - well done highlighting non-code contributors. We need more and more UI/Docs contributors and this will motivate people. Wonderful idea!