Community is as Important as Code

I’m a fan of the ATP 1. On a recent episode they talked about the amount of time one of the hosts, Marco Arment, spends on responding to email regarding his podcasting app Overcast. The gist 2 is that Marco doesn’t respond to much, if any, email regarding his app. I don’t think that’s the best thing for the community that’s developed around his code. I encourage developers creators of anything to rethink how they handle communication from their customers.

Marco is a successful one man shop. He’s the engineer behind the successful tumblr and Instapaper among other accomplishments. I like him and I think he’s one of the good ones 3. He obviously knows what he’s doing.

I understand where he’s coming from when it comes to feedback and engaging with folks, especially over things like bugs and feature requests. It takes time that  isn’t coding and that can sometimes feel like ‘not work’.

But nurturing the community around your product/service 4 is work and it’s incredibly important. Just as important as every line of code you type.

Ignorance is Bliss

People don’t know you’re a one-person shop. They don’t think about the expectation of support from one $5 app from a larger company 5 compared to that of a smaller company. They don’t know that the app was made by a team of 10 in an organization of 10,000.

They might do a little research, ask a friend what they recommend, and then hit the App Store to download something to solve their need or want.

Frankly they shouldn’t care. Some level of support is expected. I don’t view it as an entitlement, but perhaps more of an expectation of doing business. If you contact a business, of any size, I don’t think it’s crazy to expect a response.

Look at the use and success of tools like Yelp. Why does Yelp exist? What’s the most unusual and valuable part of that service? The reviews! Businesses (smart ones at least) care about what people are saying on Yelp. They respond with sincerity and engage with their customers.

Ignorance also goes the other way. How you respond is how you will be perceived. Not caring what customers think of your company and product is inviting ignorance into your work.

It’s also a humbling thing to receive feedback and questions. You do not know it all. No one does. Ignoring or mocking the idea of responding to email from people shows arrogance. I can’t believe I’m referencing a Reddit comment as part of my argument, but, in this thread asking “What is the most unflattering thing a person can do to themselves?” someone said:

“It’s nice to be important, but it’s more important to be nice”

While you could argue that responding to emails might not help your code – responding to people is being nice. That’s more important than one more bug fix or one little tweak to the UI. Letting people in, shedding some of their ignorance and empowering them with knowledge is helpful to you and the community at large.

Community Props You Up

People will help support you. There is an admonishingly large amount of prior work in this area. Look at the Apple community boards. A giant company creates a place for others to help each other. Panic, a much smaller company, has a nice Q&A site setup for their community. These are for-profit companies. Looking at the open-source communities you’ll see even more – like local Meetups around Ruby, Drupal, PHP, WordPress, Small-Business owners, photographers, marketers, etc. Wikipedia in its entirety is all about people helping each other to make something.

Word of mouth is still the #1 best way to grow a product or service. It’s incredibly powerful – more so than almost any other form of marketing. It’s genuine, it happens naturally, and it’s often more deserving than spending millions on a campaign. The people helping other people are doing it out of love for the things that you create.

Outside feedback is invaluable. Working in a small team or inside of a large organization it sometimes becomes difficult to get a genuine outsider view of your work. Developing a community around your products or services helps to break out of that echo chamber and get a fresh set of eyes on what’s going on. Invaluable help from interested folks. Ya can’t beat that.

Ignoring the 700th email of a particular issue, say a bug, is wrong.

These +1 numbers on an already existing issue are indicators. They should sway you. Influence your to-do list. Your response. A handful of responses in one direction could mean a lot. A “canary in the coal mine” on what your community wants, or more importantly, needs.

Trust is Scary

Putting faith into a community of people you don’t know is scary. Terrifying even. I help to host events for the local WordPress community here in St. Louis. Every month, at the end of one of our meetups, we ask what topics folks would like to hear about next month. We take an informal poll and pick a topic. Then we ask who would like to present. Numerous times it’s someone I’ve never met who has never spoken up.

I have yet to be disappointed with a presentation. I put faith that if someone is willing to step up and speak in front of a group of strangers, they’re doing it out of good will and are motivated by something other than financial or professional gain.

You Work For Each Other

They took their time. That’s what is valuable. Your customer’s time. Not the novelty. Not the accuracy. Their time. It doesn’t even register to them that their bug report or suggestion is the 500th in a long line of similar suggestions. Their time is equally important as your time. Thinking and acting otherwise shows hubris and arrogance. They are working for you by using their time to give feedback, ask a question, or file a complaint.

By not responding, by not putting it out there, you have nothing to point to say, “Yes, I hear you.” It enters a void of your inbox and only encourages more silent tosses into the abyss. Creating a community helps alleviate these emails. People who enjoy your creations will help you and other people who are looking for information.

