Category Archives: WordPress.com

WordPress as Content Directory: Getting Somewhere

{I tend to ramble a bit. If you just want a step-by-step tutorial, you can skip to here.}

Woohoo!

I feel like I’ve reached a milestone in a project I’ve had in mind, ever since I learnt about Custom Post Types in WordPress 3.0: Using WordPress as a content directory.

The concept may not be so obvious to anyone else, but it’s very clear to me. And probably much clearer for anyone who has any level of WordPress skills (I’m still a kind of WP newbie).

Basically, I’d like to set something up through WordPress to make it easy to create, review, and publish entries in content databases. WordPress is now a Content Management System and the type of “content management” I’d like to enable has to do with something of a directory system.

Why WordPress? Almost glad you asked.

These days, several of the projects on which I work revolve around WordPress. By pure coincidence. Or because WordPress is “teh awsum.” No idea how representative my sample is. But I got to work on WordPress for (among other things): an academic association, an adult learners’ week, an institute for citizenship and social change, and some of my own learning-related projects.

There are people out there arguing about the relative value of WordPress and other Content Management Systems. Sometimes, WordPress may fall short of people’s expectations. Sometimes, the pro-WordPress rhetoric is strong enough to sound like fanboism. But the matter goes beyond marketshare, opinions, and preferences.

In my case, WordPress just happens to be a rather central part of my life, these days. To me, it’s both a question of WordPress being “the right tool for the job” and the work I end up doing being appropriate for WordPress treatment. More than a simple causality (“I use WordPress because of the projects I do” or “I do these projects because I use WordPress”), it’s a complex interaction which involves diverse tools, my skillset, my social networks, and my interests.

Of course, WordPress isn’t perfect nor is it ideal for every situation. There are cases in which it might make much more sense to use another tool (Twitter, TikiWiki, Facebook, Moodle, Tumblr, Drupal..). And there are several things I wish WordPress did more elegantly (such as integrating all dimensions in a single tool). But I frequently end up with WordPress.

Here are some things I like about WordPress:

This last one is where the choice of WordPress for content directories starts making the most sense. Not only is it easy for me to use and build on WordPress but the learning curves are such that it’s easy for me to teach WordPress to others.

A nice example is the post editing interface (same in the software and service). It’s powerful, flexible, and robust, but it’s also very easy to use. It takes a few minutes to learn and is quite sufficient to do a lot of work.

This is exactly where I’m getting to the core idea for my content directories.

I emailed the following description to the digital content editor for the academic organization for which I want to create such content directories:

You know the post editing interface? What if instead of editing posts, someone could edit other types of contents, like syllabi, calls for papers, and teaching resources? What if fields were pretty much like the form I had created for [a committee]? What if submissions could be made by people with a specific role? What if submissions could then be reviewed by other people, with another role? What if display of these items were standardised?

Not exactly sure how clear my vision was in her head, but it’s very clear for me. And it came from different things I’ve seen about custom post types in WordPress 3.0.

For instance, the following post has been quite inspiring:

I almost had a drift-off moment.

But I wasn’t able to wrap my head around all the necessary elements. I perused and read a number of things about custom post types, I tried a few things. But I always got stuck at some point.

Recently, a valuable piece of the puzzle was provided by Kyle Jones (whose blog I follow because of his work on WordPress/BuddyPress in learning, a focus I share).

Setting up a Staff Directory using WordPress Custom Post Types and Plugins | The Corkboard.

As I discussed in the comments to this post, it contained almost everything I needed to make this work. But the two problems Jones mentioned were major hurdles, for me.

After reading that post, though, I decided to investigate further. I eventually got some material which helped me a bit, but it still wasn’t sufficient. Until tonight, I kept running into obstacles which made the process quite difficult.

Then, while trying to solve a problem I was having with Jones’s code, I stumbled upon the following:

Rock-Solid WordPress 3.0 Themes using Custom Post Types | Blancer.com Tutorials and projects.

This post was useful enough that I created a shortlink for it, so I could have it on my iPad and follow along: http://bit.ly/RockSolidCustomWP

By itself, it might not have been sufficient for me to really understand the whole process. And, following that tutorial, I replaced the first bits of code with use of the neat plugins mentioned by Jones in his own tutorial: More Types, More Taxonomies, and More Fields.

I played with this a few times but I can now provide an actual tutorial. I’m now doing the whole thing “from scratch” and will write down all steps.

This is with the WordPress 3.0 blogging software installed on a Bluehost account. (The WordPress.com blogging service doesn’t support custom post types.) I use the default Twenty Ten theme as a parent theme.

Since I use WordPress Multisite, I’m creating a new test blog (in Super Admin->Sites, “Add New”). Of course, this wasn’t required, but it helps me make sure the process is reproducible.

Since I already installed the three “More Plugins” (but they’re not “network activated”) I go in the Plugins menu to activate each of them.

I can now create the new “Product” type, based on that Blancer tutorial. To do so, I go to the “More Types” Settings menu, I click on “Add New Post Type,” and I fill in the following information: post type names (singular and plural) and the thumbnail feature. Other options are set by default.

I also set the “Permalink base” in Advanced settings. Not sure it’s required but it seems to make sense.

I click on the “Save” button at the bottom of the page (forgot to do this, the last time).

I then go to the “More Fields” settings menu to create a custom box for the post editing interface.

I add the box title and change the “Use with post types” options (no use in having this in posts).

(Didn’t forget to click “save,” this time!)

I can now add the “Price” field. To do so, I need to click on the “Edit” link next to the “Product Options” box I just created and add click “Add New Field.”

I add the “Field title” and “Custom field key”:

I set the “Field type” to Number.

I also set the slug for this field.

I then go to the “More Taxonomies” settings menu to add a new product classification.

I click “Add New Taxonomy,” and fill in taxonomy names, allow permalinks, add slug, and show tag cloud.

I also specify that this taxonomy is only used for the “Product” type.

(Save!)

Now, the rest is more directly taken from the Blancer tutorial. But instead of copy-paste, I added the files directly to a Twenty Ten child theme. The files are available in this archive.

Here’s the style.css code:

/*
Theme Name: Product Directory
Theme URI: http://enkerli.com/
Description: A product directory child theme based on Kyle Jones, Blancer, and Twenty Ten
Author: Alexandre Enkerli
Version: 0.1
Template: twentyten
*/

@import url("../twentyten/style.css");

The code for functions.php:

<!--?php /**  * ProductDir functions and definitions  * @package WordPress  * @subpackage Product_Directory  * @since Product Directory 0.1  */ /*Custom Columns*/ add_filter("manage_edit-product_columns", "prod_edit_columns"); add_action("manage_posts_custom_column",  "prod_custom_columns"); function prod_edit_columns($columns){ 		$columns = array( 			"cb" =--> "<input type="\&quot;checkbox\&quot;" />",
			"title" => "Product Title",
			"description" => "Description",
			"price" => "Price",
			"catalog" => "Catalog",
		);

		return $columns;
}

function prod_custom_columns($column){
		global $post;
		switch ($column)
		{
			case "description":
				the_excerpt();
				break;
			case "price":
				$custom = get_post_custom();
				echo $custom["price"][0];
				break;
			case "catalog":
				echo get_the_term_list($post->ID, 'catalog', '', ', ','');
				break;
		}
}
?>

And the code in single-product.php:

<!--?php /**  * Template Name: Product - Single  * The Template for displaying all single products.  *  * @package WordPress  * @subpackage Product_Dir  * @since Product Directory 1.0  */ get_header(); ?-->
<div id="container">
<div id="content">
<!--?php the_post(); ?-->

<!--?php 	$custom = get_post_custom($post--->ID);
	$price = "$". $custom["price"][0];

?>
<div id="post-<?php the_ID(); ?><br />">>
<h1 class="entry-title"><!--?php the_title(); ?--> - <!--?=$price?--></h1>
<div class="entry-meta">
<div class="entry-content">
<div style="width: 30%; float: left;">
			<!--?php the_post_thumbnail( array(100,100) ); ?-->
			<!--?php the_content(); ?--></div>
<div style="width: 10%; float: right;">
			Price
<!--?=$price?--></div>
</div>
</div>
</div>
<!-- #content --></div>
<!-- #container -->

<!--?php get_footer(); ?-->

That’s it!

Well, almost..

One thing is that I have to activate my new child theme.

So, I go to the “Themes” Super Admin menu and enable the Product Directory theme (this step isn’t needed with single-site WordPress).

I then activate the theme in Appearance->Themes (in my case, on the second page).

One thing I’ve learnt the hard way is that the permalink structure may not work if I don’t go and “nudge it.” So I go to the “Permalinks” Settings menu:

And I click on “Save Changes” without changing anything. (I know, it’s counterintuitive. And it’s even possible that it could work without this step. But I spent enough time scratching my head about this one that I find it important.)

Now, I’m done. I can create new product posts by clicking on the “Add New” Products menu.

I can then fill in the product details, using the main WYSIWYG box as a description, the “price” field as a price, the “featured image” as the product image, and a taxonomy as a classification (by clicking “Add new” for any tag I want to add, and choosing a parent for some of them).

Now, in the product management interface (available in Products->Products), I can see the proper columns.

Here’s what the product page looks like:

And I’ve accomplished my mission.

The whole process can be achieved rather quickly, once you know what you’re doing. As I’ve been told (by the ever-so-helpful Justin Tadlock of Theme Hybrid fame, among other things), it’s important to get the data down first. While I agree with the statement and its implications, I needed to understand how to build these things from start to finish.

In fact, getting the data right is made relatively easy by my background as an ethnographer with a strong interest in cognitive anthropology, ethnosemantics, folk taxonomies (aka “folksonomies“), ethnography of communication, and ethnoscience. In other words, “getting the data” is part of my expertise.

The more technical aspects, however, were a bit difficult. I understood most of the principles and I could trace several puzzle pieces, but there’s a fair deal I didn’t know or hadn’t done myself. Putting together bits and pieces from diverse tutorials and posts didn’t work so well because it wasn’t always clear what went where or what had to remain unchanged in the code. I struggled with many details such as the fact that Kyle Jones’s code for custom columns wasn’t working first because it was incorrectly copied, then because I was using it on a post type which was “officially” based on pages (instead of posts). Having forgotten the part about “touching” the Permalinks settings, I was unable to get a satisfying output using Jones’s explanations (the fact that he doesn’t use titles didn’t really help me, in this specific case). So it was much harder for me to figure out how to do this than it now is for me to build content directories.

I still have some technical issues to face. Some which are near essential, such as a way to create archive templates for custom post types. Other issues have to do with features I’d like my content directories to have, such as clearly defined roles (the “More Plugins” support roles, but I still need to find out how to define them in WordPress). Yet other issues are likely to come up as I start building content directories, install them in specific contexts, teach people how to use them, observe how they’re being used and, most importantly, get feedback about their use.

But I’m past a certain point in my self-learning journey. I’ve built my confidence (an important but often dismissed component of gaining expertise and experience). I found proper resources. I understood what components were minimally necessary or required. I succeeded in implementing the system and testing it. And I’ve written enough about the whole process that things are even clearer for me.

And, who knows, I may get feedback, questions, or advice..


Installing BuddyPress on a Webhost

