-->

Archive for June, 2009

I spent a long time on the fence about buying John VanDyk’s Pro Drupal Development because there’s so much documentation online and because I’m a cheap bastard. By about the middle of chapter 2, I realized what a stupid decision that was. I could have saved myself sooooo much time if I had just bought the damn thing when it first came out!

There are, I would say, two good reasons not to buy Pro Drupal Development:

  1. You are not a Drupal developer.
  2. You are such a Drupal ninja already that VanDyk mentions you in the acknowledgements.

If on the otherhand, you build Drupal sites and do any mucking about in the internals, this book will probably teach you a lot and, if it doesn’t do that, it is still probably a worthwhile reference. In my case, I learned a lot. It was a bit humbling actually, but damn useful.

I’ve tried to read through the forms API and the documentation for it, but it never quite came together for me and I found reading it online wearisome to be honest, in a way that I never felt when I was learning PHP and spending a lot of time with the online PHP manual. I suspect that’s because PHP ultimately has a lot of overlap with C++ and other programming languages, so I was mostly skimming for syntax, but Drupal is a complex system with an architecture that was utterly foreign to me with its massive collection of hooks, callbacks, templates and so forth. So how does hook_nodeapi() relate to theme_preprocess_node() and node.tpl.php? And that’s an easy one. Throw in the menu and forms APIs, filters and so on and it just gets hard to get started on really putting it together.

I’ve hacked together some modules and done quite a bit of themeing, but I never really took the time to really understand the underlying Drupal architecture. By the time I was a few chapters into Pro Drupal Development, I was already seeing better ways to do some things than my old bad “make it work” habits had taught me. Furthermore, with the excellent index in the book, when I came across roadblocks I could often find a solution quickly that allowed me to move on without having to sift through the documentation online.

Most importantly though, in almost every case, VanDyk’s explanations are just so much better than I’ve found elsewhere. I have no idea how talented a coder he is, but he definitely has real skill as a writer and a teacher. So many things that seemed arcane to me from other documentation, we’re absolutely clear and obvious in his able hands. I suspect some of that is because of good editing (not to be underestimated: it’s rare for a film to win the Best Picture Oscar without also winning the Oscar for Best Editing), and I find it much more comfortable to read print rather than onscreen, especially conceptually intricate material. None of that, however, takes away from VanDyk’s skill and my gratitude that he and others involved in the book put the time in to open up Drupal development to the rest of us.

If I have one regret about the book, it’s this: it covers only the core system. I understand the rationale behind that. With thousands, of Drupal modules, you simply can’t go down that road. Still, I think that the Content Construction Kit and Views have really become “pseudo-core” in that complex Drupal sites commonly use them and they are increasingly being folded into Drupal core. These modules are in and of themselves pretty complex, especially Views, and I would love to see a book that covers Views in the detail that VanDyk covers the core (and perhaps one of the other Drupal books does, I just don’t know about it yet). That said, having gotten a much better understanding of core gave me pretty much all the tools I needed to embed Views into my site in the way I wanted, and yet still have everything get themed and hooked properly and without using the Panels module, another complex module which, while powerful and useful, adds a lot of overhead for the simple task I needed (I actually originally built my “proof of concept” site using Panels, but realized after reading Pro Drupal Development that I could simply achieve what I wanted by making small changes in templates and template.php without weighing the site down with yet another massive module).

So in short: Thanks John! Now with take the massive riches flowing to you from all six of my readers, one of whom might actually buy your book, go write another one.

So I started out by asking myself why I follow some people and not others and why in the world do I have any followers at all? I’m new to Twitter and obviously not some expert that anyone should heed, but I do like to think about why I do what I do. So in thinking about all this I decided (and that must make it so) that there are four basic Twitter modes: broadcast, network, journal and listen. I don’t know how many modes there were before I decided there were four, but now that I have it’s official and now that it’s official, everyone should understand what they are and in what context they belong. Understanding this is essential to understanding how I understand Twitter, at least for this evening. Understand?