It Pays Off

Terry Gross had this great interview with David Remnick the editor from The New Yorker.

At the end of the interview Gross asks if Remnick asks him about his time and how he manages responding to every inquiry regarding The New Yorker.

From the transcript:

REMNICK: Bring it on. The odds are tough. I remember when I was in my 20s, I sent William Shawn a query letter, and I got an answer. And I never forgot getting an answer.

GROSS: What was the answer?

REMNICK: The answer was no (laughter). But I never forgot the time that was taken to write a cogent, short note about why not. And I also remember when I submitted my first piece to The New Yorker, which was happily accepted by Gottlieb – by Bob Gottlieb – he answered that day – that night. And I’ll never forget that. And I know in my heart that I’m falling short all the time in a million different ways, but I try to answer emails, letters, phone calls because I know not only is it the right human thing to do, I think, but also, once in a blue moon, it’s going to pay off. Once in a blue moon, you are going to get a short story, a suggestion, an idea that’s going to find its way into The New Yorker and be something or someone brilliant. And that’s part of the job. And it’s a delightful one.

Who knows what responding to a simple request for feedback will turn into? What might seem like a boring response to a question asked for the 300th time might turn into something much more.

Writing is Thinking

Listening and responding helps you to think about your creation. The entire product or service is evaluated in a new light.

Automattic requires all new hires to work the help desk. Why is that? Shouldn’t those developers be writing code? Shouldn’t project managers be catching up on the team’s progress? No. Learning how the product works and understanding how customers approach the product works to improve the product.

Writing up a FAQ with that experience from the customer’s view helps you think about how your creation works. Where can it be improved? What keeps coming up as a difficulty? What’s not clear? What can I go back and make better?

That comes from wiring and thinking about things in public. Pushing the ‘Submit’ button and letting others see it. Responding to what they put out there.

In Summary

I encourage all creators of things, whether it’s an iPhone app, a web site, a community, a non-profit – whatever – to deeply consider the work and art of community feedback and dialog. Consider it to be just as crucial to the growth and stability of your work. Just as writing code, organizing topics, or wrangling volunteers is. They go hand-in-hand with happiness and success and are not nearly as scary or time-consuming as one may think.

In the end you grow as a person and professional, your product or service grows in its capability and focus, and the community as a whole benefits from learning and sharing from one another.

Disqusting

A Sponsored Comment can use all types of media to get the point across, just like any other Disqus comment. But they’re not part of the discussion happening on that page. Comments to the ad are driven to a separate landing page just for that ad. This keeps the core commenting experience uninterrupted and publisher communities just as they were. That’s the best of both worlds.

So Disqus, one of the larger comment plugins used on many sites, just added sponsored comments to their product. Yuck. Not only that, but the replies to said comments – which I bet are going to be a cruel and negative cesspool – will live in their own little bubble.

How quaint. from their website, “Everything you need to build a community, turn down the noise and turn up new revenue.” You had me at community, and lost me immediately after.

I have to agree with Matt,

“I was just reading some comments the other day and thinking how it’d be great to see some sponsored brand content there instead of users, like there already was on the rest of the page. Glad there’s a solution for that on a global basis now.”

This is probably a good time to highlight other, non creepy, solutions for comments on your site. Say Jetpack or Discourse?

Matt Mullenweg on the “State of the Word 2014”

The mission of WordPress is to democratize publishing, which means access for everyone regardless of language, geography, gender, wealth, ability, religion, creed, or anything else people might be born with. To do that we need our community to be inclusive and welcoming. There is beauty in our differences, and they’re as important as the principles that bring us together, like the GPL.

There are thousands of reasons why a person might pick one technology over another. Cost, support, growth, platform, user interface, etc.

The biggest one to me, and one that I’m happy to say WordPress embodies well, is the culture and community around such technology. After watching Matt Mullenweg give his State of the Word presentation at our WordCamp San Francisco Viewing Party, I’m glad to have aligned myself with such an awesome community. I want to work to use technology like WordPress to make other’s lives more rich. To improve my own knowledge of technology. To better myself as a person and be more including and welcoming.

Here’s to the future growth of WordPress, and all those who make it what it is. Grand.

Matt Mullenweg on holding “Auditions”

“…every final candidate to work with us for three to eight weeks on a contract basis. Candidates do real tasks alongside the people they would actually be working with if they had the job…The goal is not to have them finish a product or do a set amount of work; it’s to allow us to quickly and efficiently assess whether this would be a mutually beneficial relationship. They can size up Automattic while we evaluate them.