[Jump here for more technical details.]

A few months ago, I installed BuddyPress on my Mac to try it out. It was a bit of an involved process, so I documented it:

WordPress MU, BuddyPress, and bbPress on Local Machine « Disparate.

More recently, I decided to get a webhost. Both to run some tests and, eventually, to build something useful. BuddyPress seems like a good way to go at it, especially since it’s improved a lot, in the past several months.

In fact, the installation process is much simpler, now, and I ran into some difficulties because I was following my own instructions (though adapting the process to my webhost). So a new blogpost may be in order. My previous one was very (possibly too) detailed. This one is much simpler, technically.

One thing to make clear is that BuddyPress is a set of plugins meant for WordPress µ (“WordPress MU,” “WPMU,” “WPµ”), the multi-user version of the WordPress blogging platform. BP is meant as a way to make WPµ more “social,” with such useful features as flexible profiles, user-to-user relationships, and forums (through bbPress, yet another one of those independent projects based on WordPress).

While BuddyPress depends on WPµ and does follow a blogging logic, I’m thinking about it as a social platform. Once I build it into something practical, I’ll probably use the blogging features but, in a way, it’s more of a tool to engage people in online social activities. BuddyPress probably doesn’t work as a way to “build a community” from scratch. But I think it can be quite useful as a way to engage members of an existing community, even if this engagement follows a blogger’s version of a Pareto distribution (which, hopefully, is dissociated from elitist principles).

But I digress, of course. This blogpost is more about the practical issue of adding a BuddyPress installation to a webhost.

Webhosts have come a long way, recently. Especially in terms of shared webhosting focused on LAMP (or PHP/MySQL, more specifically) for blogs and content-management. I don’t have any data on this, but it seems to me that a lot of people these days are relying on third-party webhosts instead of relying on their own servers when they want to build on their own blogging and content-management platforms. Of course, there’s a lot more people who prefer to use preexisting blog and content-management systems. For instance, it seems that there are more bloggers on WordPress.com than on other WordPress installations. And WP.com blogs probably represent a small number of people in comparison to the number of people who visit these blogs. So, in a way, those who run their own WordPress installations are a minority in the group of active WordPress bloggers which, itself, is a minority of blog visitors. Again, let’s hope this “power distribution” not a basis for elite theory!

Yes, another digression. I did tell you to skip, if you wanted the technical details!

I became part of the “self-hosted WordPress” community through a project on which I started work during the summer. It’s a website for an academic organization and I’m acting as the organization’s “Web Guru” (no, I didn’t choose the title). The site was already based on WordPress but I was rebuilding much of it in collaboration with the then-current “Digital Content Editor.” Through this project, I got to learn a lot about WordPress, themes, PHP, CSS, etc. And it was my first experience using a cPanel- (and Fantastico-)enabled webhost (BlueHost, at the time). It’s also how I decided to install WordPress on my local machine and did some amount of work from that machine.

But the local installation wasn’t an ideal solution for two reasons: a) I had to be in front of that local machine to work on this project; and b) it was much harder to show the results to the person with whom I was collaborating.

So, in the Fall, I decided to get my own staging server. After a few quick searches, I decided HostGator, partly because it was available on a monthly basis. Since this staging server was meant as a temporary solution, HG was close to ideal. It was easy to set up as a PayPal “subscription,” wasn’t that expensive (9$/month), had adequate support, and included everything that I needed at that point to install a current version of WordPress and play with theme files (after importing content from the original site). I’m really glad I made that decision because it made a number of things easier, including working from different computers, and sending links to get feedback.

While monthly HostGator fees were reasonable, it was still a more expensive proposition than what I had in mind for a longer-term solution. So, recently, a few weeks after releasing the new version of the organization’s website, I decided to cancel my HostGator subscription. A decision I made without any regret or bad feeling. HostGator was good to me. It’s just that I didn’t have any reason to keep that account or to do anything major with the domain name I was using on HG.

Though only a few weeks elapsed since I canceled that account, I didn’t immediately set out to transition to a new webhost. I didn’t go from HostGator to another webhost.

But having my own webhost still remained at the back of my mind as something which might be useful. For instance, while not really making a staging server necessary, a new phase in the academic website project brought up a sandboxing idea. Also, I went to a “WordPress Montreal” meeting and got to think about further WordPress development/deployment, including using BuddyPress for my own needs (both as my own project and as a way to build my own knowledge of the platform) instead of it being part of an organization’s project. I was also thinking about other interesting platforms which necessitate a webhost.

(More on these other platforms at a later point in time. Bottom line is, I’m happy with the prospects.)

So I wanted a new webhost. I set out to do some comparison shopping, as I’m wont to do. In my (allegedly limited) experience, finding the ideal webhost is particularly difficult. For one thing, search results are cluttered with a variety of “unuseful” things such as rants, advertising, and limited comparisons. And it’s actually not that easy to give a new webhost a try. For one thing, these hosting companies don’t necessarily have the most liberal refund policies you could imagine. And, switching a domain name between different hosts and registrars is a complicated process through which a name may remain “hostage.” Had I realized what was involved, I might have used a domain name to which I have no attachment or actually eschewed the whole domain transition and just try the webhost without a dedicated domain name.

Doh!
Live and learn. I sure do. Loving almost every minute of it.

At any rate, I had a relatively hard time finding my webhost.

I really didn’t need “bells and whistles.” For instance, all the AdSense, shopping cart, and other business-oriented features which seem to be publicized by most webhosting companies have no interest, to me.

I didn’t even care so much about absolute degree of reliability or speed. What I’m to do with this host is fairly basic stuff. The core idea is to use my own host to bypass some limitations. For instance, WordPress.com doesn’t allow for plugins yet most of the WordPress fun has to do with plugins.

I did want an “unlimited” host, as much as possible. Not because expect to have huge resource needs but I just didn’t want to have to monitor bandwidth.

I thought that my needs would be basic enough that any cPanel-enabled webhost would fit. As much as I could see, I needed FTP access to something which had PHP 5 and MySQL 5. I expected to install things myself, without use of the webhost’s scripts but I also thought the host would have some useful scripts. Although I had already registered the domain I wanted to use (through Name.com), I thought it might be useful to have a free domain in the webhosting package. Not that domain names are expensive, it’s more of a matter of convenience in terms of payment or setup.

I ended up with FatCow. But, honestly, I’d probably go with a different host if I were to start over (which I may do with another project).

I paid 88$ for two years of “unlimited” hosting, which is quite reasonable. And, on paper, FatCow has everything I need (and I bunch of things I don’t need). The missing parts aren’t anything major but have to do with minor annoyances. In other words, no real deal-breaker, here. But there’s a few things I wish I had realized before I committed on FatCow with a domain name I actually want to use.

Something which was almost a deal-breaker for me is the fact that FatCow requires payment for any additional subdomain. And these aren’t cheap: the minimum is 5$/month for five subdomains, up to 25$/month for unlimited subdomains! Even at a “regular” price of 88$/year for the basic webhosting plan, the “unlimited subdomains” feature (included in some webhosting plans elsewhere) is more than three times more expensive than the core plan.

As I don’t absolutely need extra subdomains, this is mostly a minor irritant. But it’s one reason I’ll probably be using another webhost for other projects.

Other issues with FatCow are probably not enough to motivate a switch.

For instance, the PHP version installed on FatCow (5.2.1) is a few minor releases behind the one needed by some interesting web applications. No biggie, especially if PHP is updated in a relatively reasonable timeframe. But still makes for a slight frustration.

The MySQL version seems recent enough, but it uses non-standard tools to manage it, which makes for some confusion. Attempting to create some MySQL databases with obvious names (say “wordpress”) fails because the database allegedly exists (even though it doesn’t show up in the MySQL administration). In the same vein, the URL of the MySQL is <username>.fatcowmysql.com instead of localhost as most installers seem to expect. Easy to handle once you realize it, but it makes for some confusion.

In terms of Fantastico-like simplified installation of webapps, FatCow uses InstallCentral, which looks like it might be its own Fantastico replacement. InstallCentral is decent enough as an installation tool and FatCow does provide for some of the most popular blog and CMS platforms. But, in some cases, the application version installed by FatCow is old enough (2005!)  that it requires multiple upgrades to get to a current version. Compared to other installation tools, FatCow’s InstallCentral doesn’t seem really efficient at keeping track of installed and released versions.

Something which is partly a neat feature and partly a potential issue is the way FatCow handles Apache-related security. This isn’t something which is so clear to me, so I might be wrong.

Accounts on both BlueHost and HostGator include a public_html directory where all sorts of things go, especially if they’re related to publicly-accessible content. This directory serves as the website’s root, so one expects content to be available there. The “index.html” or “index.php” file in this directory serves as the website’s frontpage. It’s fairly obvious, but it does require that one would understand a few things about webservers. FatCow doesn’t seem to create a public_html directory in a user’s server space. Or, more accurately, it seems that the root directory (aka ‘/’) is in fact public_html. In this sense, a user doesn’t have to think about which directory to use to share things on the Web. But it also means that some higher-level directories aren’t available. I’ve already run into some issues with this and I’ll probably be looking for a workaround. I’m assuming there’s one. But it’s sometimes easier to use generally-applicable advice than to find a custom solution.

Further, in terms of access control… It seems that webapps typically make use of diverse directories and .htaccess files to manage some forms of access controls. Unix-style file permissions are also involved but the kind of access needed for a web app is somewhat different from the “User/Group/All” of Unix filesystems. AFAICT, FatCow does support those .htaccess files. But it has its own tools for building them. That can be a neat feature, as it makes it easier, for instance, to password-protect some directories. But it could also be the source of some confusion.

There are other issues I have with FatCow, but it’s probably enough for now.

So… On to the installation process… 😉

It only takes a few minutes and is rather straightforward. This is the most verbose version of that process you could imagine…

Surprised? 😎

Disclaimer: I’m mostly documenting how I did it and there are some things about which I’m unclear. So it may not work for you. If it doesn’t, I may be able to help but I provide no guarantee that I will. I’m an anthropologist, not a Web development expert.

As always, YMMV.

A few instructions here are specific to FatCow, but the general process is probably valid on other hosts.

I’m presenting things in a sequence which should make sense. I used a slightly different order myself, but I think this one should still work. (If it doesn’t, drop me a comment!)

In these instructions, straight quotes (“”) are used to isolate elements from the rest of the text. They shouldn’t be typed or pasted.

I use “example.com” to refer to the domain on which the installation is done. In my case, it’s the domain name I transfered to FatCow from another registrar but it could probably be done without a dedicated domain (in which case it would be “<username>.fatcow.com” where “<username>” is your FatCow username).

I started with creating a MySQL database for WordPress MU. FatCow does have phpMyAdmin but the default tool in the cPanel is labeled “Manage MySQL.” It’s slightly easier to use for creating new databases than phpMyAdmin because it creates the database and initial user (with confirmed password) in a single, easy-to-understand dialog box.