Broadcast Mode

This is the "you" mode, meaning that when I tweet in broadcast mode, it’s about you and when you tweet in broadcast mode it’s about me. If you want lots of followers, you need to be in broadcast mode, which means your updates are for me, and in return you get a soapbox that matters. But if your updates are for you, you’ll never get that soapbox and that’s where most people trying to use Twitter for marketing mess up. They think they’re in broadcast mode, but really they’re in a me mode, which can’t be broadcast mode. Think of it like this: if the major TV networks ran nothing but ads, they wouldn’t really be broadcasting, except in the technical physcial sense of sending their waves out indiscriminantly in hopes that some intelligent alien civilization would receive their message and decide that earthlings should be easy to conquer, because few if any actual earthlings would be watching that drivel. People like me can’t even stand to watch network TV because I find a 7::1 ratio of "you" programming to "me" programming (ads) too low, but it seems to be good enough to draw a large audience. 1::7 is not, yet time and again I see Twitterers attempt to use it that way.

If I’m in broadcast mode, the tweet should be for your benefit seven times out of eight if I want to match the ratio of network television, which is aiming pretty damn low. One time in eight, it can be about "me", but that’s a maximum. If you’re in broadcast mode, you have to ask yourself three questions:

  • Am I being interesting and helpful rather than self-promotional?
  • Is this update for people who don’t know me except through Twitter?
  • Am I really a big enough deal to be in broadcast mode?

Only a few people can meet the last criterion. Oprah is in broadcast mode no matter what, because people will follow her no matter what. Oprah could burp and post "Whoa! Onion rings for lunch. Biggest belch of my life!" and people would be around the photocopier saying "Did you hear about Oprah’s burp?"
"No, where’d you hear about that."
"It was on Twitter. You should follow her."

Everyone else with aspirations of broadcasting should try to meet the first two criteria in 90% of their posts. Badbanana is a good example of a broadcaster. My friend Rand posts a quote or two each day. That’s a perfect broadcast mode usage — he’s offering content that I want. I see this person regularly, but we aren’t networking via Twitter. I’m a consumer of his content and he’s a broadcaster.

Network Mode

Networking is the us mode and it sits between journal and broadcast. It’s not so much to get your word out there, but to get yourself out there and to connect with other people. You can test for network mode with a couple of questions:

  • Can I think of a specific person other than myself whom this is for?
  • Would I welcome @replies and reply back?

You might have one or six dozen people that you hope will enjoy this particular update, but if it’s six dozen, you can think of one right away who is among the six dozen. If you try to pull one name from your list of followers and draw a blank, you’re probably not in network mode. If you’re not reading and replying to your @replies, you’re definitely not in network mode, you’re broadcasting. Did you mean to broadcast? Is it interesting enough to broadcast? Most often, I’m in network mode, but a huge proportion of my network mode posts are for my wife.

Journal Mode

Journal mode is the opposite of broadcast mode. It’s the me mode. Sometimes I’m in journal mode. I just want to remember something so I tweet it and then mark it as a favorite. When I first started on Twitter, I was in journal mode most of the time, but I’ve been kind of surprised at how quickly this diminshed and how I was soon mostly in network mode and mostly writing for my first two followers (a friend and my wife). If you’re in journal mode, write what you want, when you want. Just don’t expect any followers. Unless you’re an astoundingly interesting person, if you spend too much time in journal mode, even your best friends will abandon you. If what interests you turns out to interest tons of other people, you may get lots of followers, but you may still be in journal mode. You can figure this out easily enough with these two questions:

  • If I had no followers, would I write this anyway?
  • Am I okay with everyone unfollowing me, even my spouse and best friend, because I’m so fricken boring?

If the answer is yes, you’re in journal mode. Why does it matter? A lot of people spend a lot of time in journal mode, but they would be disappointed if everyone quit following them. Their Twitter stream looks like this:

8:24: having my morning coffee
8:39: threw in a load of laundry. Decided to just mix whites and colors.
8:55: hmm. ruined my white shirt.
9:26: going out shopping for new white shirt.

If you plan to mostly use Twitter in journal mode, updates like that are just fine, but it strikes me that most people with streams like that can’t answer yes to both tests questions. That means they’ve mistaken which mode they’re in. In fact, they want to be in broadcast mode or network mode and they have to think about their updates in those terms.

Sometimes it’s not that different. Today, I tweeted about my morning tea, but I tweeted because I had made my morning tea on my new Trail Designs Ti-Tri stove, which might interest backpackers who care about ultralight camp stoves (significant number of my followers) and I wanted to thank Rand for the stove. So really this was mostly network mode. To some extent it’s also a broadcast mode, since I want to tell everyone about this stove, but realistically, I was looking to tell people I know about the stove and perhaps engage them in discussion about it. So that’s more network than broadcast or journal mode.

Listen Mode

This is an interesting one. In listen mode, you’re reading your stream to see what people you follow have to say, you’re doing searches for stuff that interests you, or you’re actively soliciting opinions. In other words, you might be posting updates in listen mode. So listen mode is not the opposite of broadcast, but might be a complement. Ultimately, though, it’s a better complement to network mode. In many if not most cases, the point of listening is to make contact with others. I might just tweet out "Does anybody know a good cobbler in Berkeley?" A merchant like Zappos with tons of followers might write an update actively soliciting feedback about a change on the website. So it might be conversational, but it’s not social per se. The goal isn’t to make personal connections to people, it’s to get their opinions. But the logical result of listen mode is often to make a connection as a secondary consequence. The test for listen mode is simple:

  • Am I trying to gather information or opinions?

A yes answer means you’re in listen mode, even if you’re sending out an update.

Why It Matters

So who cares? Well, if you’re in journal mode, you may be holding yourself back on what you really want to say and record because you think you’re in broadcast mode. More commonly, though, people want to use Twitter for connecting with old friends, connecting with new people who share some interest, or marketing of some sort. In the first case, you’ll likely want to stay mostly in network mode, with some journal mode because your old friends actually care. In the second case, you want to be mostly in network mode. If you’re marketing, be clear on whether you’re trying to really connect with your customers, or just broadcast to them. It may evolve over time. When you first start, maybe you can connect with all of your customers, but over time, you’ll be forced into broadcast mode because you can’t really network with 20,000 people. But remember that broadcast mode is not advertising mode. There is no advertising mode on Twitter yet, but I see so many marketers who mistake broadcast mode for advertising mode, and think that broadcast is the me mode, not the you mode, which is why Twitter does nothing for them except waste everyone’s time.

I am not an early adopter of new modes of communication, except email. I still don’t really use a cell phone even though reception is improving in my area. I never did get on MySpace. But I have had some great reconnections on Facebook, and lately I’ve been dipping my toes in Twitter. But to some extent, Twitter is a fog in my mind and I’ve been trying to figure out what I like and why I do what I do there and to try to write it down to make sense of if all. This is Part I: Practice, which includes how I use Twitter, why I follow people, why I block people. In Part II: Theory, I try to wrap my head around what I see as the four modes of Twitter that you can’t get wrong.

How I Use Twitter

First off, don’t follow me. If you don’t already have my phone number and email address, you’ll probably be disappointed by my Twitter stream, and even if you do know me well enough to have those things, you still might be disappointed. If you’re thinking of unfollowing me, go ahead. It won’t hurt my feelings. I don’t stay on topic unless the topic is "random thoughts that cross Tom’s mind". I see my audience as my wife, some friends, and strangely, myself. My Twitter stream is a bit of a diary — a cool link, a random thought, a quote I like, a local event. I don’t expect to have an army followers and I’m not trying to build up a Twitter empire that I can leverage to get you to buy my açai berry treatment for flatulence. Just recently, I found out that a local non-profit that I think does great stuff is in rough financial shape (Yosemite Assocation). I tweeted in hopes that my few followers would retweet my donation reminder to their many followers and get some money rolling in. Other than that one time, I’ve never wanted anyone other than a handful for friends to follow me and I only follow a few people who are not friends.