http://hbr.org/2014/04/the-ceo-of-automattic-on-holding-auditions-to-build-a-strong-team/ar/pr

Automattic seems like a cool place to work.

Responsive WordPress Theme and Advanced Custom Fields

This is a rather simple little hack, but came in handy with a site I recently I built.

By default, editing theme options are limited to Administrator accounts in WordPress. For themes like Responsive this means that you must have all your clients logging in as administrators. The admin-level dashboard clutters the navigation with many things most clients should never touch. Another solution would be to modify permissions and create custom permission levels to access those theme options.

Neither seemed very elegant to me. After training with the client, she asked why couldn’t they edit the “Home” page under Pages. Which makes sense. If you manage all of your other pages there, why not the home page!?

Here’s a quick tutorial on how you can use the very awesome Advanced Custom Fields in conjunction with the default Responsive home page layout to manage your homepage content.

First, install ACF if you haven’t already.

Second, create a new page and call it Home.

Because you’re using a child theme you’ll want to copy front-page.php from the Responsive theme into your child theme directory.

Open it up in your favorite editor and look for this section:

<div id="featured" class="grid col-940">
	
		<div class="grid col-460">




			<h1 class="featured-title"><?php echo $responsive_options['home_headline']; ?></h1>
			
			<h2 class="featured-subtitle"><?php echo $responsive_options['home_subheadline']; ?></h2>
			
			<p><?php echo $responsive_options['home_content_area']; ?></p>
			
			<?php if ($responsive_options['cta_button'] == 0): ?> &nbsp;
&nbsp; &nbsp;
				<div class="call-to-action">




					<a href="<?php echo $responsive_options['cta_url']; ?>" class="blue button">
						<?php echo $responsive_options['cta_text']; ?>
					</a>
				
				</div><!-- end of .call-to-action -->




			<?php endif; ?> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
			
		</div><!-- end of .col-460 -->




		<div id="featured-image" class="grid col-460 fit">&nbsp;
							
			<?php echo do_shortcode( $responsive_options['featured_content'] ); ?>
									
		</div><!-- end of #featured-image -->&nbsp;
	
	</div><!-- end of #featured -->

Notice all those echo $responsive_options calls? Those are the hooks the Responsive theme uses to pull the information you put on the homepage under Appearance->Theme Options->Home Page. We want to move those to the page called Home along side all of our other pages.

What we’ll do is create a Field Group in ACF for all the fields on the homepage.

  • Title
  • Subtitle
  • Content
  • Video Link
  • Call to Action Button Text
  • Call to Action Button Link

Here’s and example of what your field group should look like.

Screen Shot 2013-04-04 at 2.09.34 PM

Make sure you also set this field group to show up only on the Home page you created earlier.

Screen Shot 2013-04-04 at 2.18.34 PM

Depending on your preferences you might also hide other fields on the screen – such as the Content Editor, Discussion and Comments.

Now from here you simply replace the responsive_option references with calls to your new ACF fields.

For example:

<?php echo $responsive_options['home_headline']; ?>

becomes

<?php the_field('home_title'); ?>

and

<?php echo $responsive_options['cta_url']; ?>

becomes

<?php the_field('home_call_to_action_button_link'); ?>

The end result is something that looks like this:

<div id="featured" class="grid col-940">
	
		<div class="grid col-460">




			<h1 class="featured-title"><?php the_field('home_title'); ?></h1>
			
			<h2 class="featured-subtitle"><?php the_field('home_subtitle'); ?></h2>
			
			<p><?php the_field('home_content'); ?></p>
			
			<?php if ($responsive_options['cta_button'] == 0): ?> &nbsp;
&nbsp; &nbsp;
				<div class="call-to-action">




					<a href="<?php the_field('home_call_to_action_button_link'); ?>" class="blue button">
						<?php the_field('home_call_to_action_button_text'); ?>
					</a>
				
				</div><!-- end of .call-to-action -->




			<?php endif; ?> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
			
		</div><!-- end of .col-460 -->




		<div id="featured-image" class="grid col-460 fit">&nbsp;
							
			<?php&nbsp;
				
				$video_url = get_field('home_video_link');
				echo wp_oembed_get( $video_url, array( 'width' => 440, 'height' => 440 ) );
				
			?>
												
		</div><!-- end of #featured-image -->&nbsp;
	
	</div><!-- end of #featured -->

You’ll notice that I’m also using WordPress’ wp_oembed_get function to embed the YouTube URL in the featured image section. This way all the folks managing content have to do is insert the YouTube URL and WordPress handles the rest.

Once you’re done all you have to do is visit your Home page and update the fields!

Screen Shot 2013-04-04 at 2.28.22 PM