So I created that new database, user, and password, noting down this information. Since that password appears in clear text at some point and can easily be changed through the same interface, I used one which was easy to remember but wasn’t one I use elsewhere.
Then, I dowloaded the following files to my local machine in order to upload them to my FatCow server space. The upload can be done through either FTP or FatCow’s FileManager. I tend to prefer FTP (via CyberDuck on the Mac or FileZilla on PC). But the FileManager does allow for easy uploads.
(Wish it could be more direct, using the HTTP links directly instead of downloading to upload. But I haven’t found a way to do it through either FTP or the FileManager.)
At any rate, here are the four files I transfered to my FatCow space, using .zip when there’s a choice (the .tar.gz “tarball” versions also work but require a couple of extra steps).
  1. WordPress MU (wordpress-mu-2.9.1.1.zip, in my case)
  2. Buddymatic (buddymatic.0.9.6.3.1.zip, in my case)
  3. EarlyMorning (only one version, it seems)
  4. EarlyMorning-BP (only one version, it seems)

Only the WordPress MU archive is needed to install BuddyPress. The last three files are needed for EarlyMorning, a BuddyPress theme that I found particularly neat. It’s perfectly possible to install BuddyPress without this specific theme. (Although, doing so, you need to install a BuddyPress-compatible theme, if only by moving some folders to make the default theme available, as I explained in point 15 in that previous tutorial.) Buddymatic itself is a theme framework which includes some child themes, so you don’t need to install EarlyMorning. But installing it is easy enough that I’m adding instructions related to that theme.

These files can be uploaded anywhere in my FatCow space. I uploaded them to a kind of test/upload directory, just to make it clear, for me.

A major FatCow idiosyncrasy is its FileManager (actually called “FileManager Beta” in the documentation but showing up as “FileManager” in the cPanel). From my experience with both BlueHost and HostGator (two well-known webhosting companies), I can say that FC’s FileManager is quite limited. One thing it doesn’t do is uncompress archives. So I have to resort to the “Archive Gateway,” which is surprisingly slow and cumbersome.

At any rate, I used that Archive Gateway to uncompress the four files. WordPress µ first (in the root directory or “/”), then both Buddymatic and EarlyMorning in “/wordpress-mu/wp-content/themes” (you can chose the output directory for zip and tar files), and finally EarlyMorning-BP (anywhere, individual files are moved later). To uncompress each file, select it in the dropdown menu (it can be located in any subdirectory, Archive Gateway looks everywhere), add the output directory in the appropriate field in the case of Buddymatic or EarlyMorning, and press “Extract/Uncompress”. Wait to see a message (in green) at the top of the window saying that the file has been uncompressed successfully.

Then, in the FileManager, the contents of the EarlyMorning-BP directory have to be moved to “/wordpress-mu/wp-content/themes/earlymorning”. (Thought they could be uncompressed there directly, but it created an extra folder.) To move those files in the FileManager, I browse to that earlymorning-bp directory, click on the checkbox to select all, click on the “Move” button (fourth from right, marked with a blue folder), and add the output path: /wordpress-mu/wp-content/themes/earlymorning

These files are tweaks to make the EarlyMorning theme work with BuddyPress.

Then, I had to change two files, through the FileManager (it could also be done with an FTP client).

One change is to EarlyMorning’s style.css:

/wordpress-mu/wp-content/themes/earlymorning/style.css

There, “Template: thematic” has to be changed to “Template: buddymatic” (so, “the” should be changed to “buddy”).

That change is needed because the EarlyMorning theme is a child theme of the “Thematic” WordPress parent theme. Buddymatic is a BuddyPress-savvy version of Thematic and this changes the child-parent relation from Thematic to Buddymatic.

The other change is in the Buddymatic “extensions”:

/wordpress-mu/wp-content/themes/buddymatic/library/extensions/buddypress_extensions.php

There, on line 39, “$bp->root_domain” should be changed to “bp_root_domain()”.

This change is needed because of something I’d consider a bug but that a commenter on another blog was kind enough to troubleshoot. Without this modification, the login button in BuddyPress wasn’t working because it was going to the website’s root (example.com/wp-login.php) instead of the WPµ installation (example.com/wordpress-mu/wp-login.php). I was quite happy to find this workaround but I’m not completely clear on the reason it works.

Then, something I did which might not be needed is to rename the “wordpress-mu” directory. Without that change, the BuddyPress installation would sit at “example.com/wordpress-mu,” which seems a bit cryptic for users. In my mind, “example.com/<name>,” where “<name>” is something meaningful like “social” or “community” works well enough for my needs. Because FatCow charges for subdomains, the “<name>.example.com” option would be costly.

(Of course, WPµ and BuddyPress could be installed in the site’s root and the frontpage for “example.com” could be the BuddyPress frontpage. But since I think of BuddyPress as an add-on to a more complete site, it seems better to have it as a level lower in the site’s hierarchy.)

With all of this done, the actual WPµ installation process can begin.

The first thing is to browse to that directory in which WPµ resides, either “example.com/wordpress-mu” or “example.com/<name>” with the “<name>” you chose. You’re then presented with the WordPress µ Installation screen.

Since FatCow charges for subdomains, it’s important to choose the following option: “Sub-directories (like example.com/blog1).” It’s actually by selecting the other option that I realized that FatCow restricted subdomains.

The Database Name, username and password are the ones you created initially with Manage MySQL. If you forgot that password, you can actually change it with that same tool.

An important FatCow-specific point, here, is that “Database Host” should be “<username>.fatcowmysql.com” (where “<username>” is your FatCow username). In my experience, other webhosts use “localhost” and WPµ defaults to that.

You’re asked to give a name to your blog. In a way, though, if you think of BuddyPress as more of a platform than a blogging system, that name should be rather general. As you’re installing “WordPress Multi-User,” you’ll be able to create many blogs with more specific names, if you want. But the name you’re entering here is for BuddyPress as a whole. As with <name> in “example.com/<name>” (instead of “example.com/wordpress-mu”), it’s a matter of personal opinion.

Something I noticed with the EarlyMorning theme is that it’s a good idea to keep the main blog’s name relatively short. I used thirteen characters and it seemed to fit quite well.

Once you’re done filling in this page, WPµ is installed in a flash. You’re then presented with some information about your installation. It’s probably a good idea to note down some of that information, including the full paths to your installation and the administrator’s password.