Who I follow is another matter. If you’re trying to use Twitter to connect, here’s how I do things. I’m just one guy, perhaps completely atypical of the average Twitter user, but if you are looking to create a Twitter empire that includes me, you might want to read this.

Why I Might Just Block You

In a word: spam. At first it was a complete mystery why people who don’t know me would follow me. How were they finding me? As near as I can tell, most of them have alerts for some keyword and they habitually follow anyone who triggers their alerts. Some of these people trigger on words relating to Yosemite. That’s fine. I expect they’ll be fundamentally disappointed and unfollow me eventually because, as noted above, I do not stay on topic, but that’s their decision. I certainly don’t hold it against them and some people don’t mind a low signal to noise ratio. If that’s you, welcome aboard.

When I do hold it against them is when they clearly don’t even read the update that triggers the alert. For example, after Ben Bernanke said the economy could recover in late 2009, I said that a pterodactyl could attack New York. A spammer who triggers on New York started following me. At the height of it’s absurdity, I mentioned "browns" as in non-native brown trout that are eating native frogs in Sierra lakes and I immediately got followed by someone who Twitters about the Cleveland Browns. Of course, this didn’t help his brand because I thought "What a [expletive deleted] idiot". I block these people and can see that eventually Twitter will need real spam filters.

Why I Will Follow You

A lot of people are marketing via Twitter and some outright are spamming. I suppose that’s their right, but you have to know how to do it.

Personally, I like to only follow as many people as I can read, so at a certain point, if I follow more people, I have to get rid of some. Second, if I follow you, it’s because I want to follow you and not because I care, at least initially, whether you follow me back. I’m not interesting to 99.9999% of the planet and I’m certainly not interesting to everyone that I find interesting. I don’t expect you to reciprocate just because I follow you and, frankly, I probably won’t reciprocate just because you follow me. You have to be interesting in some way and here’s what makes you interesting to me:

  • You are a friend of mine or perhaps my wife. If you were in town and didn’t call me would I be bummed? If yes, then I probably do want to know that you’re enjoying your morning tea or are frustrated at work and all the little details of your life that I’m otherwise missing. Thanks for being better about keeping your friends in the loop than I am. If you’re not my friend and you tweet about everything that passes between your lips, I won’t follow you.
  • You are inherently interesting even to strangers. Maybe I don’t know you, but you’re just plain funny like Tim Siedel, aka @badbanana or you have a high percentage of your tweets on topics I care about. I’m interested in hiking and wildflowers in Yosemite, so I follow several Yosemite Twitterers I don’t know.
  • You engage. If you have no @replies, you had better stay on topic (like SkiingExaminer, who does engage a lot, but I would follow him either way because he sticks to skiing. No posts about his morning cup of Joe there). The importance of engagement surprised me. I didn’t really see it until I started thinking more carefully about my behavior. I enjoyed Mike Linder’s presence on Twitter, so we started trading @replies. Then I finally hunted him down and cornered him at his workplace. I’m glad I did. Nice guy. And he said he was glad I did too, but would I please lower my weapon.
  • You update occasionally rather than constantly. I’m not sure what my limit is, but if you update more than 10 times per day over the long term, I’m probably going to unfollow you unless you’re fricken brilliant. If you’re updating every fifteen minutes, you must be bringing me closer to enlightenment, riches or ice cream with every update.

One last comment on auto-responders. Somehow, you may have decided that you should send a welcome message to everyone who follows you. I find that getting an automatic message from a computer is a sweet and wonderful experience.