But the first thing you should do, as soon as you log in with “admin” as username and the password provided, is probably to the change that administrator password. (In fact, it seems that a frequent advice in the WordPress community is to create a new administrator user account, with a different username than “admin,” and delete the “admin” account. Given some security issues with WordPress in the past, it seems like a good piece of advice. But I won’t describe it here. I did do it in my installation and it’s quite easy to do in WPµ.

Then, you should probably enable plugins here:

example.com/<name>/wp-admin/wpmu-options.php#menu

(From what I understand, it might be possible to install BuddyPress without enabling plugins, since you’re logged in as the administrator, but it still makes sense to enable them and it happens to be what I did.)

You can also change a few other options, but these can be set at another point.

One option which is probably useful, is this one:

Allow new registrations Disabled
Enabled. Blogs and user accounts can be created.
Only user account can be created.

Obviously, it’s not necessary. But in the interest of opening up the BuddyPress to the wider world without worrying too much about a proliferation of blogs, it might make sense. You may end up with some fake user accounts, but that shouldn’t be a difficult problem to solve.

Now comes the installation of the BuddyPress plugin itself. You can do so by going here:

example.com/<name>/wp-admin/plugin-install.php

And do a search for “BuddyPress” as a term. The plugin you want was authored by “The BuddyPress Community.” (In my case, version 1.1.3.) Click the “Install” link to bring up the installation dialog, then click “Install Now” to actually install the plugin.

Once the install is done, click the “Activate” link to complete the basic BuddyPress installation.

You now have a working installation of BuddyPress but the BuddyPress-savvy EarlyMorning isn’t enabled. So you need to go to “example.com/<name>/wp-admin/wpmu-themes.php” to enable both Buddymatic and EarlyMorning. You should then go to “example.com/<name>/wp-admin/themes.php” to activate the EarlyMorning theme.

Something which tripped me up because it’s now much easier than before is that forums (provided through bbPress) are now, literally, a one-click install. If you go here:

example.com/<name>/wp-admin/admin.php?page=bb-forums-setup

You can set up a new bbPress install (“Set up a new bbPress installation”) and everything will work wonderfully in terms of having forums fully integrated in BuddyPress. It’s so seamless that I wasn’t completely sure it had worked.

Besides this, I’d advise that you set up a few widgets for the BuddyPress frontpage. You do so through an easy-to-use drag-and-drop interface here:

example.com/<name>/wp-admin/widgets.php

I especially advise you to add the Twitter RSS widget because it seems to me to fit right in. If I’m not mistaken, the EarlyMorning theme contains specific elements to make this widget look good.

After that, you can just have fun with your new BuddyPress installation. The first thing I did was to register a new user. To do so, I logged out of my admin account,  and clicked on the Sign Up button. Since I “allow new registrations,” it’s a very simple process. In fact, this is one place where I think that BuddyPress shines. Something I didn’t explain is that you can add a series of fields for that registration and the user profile which goes with it.

The whole process really shouldn’t take very long. In fact, the longest parts have probably to do with waiting for Archive Gateway.

The rest is “merely” to get people involved in your BuddyPress installation. It can happen relatively easily, if you already have a group of people trying to do things together online. But it can be much more complicated than any software installation process… 😉


Development and Quality: Reply to Agile Diary

Former WiZiQ product manager Vikrama Dhiman responded to one of my tweets with a full-blown blogpost, thereby giving support to Matt Mullenweg‘s point that microblogging goes hand-in-hand with “macroblogging.”

My tweet:

enjoys draft æsthetics yet wishes more developers would release stable products. / adopte certains produits trop rapidement.

Vikrama’s post:

Good Enough Software Does Not Mean Bad Software « Agile Diary, Agile Introduction, Agile Implementation.

My reply:

“To an engineer, good enough means perfect. With an artist, there’s no such thing as perfect.” (Alexander Calder)

Thanks a lot for your kind comments. I’m very happy that my tweet (and status update) triggered this.

A bit of context for my tweet (actually, a post from Ping.fm, meant as a status update, thereby giving support in favour of conscious duplication, «n’en déplaise aux partisans de l’action contre la duplication».)

I’ve been thinking about what I call the “draft æsthetics.” In fact, I did a podcast episode about it. My description of that episode was:

Sometimes, there is such a thing as “Good Enough.”

Though I didn’t emphasize the “sometimes” part in that podcast episode, it was an important part of what I wanted to say. In fact, my intention wasn’t to defend draft æsthetics but to note that there seems to be a tendency toward this æsthetic mode. I do situate myself within that mode in many things I do, but it really doesn’t mean that this mode should be the exclusive one used in any context.

That aforequoted tweet was thus a response to my podcast episode on draft æsthetics. “Yes, ‘good enough’ may work, sometimes. But it needs not be applied in all cases.”

As I often get into convoluted discussions with people who seem to think that I condone or defend a position because I take it for myself, the main thing I’d say there is that I’m not only a relativist but I cherish nuance. In other words, my tweet was a way to qualify the core statement I was talking about in my podcast episode (that “good enough” exists, at times). And that statement isn’t necessarily my own. I notice a pattern by which this statement seems to be held as accurate by people. I share that opinion, but it’s not a strongly held belief of mine.

Of course, I digress…

So, the tweet which motivated Vikrama had to do with my approach to “good enough.” In this case, I tend to think about writing but in view of Eric S. Raymond’s approach to “Release Early, Release Often” (RERO). So there is a connection to software development and geek culture. But I think of “good enough” in a broader sense.

Disclaimer: I am not a coder.

The Calder quote remained in my head, after it was mentioned by a colleague who had read it in a local newspaper. One reason it struck me is that I spend some time thinking about artists and engineers, especially in social terms. I spend some time hanging out with engineers but I tend to be more on the “artist” side of what I perceive to be an axis of attitudes found in some social contexts. I do get a fair deal of flack for some of my comments on this characterization and it should be clear that it isn’t meant to imply any evaluation of individuals. But, as a model, the artist and engineer distinction seems to work, for me. In a way, it seems more useful than the distinction between science and art.

An engineer friend with whom I discussed this kind of distinction was quick to point out that, to him, there’s no such thing as “good enough.” He was also quick to point out that engineers can be creative and so on. But the point isn’t to exclude engineers from artistic endeavours. It’s to describe differences in modes of thought, ways of knowing, approaches to reality. And the way these are perceived socially. We could do a simple exercise with terms like “troubleshooting” and “emotional” to be assigned to the two broad categories of “engineer” and “artist.” Chances are that clear patterns would emerge. Of course, many concepts are as important to both sides (“intelligence,” “innovation”…) and they may also be telling. But dichotomies have heuristic value.

Now, to go back to software development, the focus in Vikrama’s Agile Diary post…

What pushed me to post my status update and tweet is in fact related to software development. Contrary to what Vikrama presumes, it wasn’t about a Web application. And it wasn’t even about a single thing. But it did have to do with firmware development and with software documentation.

The first case is that of my Fonera 2.0n router. Bought it in early November and I wasn’t able to connect to its private signal using my iPod touch. I could connect to the router using the public signal, but that required frequent authentication, as annoying as with ISF. Since my iPod touch is my main WiFi device, this issue made my Fonera 2.0n experience rather frustrating.

Of course, I’ve been contacting Fon‘s tech support. As is often the case, that experience was itself quite frustrating. I was told to reset my touch’s network settings which forced me to reauthenticate my touch on a number of networks I access regularly and only solved the problem temporarily. The same tech support person (or, at least, somebody using the same name) had me repeat the same description several times in the same email message. Perhaps unsurprisingly, I was also told to use third-party software which had nothing to do with my issue. All in all, your typical tech support experience.

But my tweet wasn’t really about tech support. It was about the product. Thougb I find the overall concept behind the Fonera 2.0n router very interesting, its implementation seems to me to be lacking. In fact, it reminds me of several FLOSS development projects that I’ve been observing and, to an extent, benefitting from.

This is rapidly transforming into a rant I’ve had in my “to blog” list for a while about “thinking outside the geek box.” I’ll try to resist the temptation, for now. But I can mention a blog thread which has been on my mind, in terms of this issue.

Firefox 3 is Still a Memory Hog — The NeoSmart Files.

The blogpost refers to a situation in which, according to at least some users (including the blogpost’s author), Firefox uses up more memory than it should and becomes difficult to use. The thread has several comments providing support to statements about the relatively poor performance of Firefox on people’s systems, but it also has “contributions” from an obvious troll, who keeps assigning the problem on the users’ side.

The thing about this is that it’s representative of a tricky issue in the geek world, whereby developers and users are perceived as belonging to two sides of a type of “class struggle.” Within the geek niche, users are often dismissed as “lusers.” Tech support humour includes condescending jokes about “code 6”: “the problem is 6″ from the screen.” The aforementioned Eric S. Raymond wrote a rather popular guide to asking questions in geek circles which seems surprisingly unaware of social and cultural issues, especially from someone with an anthropological background. Following that guide, one should switch their mind to that of a very effective problem-solver (i.e., the engineer frame) to ask questions “the smart way.” Not only is the onus on users, but any failure to comply with these rules may be met with this air of intellectual superiority encoded in that guide. IOW, “Troubleshoot now, ask questions later.”

Of course, many users are “guilty” of all sorts of “crimes” having to do with not reading the documentation which comes with the product or with simply not thinking about the issue with sufficient depth before contacting tech support. And as the majority of the population is on the “user” side, the situation can be described as both a form of marginalization (geek culture comes from “nerd” labels) and a matter of elitism (geek culture as self-absorbed).

This does have something to do with my Fonera 2.0n. With it, I was caught in this dynamic whereby I had to switch to the “engineer frame” in order to solve my problem. I eventually did solve my Fonera authentication problem, using a workaround mentioned in a forum post about another issue (free registration required). Turns out, the “release candidate” version of my Fonera’s firmware does solve the issue. Of course, this new firmware may cause other forms of instability and installing it required a bit of digging. But it eventually worked.

The point is that, as released, the Fonera 2.0n router is a geek toy. It’s unpolished in many ways. It’s full of promise in terms of what it may make possible, but it failed to deliver in terms of what a router should do (route a signal). In this case, I don’t consider it to be a finished product. It’s not necessarily “unstable” in the strict sense that a software engineer might use the term. In fact, I hesitated between different terms to use instead of “stable,” in that tweet, and I’m not that happy with my final choice. The Fonera 2.0n isn’t unstable. But it’s akin to an alpha version released as a finished product. That’s something we see a lot of, these days.

The main other case which prompted me to send that tweet is “CivRev for iPhone,” a game that I’ve been playing on my iPod touch.

I’ve played with different games in the Civ franchise and I even used the FLOSS version on occasion. Not only is “Civilization” a geek classic, but it does connect with some anthropological issues (usually in a problematic view: Civ’s worldview lacks anthro’s insight). And it’s the kind of game that I can easily play while listening to podcasts (I subscribe to a number of th0se).

What’s wrong with that game? Actually, not much. I can’t even say that it’s unstable, unlike some other items in the App Store. But there’s a few things which aren’t optimal in terms of documentation. Not that it’s difficult to figure out how the game works. But the game is complex enough that some documentation is quite useful. Especially since it does change between one version of the game and another. Unfortunately, the online manual isn’t particularly helpful. Oh, sure, it probably contains all the information required. But it’s not available offline, isn’t optimized for the device it’s supposed to be used with, doesn’t contain proper links between sections, isn’t directly searchable, and isn’t particularly well-written. Not to mention that it seems to only be available in English even though the game itself is available in multiple languages (I play it in French).

Nothing tragic, of course. But coupled with my Fonera experience, it contributed to both a slight sense of frustration and this whole reflection about unfinished products.

Sure, it’s not much. But it’s “good enough” to get me started.


War of the Bugs: Playing with Life in the Brewery

Kept brewing and thinking about brewing, after that last post. Been meaning to discuss my approach to “brewing bugs”: the yeast and bacteria strains which are involved in some of my beers. So, it’s a kind of follow-up.

Perhaps more than a reason for me to brew, getting to have fun with these living organisms is something of an achievement. It took a while before it started paying off, but it now does.

Now, I’m no biochemist. In fact, I’m fairly far to “wet sciences” in general. What I do with these organisms is based on a very limited understanding of what goes on during fermentation. But as long as I’m having fun, that should be ok.

This blogpost is about yeast in brewing. My focus is on homebrewing but many things also apply to craft brewing or even to macrobreweries.

There’s supposed to be a saying that “brewers make wort, yeast makes beer.” Whether or not it’s an actual saying, it’s quite accurate.

“Wort” is unfermented beer. It’s a liquid containing fermentable sugars and all sorts of other compounds which will make their way into the final beer after the yeast has had its fun in it. It’s a sweet liquid which tastes pretty much like Malta (e.g. Vitamalt).

Yeast is a single-cell organism which can do a number of neat things including the fine act of converting simple sugars into alcohol and CO2. Yeast cells also do a number of other neat (and not so neat) things with the wort, including the creation of a large array of flavour compounds which can radically change the character of the beer. Among the four main ingredients in beer (water, grain, hops, and yeast), I’d say that yeast often makes the largest contribution to the finished beer’s flavour and aroma profile.

The importance of yeast in brewing has been acknowledged to different degrees in history. The well-known Reinheitsgebot “purity law” of 1516, which specifies permissible ingredients in beer, made no mention of yeast. As the story goes, it took Pasteur (and probably others) to discover the role of yeast in brewing. After this “discovery,” Pasteur and others have been active at isolating diverse yeast strains to be used in brewing. Before that time, it seems that yeast was just occurring naturally in the brewing process.

As may be apparent in my tone, I’m somewhat skeptical of the “discovery” narrative. Yeast may not have been understood very clearly before Pasteur came on the scene, but there’s some evidence showing that yeast’s contribution to brewing had been known in different places at previous points in history. It also seems likely that multiple people had the same basic insight as LP did but may not have had the evidence to support this insight. This narrative is part of the (home)brewing “shared knowledge.”

But I’m getting ahead of myself.

There’s a lot to be said about yeast biochemistry. In fact, the most casual of brewers who spends any significant amount of time with online brewing resources has some understanding, albeit fragmentary, of diverse dimensions of biochemistry through the action of yeast. But this blogpost isn’t about yeast biochemistry.

I’m no expert and biochemistry is a field for experts. What tends to interest me more than the hard science on yeast is the kind of “folk science” brewers create around yeast. Even the most scientific of brewers occasionally talks about yeast in a way which sounds more like folk beliefs than like hard science. In ethnographic disciplines, there’s a field of “ethnoscience” which deals with this kind of “folk knowledge.” My characterization of “folk yeast science” will probably sound overly simplistic and I’m not saying that it accurately represents a common approach to yeast among brewers. It’s more in line with the tone of Horace Miner’s classic text about the Nacirema than with anything else. A caricature, maybe, but one which can provide some insight.

In this case, because it’s a post on my personal blog, it probably provides more insight about yours truly than about anybody else. So be it.

I’m probably more naïve than most. Or, at least, I try to maintain a sense of wonder, as I play with yeast. I’ve done just enough reading about biochemistry to be dangerous. Again, “the brewery is an adult’s chemistry set.”

A broad distinction in the brewer’s approach to yeast is between “pure” and “wild” yeast. Pure yeast usually comes to the brewer from a manufacturer but it originated in a well-known brewery. Wild yeast comes from the environment and should be avoided at all costs. Wild yeast infects and spoils the wort. Pure yeast is a brewer’s best friend as it’s the one which transforms sweet wort into tasty, alcoholic beer. Brewers do everything to “keep the yeast happy.” Though yeast happiness sounds like exaggeration on my part, this kind of anthropomorphic concept is clearly visible in discussions among brewers. (Certainly, “yeast health” is a common concept. It’s not anthropomorphic by itself, but it takes part in the brewer’s approach to yeast as life.) Wild yeast is the reason brewers use sanitizing agents. Pure yeast is carefully handled, preserved, “cultured.” In this context, “wild yeast” is unwanted yeast. “Pure yeast” is the desirable portion of microflora.

It wouldn’t be too much of an exaggeration to say that many brewers are obsessed with the careful handling of pure yeast and the complete avoidance of wild yeast. The homebrewer’s motto, following Charlie Papazian, may be “Relax, Don’t Worry, Have a Homebrew,” when brewers do worry, they often worry about keeping their yeast as pure as possible or keeping their wort as devoid of wild yeast as possible.

In the context of brewers’ folk taxonomy, wild yeast is functionally a “pest,” its impact is largely seen as negative. Pure yeast is beneficial. Terms like “bugs” or “beasties” are applied to both but, with wild yeast, their connotations and associations are negative (“nasty bugs”) while the terms are applied to pure yeast in a more playful, almost endeared tone. “Yeasties” is almost a pet name for pure yeast.

I’ve mentioned “folk taxonomy.” Here, I’m mostly thinking about cognitive anthropology. Taxonomies have been the hallmark of cognitive anthropology, as they reveal a lot about the ways people conceive of diverse parts of reality and are relatively easy to study. Eliciting categories in a folk taxonomy is a relatively simple exercise which can even lead to other interesting things in terms of ethnographic research (including, for instance, establishing rapport with local experts or providing a useful basis to understanding subtleties in the local language). I use terms like “folk” and “local” in a rather vague way. The distinction is often with “Western” or even “scientific.” Given the fact that brewing in North America has some strong underpinnings in science, it’s quite fun to think about North American homebrewers through a model which involves an opposition to “Western/scientific.” Brewers, including a large proportion of homebrewers, tend to be almost stereotypically Western and to work through (and sometimes labour under) an almost-reductionist scientific mindframe. In other words, my talking about “folk taxonomy” is almost a way to tease brewers. But it also relates to my academic interest in cultural diversity, language, worldviews, and humanism.

“Folk taxonomies” can be somewhat fluid but the concept applies mostly to classification systems which are tree-like, with “branches” coming of broader categories. The term “folksonomy” has some currency, these days, to refer to a classification structure which has some relation to folk taxonomy but which doesn’t tend to work through a very clear arborescence. In many contexts, “folksonomy” simply means “tagging,” with the notion that it’s a free-form classification, not amenable to treatment in the usual “hierarchical database” format. Examples of folksonomies often have to do with the way people classify books or other sources of information. A folksonomy is then the opposite of the classification system used in libraries or in Web directories such as the original Yahoo! site. Tags assigned to this blogpost (“Tagged: Belgian artist…”) are part of my own folksonomy for blogposts. Categories on WordPress blogs such as this ones are supposed to create more of a (folk) taxonomy. For several reasons (including the fact that tags weren’t originally available to me for this blog), I tend to use categories as more of a folksonomy, but with a bit more structure. Categories are more stable than tags. For a while, now, I’ve refrained from adding new categories (to my already overly-long list). But I do add lots of new tags.

Anyhoo…

Going back to brewers’ folk taxonomy of yeast strains…

Technically, if I’m not mistaken, the term “pure” should probably refer to the yeast culture, not to the yeast itself. But the overall concept does seem to apply to types of yeast, even if other terms are used. The terms “wild” and “pure” aren’t inappropriate. “Wild” yeast is undomesticated. “Pure” yeast strains were those strains which were selected from wild yeast strains and were isolated in laboratories.

Typically, pure yeast strains come from one of two species of the genus Saccharomyces. One species includes the “top-fermenting” yeast strains used in ales while the other species includes the “bottom-fermenting” yeast strains used in lagers. The distinction between ale and lager is relatively recent, in terms of brewing history, but it’s one which is well-known among brewers. The “ale” species is called cerevisiae (with all sorts of common misspellings) and the “lager” species has been called different names through history, to the extent that the most appropriate name (pastorianus) seems to be the object of specialized, not of common knowledge.

“Wild yeast” can be any yeast strain. In fact, the two species of pure yeast used in brewing exist as wild yeast and brewers’ “folk classification” of microorganisms often lumps bacteria in the “wild yeast” category. The distinction between bacteria and yeast appears relatively unimportant in relation to brewing.

As can be expected from my emphasis on “typically,” above, not all pure yeast strains belong to the “ale” and “lager” species. And as is often the case in research, the exceptions are where things get interesting.

One category of yeast which is indeed pure but which doesn’t belong to one of the two species is wine yeast. While brewers do occasionally use strains of wild yeast when making other beverages besides beer, wine yeast strains mostly don’t appear on the beer brewer’s radar as being important or interesting. Unlike wild yeast, it shouldn’t be avoided at all costs. Unlike pure yeast, it shouldn’t be cherished. In this sense, it could almost serve as «degré zéro» or “null” in the brewer’s yeast taxonomy.

Then, there are yeast strains which are usually considered in a negative way but which are treated as pure strains. I’m mostly thinking about two of the main species in the Brettanomyces genus, commonly referred to as “Brett.” These are winemakers’ pests, especially in the case of oak aging. Oak casks are expensive and they can be ruined by Brett infections. In beer, while Brett strains are usually classified as wild yeast, some breweries have been using Brett in fermentation to effects which are considered by some people to be rather positive while others find these flavours and aromas quite displeasing. It’s part of the brewing discourse to use “barnyard” and “horse blanket” as descriptors for some of the aroma and flavour characteristics given by Brett.

Brewers who consciously involve Brett in the fermentation process are rather uncommon. There are a few breweries in Belgium which make use of Brett, mostly in lambic beers which are fermented “spontaneously” (without the use of controlled innoculation). And there’s a (slightly) growing trend among North American home- and craft brewers toward using Brett and other bugs in brewing.

Because of these North American brewers, Brett strains are now available commercially, as “pure” strains.

Which makes for something quite interesting. Brett is now part of the “pure yeast” category, at least for some brewers. They then use Brett as they would other pure strains, taking precautions to make sure it’s not contaminated. At the same time, Brett is often used in conjunction with other yeast strains and, contrary to the large majority of beer fermentation methods, what brewers use is a complex yeast culture which includes both Saccharomyces and Brett. It may not seem that significant but it brings fermentation out of the strict “mono-yeast” model. Talking about “miscegenation” in social terms would be abusive. But it’s interesting to notice which brewers use Brett in this way. In some sense, it’s an attitude which has dimensions from both the “Belgian Artist” and “German Engineer” poles in my brewing attitude continuum.

Other brewers use Brett in a more carefree way. Since Brett-brewing is based on a complex culture, one can go all the way and mix other bugs. Because Brett has been mostly associated with lambic brewing, since the onset of “pure yeast” brewing, the complex cultures used in lambic breweries serve as the main model. In those breweries, little control can be applied to the balance between yeast strains and the concept of “pure yeast” seems quite foreign. I’ve never visited a lambic brewery (worse yet, I’ve yet to set foot in Belgium), but I get to hear and read a lot about lambic brewing. My perception might be inaccurate, but it also reflects “common knowledge” among North American brewers.

As you might guess, by now, I take part in the trend to brew carefreely. Even carelessly. Which makes me more of a MadMan than the majority of brewers.

Among both winemakers and beer brewers, Brett has the reputation to be “resilient.” Once Brett takes hold of your winery or brewery, it’s hard to get rid of it. Common knowledge about Brett includes different things about its behaviour in the fermentation process (it eats some sugars that Saccharomyces doesn’t, it takes a while to do its work…). But Brett also has a kind of “character,” in an almost-psychological sense.

Which reminds me of a comment by a pro brewer about a well-known strain of lager yeast being “wimpy,” especially in comparison with some well-known British ale yeast strains such as Ringwood. To do their work properly, lager strains tend to require more care than ale strains, for several reasons. Ringwood and some other strains are fast fermenters and tend to “take over,” leaving little room for other bugs.

Come to think of it, I should try brewing with a blend of Ringwood and Brett. It’d be interesting to see “who wins.”

Which brings me to “war.”

Now, I’m as much of a pacifist as one can be. Not only do I not tend to be bellicose and do I cherish peace, I frequently try to avoid conflict and I even believe that there’s a peaceful resolution to most situations.

Yet, one thing I enjoy about brewing is to play with conflicting yeast strains. Pitting one strain against another is my way to “wage wars.” And it’s not very violent.

I also tend to enjoy some games which involve a bit of conflict, including Diplomacy and Civilization. But I tend to play these games as peacefully as possible. Even Spymaster, which rapidly became focused on aggressions, I’ve been playing as a peace-loving, happy-go-lucky character.

But, in the brewery, I kinda like the fact that yeast cells from different strains are “fighting” one another. I don’t picture yeast cells like warriors (with tiny helmets), but I do have fun imagining the “Battle of the Yeast.”

Of course, this has more to do with competition than with conflict. But both are related, in my mind. I’m also not that much into competition and I don’t like to pit people against one another, even in friendly competition. But this is darwinian competition. True “survival of the fittest,” with everything which is implied in terms of being contextually appropriate.

So I’m playing with life, in my brewery. I’m not acting as a Creator over the yeast population, but there’s something about letting yeast cells “having at it” while exercising some level of control that could be compared to some spiritual figures.

Thinking about this also makes me think about the Life game. There are some similarities between what goes on in my wort and what Conway’s game implies. But there are also several differences, including the type of control which can be applied in either case and the fact that the interaction between yeast cells is difficult to visualize. Not to mention that yeast cells are actual, living organisms while the cellular automaton is pure simulation.

The fun I have playing with yeast cells is part of the reason I like to use Brett in my beers. The main reason, though, is that I like the taste of Brett in beer. In fact, I even like it in wine, by transfer from my taste for Brett in beer.

And then, there’s carefree brewing.

As I described above, brewers are very careful to avoid wild yeast and other unwanted bugs in their beers. Sanitizing agents are an important part of the brewer’s arsenal. Which goes well with the “German engineer” dimension of brewing. There’s an extreme position in brewing, even in homebrewing. The “full-sanitization brewery.” Apart from pure yeast, nothing should live in the wort. Actually, nothing else should live in the brewery. If it weren’t for the need to use yeast in the fermentation process, brewing could be done in a completely sterile environment. The reference for this type of brewery is the “wet science” lab. As much as possible, wort shouldn’t come in contact with air (oxidization is another reason behind this; the obsession with bugs and the distaste for oxidization often go together). It’s all about control.

There’s an obvious reason behind this. Wort is exactly the kind of thing wild yeast and other bugs really like. Apparently, slants used to culture microorganisms in labs may contain a malt-based gelatin which is fairly similar to wort. I don’t think it contains hops, but hops are an agent of preservation and could have a positive effect in such a slant.

I keep talking about “wild yeast and other bugs” and I mentioned that, in the brewer’s folk taxonomy, bacteria are equivalent to wild yeast. The distinction between yeast and bacteria matters much less in the brewery than in relation to life sciences. In the conceptual system behind brewing, bacteria is functionally equivalent to wild yeast.

Fear of bacteria and microbes is widespread, in North America. Obviously, there are many excellent medical reasons to fear a number of microorganisms. Bacteria can in fact be deadly, in the right context. Not that the mere presence of bacteria is directly linked with human death. But there’s a clear association, in a number of North American minds, between bacteria and disease.

As a North American, despite my European background, I tended to perceive bacteria in a very negative way. Even today, I react “viscerally” at the mention of bacteria. Though I know that bacteria may in fact be beneficial to human health and that the human body contains a large number of bacterial cells, I have this kind of ingrained fear of bacteria. I love cheese and yogurt, including those which are made with very complex bacterial culture. But even the mere mention of bacteria in this context requires that I think about the distinction between beneficial and dangerous bacteria. In other words, I can admit that I have an irrational fear of bacteria. I can go beyond it, but my conception of microflora is skewed.

For two years in Indiana, I was living with a doctoral student in biochemistry. Though we haven’t spent that much time talking about microorganisms, I was probably influenced by his attitude toward sanitization. What’s funny, though, is that our house wasn’t among the cleanest in which I’ve lived. In terms of “sanitary conditions,” I’ve had much better and a bit worse. (I’ve lived in a house where we received an eviction notice from the county based on safety hazards in that place. Lots of problems with flooding, mould, etc.)

Like most other North American brewers, I used to obsess about sanitization, at every step in the process. I was doing an average job at sanitization and didn’t seem to get any obvious infection. I did get “gushers” (beers which gush out of the bottle when I open it) and a few “bottle bombs” (beer bottles which actually explode). But there were other explanations behind those occurrences than contamination.

The practise of sanitizing everything in the brewery had some significance in other parts of my life. For instance, I tend to think about dishes and dishwashing in a way which has more to do with caution over potential contamination than with dishes appearing clean and/or shiny. I also think about what should be put in the refrigerator and what can be left out, based on my limited understanding of biochemistry. And I think about food safety in a specific way.

In the brewery, however, I moved more and more toward another approach to microflora. Again, a more carefree approach to brewing. And I’m getting results that I enjoy while having a lot of fun. This approach is also based on my pseudo-biochemistry.

One thing is that, in brewing, we usually boil the wort for an hour or more before inoculation with pure yeast. As boiling kills most bugs, there’s something to be said about sanitization being mostly need for equipment which touches the wort after the boil. Part of the equipment is sanitized during the boiling process and what bugs other pieces of equipment may transfer to the wort before boiling are unlikely to have negative effects on the finished beer. With this idea in mind, I became increasingly careless with some pieces of my brewing equipment. Starting with the immersion chiller and kettle, going all the way to the mashtun.

Then, there’s the fact that I use wild yeast in some fermentations. In both brewing and baking, actually. Though my results with completely “wild” fermentations have been mixed to unsatisfactory, some of my results with “partially-wild” fermentations have been quite good.

Common knowledge among brewers is that “no known pathogen can survive in beer.” From a food safety standpoint, beer is “safe” for four main reasons: boiling, alcohol, low pH, and hops. At least, that’s what is shared among brewers, with narratives about diverse historical figures who saved whole populations through beer, making water sanitary. Depending on people’s attitudes toward alcohol, these stories about beer may have different connotations. But it does seem historically accurate to say that beer played an important part in making water drinkable.

So, even wild fermentation is considered safe. People may still get anxious but, apart from off-flavours, the notion is that contaminated beer can do no more harm than other beers.

The most harmful products of fermentation about which brewers may talk are fusel alcohols. These, brewers say, may cause headaches if you get too much of them. Fusels can cause some unwanted consequences, but they’re not living organisms and won’t spread as a disease. In brewer common knowledge, “fusels” mostly have to do with beers with high degrees of alcohol which have been fermented at a high temperature. My personal sense is that fusels aren’t more likely to occur in wild fermentation than with pure fermentation, especially given the fact that most wild fermentation happens with beer with a low degree of alcohol.

Most of the “risks” associated with wild fermentation have to do with flavours and aromas which may be displeasing. Many of these have to do with souring, as some bugs transform different compounds (alcohol especially, if I’m not mistaken) into different types of acids. While Brett and other strains of wild yeast can cause some souring, the acids in questions mostly have to do with bacteria. For instance, lactobacillus creates lactic acid, acetobacter creates acetic acid, etc.

Not only do I like that flavour and aroma characteristics associated with some wild yeast strains (Brett, especially), I also like sour beers. It may sound strange given the fact that I suffer from GERD. But I don’t overindulge in sour beers. I rarely drink large quantities of beer and sour beers would be the last thing I’d drink large quantities of. Besides, there’s a lot to be said about balance in pH. I may be off but I get the impression that there are times in which sour things are either beneficial to me or at least harmless. Part of brewer common knowledge in fact has a whole thing about alkalinity and pH. I’m not exactly clear on how it affects my body based on ingestion of diverse substances, but I’m probably affected by my background as a homebrewer.

Despite my taste for sour beers, I don’t necessarily have the same reaction to all souring agents. For instance, I have a fairly clear threshold in terms of acetic acid in beer. I enjoy it when a sour beer has some acetic character. But I prefer to limit the “aceticness” of my beers. Two batches I’ve fermented with wild bugs were way too acetic for me and I’m now concerned that other beers may develop the same character. In fact, if there’s a way to prevent acetobacter from getting in my wort while still getting the other bugs working, I could be even more carefree as a brewer than I currently am.

Which is a fair deal. These days, I really am brewing carefreely. Partly because of my “discovery” of lactobacillus.

As brewer common knowledge has it, lactobacillus is just about everywhere. It’s certainly found on grain and it’s present in human saliva. It’s involved in some dairy fermentation and it’s probably the main source of bacterial fear among dairy farmers.

Apart from lambic beers (which all come from a specific region in Belgium), the main sour beer that is part of brewer knowledge is Berliner Weisse. Though I have little data on how Berliner Weisse is fermented, I’ve known for a while that some people create a beer akin to Berliner Weisse through what brewers call a “sour mash” (and which may or may not be related to sour mash in American whiskey production). After thinking about it for years, I’ve done my first sour mash last year. I wasn’t very careful in doing it but I got satisfying results. One advantage of the sour mash is that it happens before boiling, which means that the production of acid can be controlled, to a certain degree. While I did boil my wort coming from sour mash, it’s clear that I still had some lactobacillus in my fermenters. It’s possible that my boil (which was much shorter than the usual) wasn’t enough to kill all the bugs. But, come to think of it, I may have been a bit careless with sanitization of some pieces of equipment which had touched the sour wort before boiling. Whatever the cause, I ended up with some souring bugs in my fermentation. And these worked really well for what I wanted. So much so that I’ve consciously reused that culture in some of my most recent brewing experiments.

So, in my case, lactobacillus is in the “desirable” category of yeast taxonomy. With Brett and diverse Saccharomyces strains, lactobacillus is part of my fermentation apparatus.

As a mad brewer, I can use what I want to use. I may not create life, but I create beer out of this increasingly complex microflora which has been taking over my brewery.

And I’m a happy brewer.


Social Networks and Microblogging

Microblogging (Laconica, Twitter, etc.) is still a hot topic. For instance, during the past few episodes of This Week in Tech, comments were made about the preponderance of Twitter as a discussion theme: microblogging is so prominent on that show that some people complain that there’s too much talk about Twitter. Given the centrality of Leo Laporte’s podcast in geek culture (among Anglos, at least), such comments are significant.

The context for the latest comments about TWiT coverage of Twitter had to do with Twitter’s financials: during this financial crisis, Twitter is given funding without even asking for it. While it may seem surprising at first, given the fact that Twitter hasn’t publicized a business plan and doesn’t appear to be profitable at this time, 

Along with social networking, microblogging is even discussed in mainstream media. For instance, Médialogues (a media critique on Swiss national radio) recently had a segment about both Facebook and Twitter. Just yesterday, Comedy Central’s The Daily Show with Jon Stewart made fun of compulsive twittering and mainstream media coverage of Twitter (original, Canadian access).

Clearly, microblogging is getting some mindshare.

What the future holds for microblogging is clearly uncertain. Anything can happen. My guess is that microblogging will remain important for a while (at least a few years) but that it will transform itself rather radically. Chances are that other platforms will have microblogging features (something Facebook can do with status updates and something Automattic has been trying to do with some WordPress themes). In these troubled times, Montreal startup Identi.ca received some funding to continue developing its open microblogging platform.  Jaiku, bought by Google last year, is going open source, which may be good news for microblogging in general. Twitter itself might maintain its “marketshare” or other players may take over. There’s already a large number of third-party tools and services making use of Twitter, from Mahalo Answers to Remember the Milk, Twistory to TweetDeck.

Together, these all point to the current importance of microblogging and the potential for further development in that sphere. None of this means that microblogging is “The Next Big Thing.” But it’s reasonable to expect that microblogging will continue to grow in use.

(Those who are trying to grok microblogging, Common Craft’s Twitter in Plain English video is among the best-known descriptions of Twitter and it seems like an efficient way to “get the idea.”)

One thing which is rarely mentioned about microblogging is the prominent social structure supporting it. Like “Social Networking Systems” (LinkedIn, Facebook, Ning, MySpace…), microblogging makes it possible for people to “connect” to one another (as contacts/acquaintances/friends). Like blogs, microblogging platforms make it possible to link to somebody else’s material and get notifications for some of these links (a bit like pings and trackbacks). Like blogrolls, microblogging systems allow for lists of “favourite authors.” Unlike Social Networking Systems but similar to blogrolls, microblogging allow for asymmetrical relations, unreciprocated links: if I like somebody’s microblogging updates, I can subscribe to those (by “following” that person) and publicly show my appreciation of that person’s work, regardless of whether or not this microblogger likes my own updates.

There’s something strangely powerful there because it taps the power of social networks while avoiding tricky issues of reciprocity, “confidentiality,” and “intimacy.”

From the end user’s perspective, microblogging contacts may be easier to establish than contacts through Facebook or Orkut. From a social science perspective, microblogging links seem to approximate some of the fluidity found in social networks, without adding much complexity in the description of the relationships. Subscribing to someone’s updates gives me the role of “follower” with regards to that person. Conversely, those I follow receive the role of “following” (“followee” would seem logical, given the common “-er”/”-ee” pattern). The following and follower roles are complementary but each is sufficient by itself as a useful social link.

Typically, a microblogging system like Twitter or Identi.ca qualifies two-way connections as “friendship” while one-way connections could be labelled as “fandom” (if Andrew follows Betty’s updates but Betty doesn’t follow Andrew’s, Andrew is perceived as one of Betty’s “fans”). Profiles on microblogging systems are relatively simple and public, allowing for low-involvement online “presence.” As long as updates are kept public, anybody can connect to anybody else without even needing an introduction. In fact, because microblogging systems send notifications to users when they get new followers (through email and/or SMS), subscribing to someone’s update is often akin to introducing yourself to that person. 

Reciprocating is the object of relatively intense social pressure. A microblogger whose follower:following ratio is far from 1:1 may be regarded as either a snob (follower:following much higher than 1:1) or as something of a microblogging failure (follower:following much lower than 1:1). As in any social context, perceived snobbery may be associated with sophistication but it also carries opprobrium. Perry Belcher  made a video about what he calls “Twitter Snobs” and some French bloggers have elaborated on that concept. (Some are now claiming their right to be Twitter Snobs.) Low follower:following ratios can result from breach of etiquette (for instance, ostentatious self-promotion carried beyond the accepted limit) or even non-human status (many microblogging accounts are associated to “bots” producing automated content).

The result of the pressure for reciprocation is that contacts are reciprocated regardless of personal relations.  Some users even set up ways to automatically follow everyone who follows them. Despite being tricky, these methods escape the personal connection issue. Contrary to Social Networking Systems (and despite the term “friend” used for reciprocated contacts), following someone on a microblogging service implies little in terms of friendship.

One reason I personally find this fascinating is that specifying personal connections has been an important part of the development of social networks online. For instance, long-defunct SixDegrees.com (one of the earliest Social Networking Systems to appear online) required of users that they specified the precise nature of their relationship to users with whom they were connected. Details escape me but I distinctly remember that acquaintances, colleagues, and friends were distinguished. If I remember correctly, only one such personal connection was allowed for any pair of users and this connection had to be confirmed before the two users were linked through the system. Facebook’s method to account for personal connections is somewhat more sophisticated despite the fact that all contacts are labelled as “friends” regardless of the nature of the connection. The uniform use of the term “friend” has been decried by many public commentators of Facebook (including in the United States where “friend” is often applied to any person with whom one is simply on friendly terms).

In this context, the flexibility with which microblogging contacts are made merits consideration: by allowing unidirectional contacts, microblogging platforms may have solved a tricky social network problem. And while the strength of the connection between two microbloggers is left unacknowledged, there are several methods to assess it (for instance through replies and republished updates).

Social contacts are the very basis of social media. In this case, microblogging represents a step towards both simplified and complexified social contacts.

Which leads me to the theme which prompted me to start this blogpost: event-based microblogging.

I posted the following blog entry (in French) about event-based microblogging, back in November.

Microblogue d’événement

I haven’t received any direct feedback on it and the topic seems to have little echoes in the social media sphere.

During the last PodMtl meeting on February 18, I tried to throw my event-based microblogging idea in the ring. This generated a rather lengthy between a friend and myself. (Because I don’t want to put words in this friend’s mouth, who happens to be relatively high-profile, I won’t mention this friend’s name.) This friend voiced several objections to my main idea and I got to think about this basic notion a bit further. At the risk of sounding exceedingly opinionated, I must say that my friend’s objections actually comforted me in the notion that my “event microblog” idea makes a lot of sense.

The basic idea is quite simple: microblogging instances tied to specific events. There are technical issues in terms of hosting and such but I’m mostly thinking about associating microblogs and events.

What I had in mind during the PodMtl discussion has to do with grouping features, which are often requested by Twitter users (including by Perry Belcher who called out Twitter Snobs). And while I do insist on events as a basis for those instances (like groups), some of the same logic applies to specific interests. However, given the time-sensitivity of microblogging, I still think that events are more significant in this context than interests, however defined.

In the PodMtl discussion, I frequently referred to BarCamp-like events (in part because my friend and interlocutor had participated in a number of such events). The same concept applies to any event, including one which is just unfolding (say, assassination of Guinea-Bissau’s president or bombings in Mumbai).

Microblogging users are expected to think about “hashtags,” those textual labels preceded with the ‘#’ symbol which are meant to categorize microblogging updates. But hashtags are problematic on several levels.

  • They require preliminary agreement among multiple microbloggers, a tricky proposition in any social media. “Let’s use #Bissau09. Everybody agrees with that?” It can get ugly and, even if it doesn’t, the process is awkward (especially for new users).
  • Even if agreement has been reached, there might be discrepancies in the way hashtags are typed. “Was it #TwestivalMtl or #TwestivalMontreal, I forgot.”
  • In terms of language economy, it’s unsurprising that the same hashtag would be used for different things. Is “#pcmtl” about Podcamp Montreal, about personal computers in Montreal, about PCM Transcoding Library…?
  • Hashtags are frequently misunderstood by many microbloggers. Just this week, a tweep of mine (a “peep” on Twitter) asked about them after having been on Twitter for months.
  • While there are multiple ways to track hashtags (including through SMS, in some regions), there is no way to further specify the tracked updates (for instance, by user).
  • The distinction between a hashtag and a keyword is too subtle to be really useful. Twitter Search, for instance, lumps the two together.
  • Hashtags take time to type. Even if microbloggers aren’t necessarily typing frantically, the time taken to type all those hashtags seems counterproductive and may even distract microbloggers.
  • Repetitively typing the same string is a very specific kind of task which seems to go against the microblogging ethos, if not the cognitive processes associated with microblogging.
  • The number of character in a hashtag decreases the amount of text in every update. When all you have is 140 characters at a time, the thirteen characters in “#TwestivalMtl” constitute almost 10% of your update.
  • If the same hashtag is used by a large number of people, the visual effect can be that this hashtag is actually dominating the microblogging stream. Since there currently isn’t a way to ignore updates containing a certain hashtag, this effect may even discourage people from using a microblogging service.

There are multiple solutions to these issues, of course. Some of them are surely discussed among developers of microblogging systems. And my notion of event-specific microblogs isn’t geared toward solving these issues. But I do think separate instances make more sense than hashtags, especially in terms of specific events.

My friend’s objections to my event microblogging idea had something to do with visibility. It seems that this friend wants all updates to be visible, regardless of the context. While I don’t disagree with this, I would claim that it would still be useful to “opt out” of certain discussions when people we follow are involved. If I know that Sean is participating in a PHP conference and that most of his updates will be about PHP for a period of time, I would enjoy the possibility to hide PHP-related updates for a specific period of time. The reason I talk about this specific case is simple: a friend of mine has manifested some frustration about the large number of updates made by participants in Podcamp Montreal (myself included). Partly in reaction to this, he stopped following me on Twitter and only resumed following me after Podcamp Montreal had ended. In this case, my friend could have hidden Podcamp Montreal updates and still have received other updates from the same microbloggers.

To a certain extent, event-specific instances are a bit similar to “rooms” in MMORPG and other forms of real-time many-to-many text-based communication such as the nostalgia-inducing Internet Relay Chat. Despite Dave Winer’s strong claim to the contrary (and attempt at defining microblogging away from IRC), a microblogging instance could, in fact, act as a de facto chatroom. When such a structure is needed. Taking advantage of the work done in microblogging over the past year (which seems to have advanced more rapidly than work on chatrooms has, during the past fifteen years). Instead of setting up an IRC channel, a Web-based chatroom, or even a session on MSN Messenger, users could use their microblogging platform of choice and either decide to follow all updates related to a given event or simply not “opt-out” of following those updates (depending on their preferences). Updates related to multiple events are visible simultaneously (which isn’t really the case with IRC or chatrooms) and there could be ways to make event-specific updates more prominent. In fact, there would be easy ways to keep real-time statistics of those updates and get a bird’s eye view of those conversations.

And there’s a point about event-specific microblogging which is likely to both displease “alpha geeks” and convince corporate users: updates about some events could be “protected” in the sense that they would not appear in the public stream in realtime. The simplest case for this could be a company-wide meeting during which backchannel is allowed and even expected “within the walls” of the event. The “nothing should leave this room” attitude seems contradictory to social media in general, but many cases can be made for “confidential microblogging.” Microblogged conversations can easily be archived and these archives could be made public at a later date. Event-specific microblogging allows for some control of the “permeability” of the boundaries surrounding the event. “But why would people use microblogging instead of simply talking to another?,” you ask. Several quick answers: participants aren’t in the same room, vocal communication is mostly single-channel, large groups of people are unlikely to communicate efficiently through oral means only, several things are more efficiently done through writing, written updates are easier to track and archive…

There are many other things I’d like to say about event-based microblogging but this post is already long. There’s one thing I want to explain, which connects back to the social network dimension of microblogging.

Events can be simplistically conceived as social contexts which bring people together. (Yes, duh!) Participants in a given event constitute a “community of experience” regardless of the personal connections between them. They may be strangers, ennemies, relatives, acquaintances, friends, etc. But they all share something. “Participation,” in this case, can be relatively passive and the difference between key participants (say, volunteers and lecturers in a conference) and attendees is relatively moot, at a certain level of analysis. The key, here, is the set of connections between people at the event.

These connections are a very powerful component of social networks. We typically meet people through “events,” albeit informal ones. Some events are explicitly meant to connect people who have something in common. In some circles, “networking” refers to something like this. The temporal dimension of social connections is an important one. By analogy to philosophy of language, the “first meeting” (and the set of “first impressions”) constitute the “baptism” of the personal (or social) connection. In social media especially, the nature of social connections tends to be monovalent enough that this “baptism event” gains special significance.

The online construction of social networks relies on a finite number of dimensions, including personal characteristics described in a profile, indirect connections (FOAF), shared interests, textual content, geographical location, and participation in certain activities. Depending on a variety of personal factors, people may be quite inclusive or rather exclusive, based on those dimensions. “I follow back everyone who lives in Austin” or “Only people I have met in person can belong to my inner circle.” The sophistication with which online personal connections are negotiated, along such dimensions, is a thing of beauty. In view of this sophistication, tools used in social media seem relatively crude and underdeveloped.

Going back to the (un)conference concept, the usefulness of having access to a list of all participants in a given event seems quite obvious. In an open event like BarCamp, it could greatly facilitate the event’s logistics. In a closed event with paid access, it could be linked to registration (despite geek resistance, closed events serve a purpose; one could even imagine events where attendance is free but the microblogging backchannel incurs a cost). In some events, everybody would be visible to everybody else. In others, there could be a sort of ACL for diverse types of participants. In some cases, people could be allowed to “lurk” without being seen while in others radically transparency could be enforced. For public events with all participants visible, lists of participants could be archived and used for several purposes (such as assessing which sessions in a conference are more popular or “tracking” event regulars).

One reason I keep thinking about event-specific microblogging is that I occasionally use microblogging like others use business cards. In a geek crowd, I may ask for someone’s Twitter username in order to establish a connection with that person. Typically, I will start following that person on Twitter and find opportunities to communicate with that person later on. Given the possibility for one-way relationships, it establishes a social connection without requiring personal involvement. In fact, that person may easily ignore me without the danger of a face threat.

If there were event-specific instances from microblogging platforms, we could manage connections and profiles in a more sophisticated way. For instance, someone could use a barebones profile for contacts made during an impersonal event and a full-fledged profile for contacts made during a more “intimate” event. After noticing a friend using an event-specific business card with an event-specific email address, I got to think that this event microblogging idea might serve as a way to fill a social need.

 

More than most of my other blogposts, I expect comments on this one. Objections are obviously welcomed, especially if they’re made thoughtfully (like my PodMtl friend made them). Suggestions would be especially useful. Or even questions about diverse points that I haven’t addressed (several of which I can already think about).

So…

 

What do you think of this idea of event-based microblogging? Would you use a microblogging instance linked to an event, say at an unconference? Can you think of fun features an event-based microblogging instance could have? If you think about similar ideas you’ve seen proposed online, care to share some links?

 

Thanks in advance!


Escaping Emoticons/Smilies in WordPress

I like to keep the emoticons conversion on my blog as a whole but there are occasions in which specific strings should not be converted to emoticons. The most recent instance on my blog came in a comment.

Found the answer here:

WordPress – Prevent Smileys In Code Quotes

One method is to use spaces, but extra spaces are distracting. So, the best way is to replace the parenthesis with its ASCII code: “& #41;” (without quotes or space).

A bit hacky, but useful.


My Year in Social Media

In some ways, this post is a belated follow-up to my last blogpost about some of my blog statistics:

Almost 30k « Disparate.

In the two years since I published that post, I’ve received over 100 000 visits on this blog and I’ve diversified my social media activities.

Altogether, 2008 has been an important year, for me, in terms of social media. I began the year in Austin, TX and moved back to Quebec in late April. Many things have happened in my personal life and several of them have been tied to my social media activities.

The most important part of my social media life, through 2008 as through any year, is the contact I have with diverse people. I’ve met a rather large number of people in 2008 and some of these people have become quite important in my life. In fact, there are people I have met in 2008 whose impact on my life makes it feel as though we have been friends for quite a while. Many of these contacts have happened through social media or, at least, they have been mediated online. As a “people person,” a social butterfly, a humanist, and a social scientist, I care more about these people I’ve met than about the tools I’ve used.

Obviously, most of the contacts I’ve had through the year were with people I already knew. And my relationship with many of these people has changed quite significantly through the year. As is obvious for anyone who knows me, 2008 has been an important year in my personal life. A period of transition. My guess is that 2009 will be even more important, personally.

But this post is about my social media activities. Especially about (micro)blogging and about social networking, in my case. I also did a couple of things in terms of podcasting and online video, but my main activities online tend to be textual. This might change a bit in 2009, but probably not much. I expect 2009 to be an “incremental evolution” in terms of my social media activities. In fact, I mostly want to intensify my involvement in social media spheres, in continuity with what I’ve been doing in 2008.

So it’s the perfect occasion to think back about 2008.

Perhaps my main highlight of 2008 in terms of social media is Twitter. You can say I’m a late adopter to Twitter. I’ve known about it since it came out and I probably joined Twitter a while ago but I really started using it in preparation for SXSWi and BarCampAustin, in early March of this year. As I wanted to integrate Austin’s geek scene and Twitter clearly had some importance in that scene, I thought I’d “play along.” Also, I didn’t have a badge for SXSWi but I knew I could learn about off-festival events through Twitter. And Twitter has become rather important, for me.

For one thing, it allows me to make a distinction between actual blogposts and short thoughts. I’ve probably been posting fewer blog entries since I became active on Twitter and my blogposts are probably longer, on average, than they were before. In a way, I feel it enhances my blogging experience.

Twitter also allows me to “take notes in public,” a practise I find surprisingly useful. For instance, when I go to some kind of presentation (academic or otherwise) I use Twitter to record my thoughts on both the event and the content. This practise is my version of “liveblogging” and I enjoy it. On several occasions, these liveblogging sessions have been rather helpful. Some “tweeps” (Twitter+peeps) dislike this kind of liveblogging practise and claim that “Twitter isn’t meant for this,” but I’ve had more positive experiences through liveblogging on Twitter than negative ones.

The device which makes all of this liveblogging possible, for me, is the iPod touch I received from a friend in June of this year. It has had important implications for my online life and, to a certain extent, the ‘touch has become my primary computer. The iTunes App Store, which opened its doors in July, has changed the game for me as I was able to get a number of dedicated applications, some of which I use several times a day. I’ve blogged about several things related to the iPod touch and the whole process has changed my perspective on social media in general. Of course, an iPhone would be an even more useful tool for me: SMS, GPS, camera, and ubiquitous Internet are all useful features in connection to social media. But, for now, the iPod touch does the trick. Especially through Twitter and Facebook.

One tool I started using quite frequently through the year is Ping.fm. I use it to post to: Twitter, Identi.ca, Facebook, LinkedIn, Brightkite, Jaiku, FriendFeed, Blogger, and WordPress.com (on another blog). I receive the most feedback on Facebook and Twitter but I occasionally get feedback through the other services (including through Pownce, which was recently sold). One thing I notice through this cross-posting practise is that, on these different services, the same activity has a range of implications. For instance, while I’m mostly active on Twitter, I actually get more out of Facebook postings (status updates, posted items, etc.). And reactions on different services tend to be rather different, as the relationships I have with people who provide that feedback tend to range from indirect acquaintance to “best friend forever.” Given my social science background, I find these differences quite interesting to think about.

One thing I’ve noticed on Twitter is that my “ranking among tweeps” has increased very significantly. On Twinfluence, my rank has gone as high as the 86th percentile (though it recently went down to the 79th percentile) while, on Twitter Grader, my “Twitter grade” is now at a rather unbelievable 98.1%. I don’t tend to care much about “measures of influence” but I find these ratings quite interesting. One reason is that they rely on relatively sophisticated concepts from social sciences. Another reason is that I’m intrigued by what causes increases in my ranking on those services. In this case, I think the measures give me way too much credit at this point but I also think that my “influence” is found outside of Twitter.

One “sphere of influence” which remained important for me through 2008 is Facebook. While Facebook had a more central role in my life through 2007, it now represents a stable part of my social media involvement. One thing which tends to happen is that first contacts happen through Twitter (I often use it as the equivalent of a business card during event) and Facebook represents a second step in the relationship. In a way, this distinction foregrounds the obvious concept of “intimacy” in social media. Twitter is public, ties are weak. Facebook is intimate, ties are stronger. On the other hand, there seems to be much more clustering among my tweeps than among my Facebook contacts, in part because my connection to local geek scenes in Austin and Montreal happens primarily through Twitter.

Through Facebook I was able to organize a fun little brunch with a few friends from elementary school. Though this brunch may not have been the most important event of 2008, for me, I’ve learnt a lot about the power of social media through contacting these friends, meeting them, and thinking about the whole affair.

In a way, Twitter and Facebook have helped me expand my social media activities in diverse directions. But most of the important events in my social media life in 2008 have been happening offline. Several of these events were unconferences and informal events happening around conferences.

My two favourite events of the year, in terms of social media, were BarCampAustin and PodCamp Montreal. Participating in (and observing) both events has had some rather profound implications in my social media life. These two unconferences were somewhat different but both were probably as useful, to me. One regret I have is that it’s unlikely that I’ll be able to attend BarCampAustinIV now that I’ve left Austin.

Other events have happened throughout 2008 which I find important in terms of social media. These include regular meetings like Yulblog, Yulbiz, and PodMtl. There are many other events which aren’t necessarily tied to social media but that I find interesting from a social media perspective. The recent Infopresse360 conference on innovation (with Malcolm Gladwell as keynote speaker) and a rather large number of informal meetups with people I’ve known through social media would qualify.

Despite the diversification of my social media life through 2008, blogging remains my most important social media activity. I now consider myself a full-fledged blogger and I think that my blog is representative of something about me.

Simply put, I’m proud to be a blogger. 

In 2008, a few things have happened through my blog which, I think, are rather significant. One is that someone who found me through Google contacted me directly about a contract in private-sector ethnography. As I’m currently going through professional reorientation, I take this contract to be rather significant. It’s actually possible that the Google result this person noticed wasn’t directly about my blog (the ranking of my diverse online profiles tends to shift around fairly regularly) but I still associate online profiles with blogging.

A set of blog-related occurences which I find significant has to do with the fact that my blog has been at the centre of a number of discussions with diverse people including podcasters and other social media people. My guess is that some of these discussions may lead to some interesting things for me in 2009.

Through 2008, this blog has become more anthropological. For several reasons, I wish to maintain it as a disparate blog, a blog about disparate topics. But it still participates in my gaining some recognition as an anthroblogger. One reason is that anthrobloggers are now more closely connected than before. Recently, anthroblogger Daniel Lende has sent a call for nominations for the best of the anthro blogosphere which he then posted as both a “round up” and a series of prizes. Before that, Savage Minds had organized an “awards ceremony” for an academic conference. And, perhaps the most important dimension of my ow blog being recognized in the anthroblogosphere, I have been discussing a number of things with Concordia-based anthrobloggers Owen Wiltshire and Maximilian Forte.

Still, anthropology isn’t the most prominent topic on this blog. In fact, my anthro-related posts tend to receive relatively little attention, outside of discussions with colleagues.

Since I conceive of this post as a follow-up on posts about statistics, I’ve gone through some of my stats here on Disparate.  Upgrades to  Wordpress.com also allow me to get a more detailed picture of what has been happening on this blog.

Through 2008, I’ve received over 55 131 hits on this blog, about 11% more than in 2007 for an average of 151 hits a day (I actually thought it was more but there are some days during which I receive relatively few hits, especially during weekends). The month I received the most hits was February 2007 with 5 967 hits but February and March 2008 were relatively close. The day I received the most hits was October 28, 2008, with 310 hits. This was the day after Myriade opened.

These numbers aren’t so significant. For one thing, hits don’t imply that people have read anything on my blog. Since all of my blogs are ad-free, I haven’t tried to increase traffic to this blog. But it’s still interesting to notice a few things.

The most obvious thing is that hits to rather silly posts are much more frequent than hits to posts I actually care about.

For instance, my six blogposts with the most hits:

Title Hits  
Facebook Celebs and Fakes 5 782 More stats
emachines Power Supply 4 800 More stats
Recording at 44.1 kHz, 16b with iPod 5G? 2 834 More stats
Blogspot v. WordPress.com, Blogger v. Wo 2 571 More stats
GERD and Stress 2 377 More stats
University Rankings and Diversity 2 219 More stats

And for 2008:

Title Hits  
Facebook Celebs and Fakes 3 984 More stats
emachines Power Supply 2 265 More stats
AT&T Yahoo Pro DSL to Belkin WiFi 1 527 More stats
GERD and Stress 1 430 More stats
Blogspot v. WordPress.com, Blogger v. Wo 1 151 More stats
University Rankings and Diversity 995 More stats

The Facebook post I wrote very quickly in July 2007. It was a quick reaction to something I had heard. Obviously, the post’s title  is the single reason for that post’s popularity. I get an average of 11 hits a day on that post for 4 001 hits in 2008. If I wanted to increase traffic, I’d post as many of these as possible.

The emachines post is my first post on this new blog (but I did import posts from my previous blog), back in January 2006. It seems to have helped a few people and gets regular traffic (six hits a day, in 2008). It’s not my most thoughtful post but it has its place. It’s still funny to notice that traffic to this blogpost increases even though one would assume it’s less relevant.

Rather unsurprisingly, my post about then-upcoming recording capabilities on the iPod 5G, from March 2006, is getting very few hits. But, for a while, it did get a number of hits (six a day in 2006) and I was a bit puzzled by that.

The AT&T post is my most popular post written in 2008. It was a simple troubleshooting session, like the aforementioned emachines post. These posts might be useful for some people and I occasionally get feedback from people about them. Another practical post regularly getting a few hits is about an inflatable mattress with built-in pump which came without clear instructions.

My post about blogging platform was in fact a repost of a comment I made on somebody else’s blog entry (though the original seems to be lost). From what I can see, it was most popular from June, 2007 through May, 2008. Since it was first posted, WordPress.com has been updated quite a bit and Blogger/Blogspot seems to have pretty much stalled. My comment/blogpost on the issue is fairly straightforward and it has put me in touch with some other bloggers.

The other two blogposts getting the most hits in 2008 are closer to things about which I care. Both entries were written in mid-2006 and are still relevant. The rankings post is short on content, but it serves as an “anchor” for some things I like to discuss in terms of educational institutions. The GERD post is among my most personal posts on this blog, especially in English. It’s one of the posts for which I received the most feedback. My perspective on the issue hasn’t changed much in the meantime.