Category Archives: technology

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..

Advertisements

I Hate Books

In a way, this is a followup to a discussion happening on Facebook after something I posted (available publicly on Twitter): “(Alexandre) wishes physical books a quick and painfree death. / aime la connaissance.”

As I expected, the reactions I received were from friends who are aghast: how dare I dismiss physical books? Don’t I know no shame?

Apparently, no, not in this case.

And while I posted it as a quip, it’s the result of a rather long reflection. It’s not that I’m suddenly anti-books. It’s that I stopped buying several of the “pro-book” arguments a while ago.

Sure, sure. Books are the textbook case of technlogy which needs no improvement. eBooks can’t replace the experience of doing this or that with a book. But that’s what folkloristics defines as a functional shift. Like woven baskets which became objects of nostalgia, books are being maintained as the model for a very specific attitude toward knowledge construction based on monolithic authored texts vetted by gatekeepers and sold as access to information.

An important point, here, is that I’m not really thinking about fiction. I used to read two novel-length works a week (collections of short stories, plays…), for a period of about 10 years (ages 13 to 23). So, during that period, I probably read about 1,000 novels, ranging from Proust’s Recherche to Baricco’s Novecentoand the five books of Rabelais’s Pantagruel series. This was after having read a fair deal of adolescent and young adult fiction. By today’s standards, I might be considered fairly well-read.

My life has changed a lot, since that time. I didn’t exactly stop reading fiction but my move through graduate school eventually shifted my reading time from fiction to academic texts. And I started writing more and more, online and offline.
In the same time, the Web had also been making me shift from pointed longform texts to copious amounts of shortform text. Much more polyvocal than what Bakhtin himself would have imagined.

(I’ve also been shifting from French to English, during that time. But that’s almost another story. Or it’s another part of the story which can reamin in the backdrop without being addressed directly at this point. Ask, if you’re curious.)
The increase in my writing activity is, itself, a shift in the way I think, act, talk… and get feedback. See, the fact that I talk and write a lot, in a variety of circumstances, also means that I get a lot of people to play along. There’s still a risk of groupthink, in specific contexts, but one couldn’t say I keep getting things from the same perspective. In fact, the very Facebook conversation which sparked this blogpost is an example, as the people responding there come from relatively distant backgrounds (though there are similarities) and were not specifically queried about this. Their reactions have a very specific value, to me. Sure, it comes in the form of writing. But it’s giving me even more of something I used to find in writing: insight. The stuff you can’t get through Google.

So, back to books.

I dislike physical books. I wish I didn’t have to use them to read what I want to read. I do have a much easier time with short reading sessions on a computer screen that what would turn into rather long periods of time holding a book in my hands.

Physical books just don’t do it for me, anymore. The printing press is, like, soooo 1454!

Yes, books had “a good run.” No, nothing replaces them. That’s not the way it works. Movies didn’t replace theater, television didn’t replace radio, automobiles didn’t replace horses, photographs didn’t replace paintings, books didn’t replace orality. In fact, the technology itself doesn’t do much by itself. But social contexts recontextualize tools. If we take technology to be the set of both tools and the knowledge surrounding it, technology mostly goes through social processes, since tool repertoires and corresponding knowledge mostly shift in social contexts, not in their mere existence. Gutenberg’s Bible was a “game-changer” for social, as well as technical reasons.

And I do insist on orality. Journalists and other “communication is transmission of information” followers of Shannon&Weaver tend to portray writing as the annihilation of orality. How long after the invention of writing did Homer transfer an oral tradition to the writing media? Didn’t Albert Lord show the vitality of the epic well into the 20th Century? Isn’t a lot of our knowledge constructed through oral means? Is Internet writing that far, conceptually, from orality? Is literacy a simple on/off switch?

Not only did I maintain an interest in orality through the most book-focused moments of my life but I probably care more about orality now than I ever did. So I simply cannot accept the idea that books have simply replaced the human voice. It doesn’t add up.

My guess is that books won’t simply disappear either. There should still be a use for “coffee table books” and books as gifts or collectables. Records haven’t disappeared completely and CDs still have a few more days in dedicated stores. But, in general, we’re moving away from the “support medium” for “content” and more toward actual knowledge management in socially significant contexts.

In these contexts, books often make little sense. Reading books is passive while these contexts are about (hyper-)/(inter-)active.

Case in point (and the reason I felt compelled to post that Facebook/Twitter quip)…
I hear about a “just released” French book during a Swiss podcast. Of course, it’s taken a while to write and publish. So, by the time I heard about it, there was no way to participate in the construction of knowledge which led to it. It was already “set in stone” as an “opus.”

Looked for it at diverse bookstores. One bookstore could eventually order it. It’d take weeks and be quite costly (for something I’m mostly curious about, not depending on for something really important).

I eventually find it in the catalogue at BANQ. I reserve it. It wasn’t on the shelves, yet, so I had to wait until it was. It took from November to February. I eventually get a message that I have a couple of days to pick up my reservation but I wasn’t able to go. So it went back on the “just released” shelves. I had the full call number but books in that section aren’t in their call number sequence. I spent several minutes looking back and forth between eight shelves to eventually find out that there were four more shelves in the “humanities and social sciences” section. The book I was looking was on one of those shelves.

So, I was able to borrow it.

Phew!

In the metro, I browse through it. Given my academic reflex, I look for the back matter first. No bibliography, no index, a ToC with rather obscure titles (at random: «Taylor toujours à l’œuvre»/”Taylor still at work,” which I’m assuming to be a reference to continuing taylorism). The book is written by two separate dudes but there’s no clear indication of who wrote what. There’s a preface (by somebody else) but no “acknowledgments” section, so it’s hard to see who’s in their network. Footnotes include full URLs to rather broad sites as well as “discussion with <an author’s name>.” The back cover starts off with references to French popular culture (including something about “RER D,” which would be difficult to search). Information about both authors fits in less than 40 words (including a list of publication titles).

The book itself is fairly large print, ways almost a pound (422g, to be exact) for 327 pages (including front and back matter). Each page seems to be about 50 characters per line, about 30 lines per page. So, about half a million characters or 3500 tweets (including spaces). At 5+1 characters per word, about 80,000 words (I have a 7500-words blogpost, written in an afternoon). At about 250 words per minute, about five hours of reading. This book is listed at 19€ (about 27CAD).
There’s no direct way to do any “postprocessing” with the text: no speech synthesis for visually impaired, concordance analysis, no machine translation, even a simple search for occurences of “Sarkozy” is impossible. Not to mention sharing quotes with students or annotating in an easy-to-retrieve fashion (à la Diigo).

Like any book, it’s impossible to read in the dark and I actually have a hard time to find a spot where I can read with appropriate lighting.

Flipping through the book, I get the impression that there’s some valuable things to spark discussions, but there’s also a whole lot of redundancy with frequent discussions on the topic (the Future of Journalism, or #FoJ, as a matter of fact). My guesstimate is that, out of 5 hours of reading, I’d get at most 20 pieces of insight that I’d have exactly no way to find elsewhere. Comparable books to which I listened as audiobooks, recently, had much less. In other words, I’d have at most 20 tweets worth of things to say from the book. Almost a 200:1 compression.
Direct discussion with the authors could produce much more insight. The radio interviews with these authors already contained a few insight hints, which predisposed me to look for more. But, so many months later, without the streams of thought which animated me at the time, I end up with something much less valuable than what I wanted to get, back in November.

Bottomline: Books aren’t necessarily “broken” as a tool. They just don’t fit my life, anymore.


Why I Need an iPad

I’m one of those who feel the iPad is the right tool for the job.

This is mostly meant as a reply to this blogthread. But it’s also more generally about my personal reaction to Apple’s iPad announcement.

Some background.

I’m an ethnographer and a teacher. I read a fair deal, write a lot of notes, and work in a variety of contexts. These days, I tend to spend a good amount of time in cafés and other public places where I like to work without being too isolated. I also commute using public transit, listen to lots of podcast, and create my own. I’m also very aural.

I’ve used a number of PDAs, over the years, from a Newton MessagePad 130 (1997) to a variety of PalmOS devices (until 2008). In fact, some people readily associated me with PDA use.

As soon as I learnt about the iPod touch, I needed one. As soon as I’ve heard about the SafariPad, I wanted one. I’ve been an intense ‘touch user since the iPhone OS 2.0 release and I’m a happy camper.

(A major reason I never bought an iPhone, apart from price, is that it requires a contract.)

In my experience, the ‘touch is the most appropriate device for all sorts of activities which are either part of an other activity (reading during a commute) or are simply too short in duration to constitute an actual “computer session.” You don’t “sit down to work at your ‘touch” the way you might sit in front of a laptop or desktop screen. This works great for “looking up stufff” or “checking email.” It also makes a lot of sense during commutes in crowded buses or metros.

In those cases, the iPod touch is almost ideal. Ubiquitous access to Internet would be nice, but that’s not a deal-breaker. Alternative text-input methods would help in some cases, but I do end up being about as fast on my ‘touch as I was with Graffiti on PalmOS.

For other tasks, I have a Mac mini. Sure, it’s limited. But it does the job. In fact, I have no intention of switching for another desktop and I even have an eMachines collecting dust (it’s too noisy to make a good server).

What I miss, though, is a laptop. I used an iBook G3 for several years and loved it. For a little while later, I was able to share a MacBook with somebody else and it was a wonderful experience. I even got to play with the OLPC XO for a few weeks. That one was not so pleasant an experience but it did give me a taste for netbooks. And it made me think about other types of iPhone-like devices. Especially in educational contexts. (As I mentioned, I’m a teacher)

I’ve been laptop-less for a while, now. And though my ‘touch replaces it in many contexts, there are still times when I’d really need a laptop. And these have to do with what I might call “mobile sessions.”

For instance: liveblogging a conference or meeting. I’ve used my ‘touch for this very purpose on a good number of occasions. But it gets rather uncomfortable, after a while, and it’s not very fast. A laptop is better for this, with a keyboard and a larger form factor. But the iPad will be even better because of lower risks of RSI. A related example: just imagine TweetDeck on iPad.

Possibly my favourite example of a context in which the iPad will be ideal: presentations. Even before learning about the prospect of getting iWork on a tablet, presentations were a context in which I really missed a laptop.

Sure, in most cases, these days, there’s a computer (usually a desktop running XP) hooked to a projector. You just need to download your presentation file from Slideshare, show it from Prezi, or transfer it through USB. No biggie.

But it’s not the extra steps which change everything. It’s the uncertainty. Even if it’s often unfounded, I usually get worried that something might just not work, along the way. The slides might not show the same way as you see it because something is missing on that computer or that computer is simply using a different version of the presentation software. In fact, that software is typically Microsoft PowerPoint which, while convenient, fits much less in my workflow than does Apple Keynote.

The other big thing about presentations is the “presenter mode,” allowing you to get more content than (or different content from) what the audience sees. In most contexts where I’ve used someone else’s computer to do a presentation, the projector was mirroring the computer’s screen, not using it as a different space. PowerPoint has this convenient “presenter view” but very rarely did I see it as an available option on “the computer in the room.” I wish I could use my ‘touch to drive presentations, which I could do if I installed software on that “computer in the room.” But it’s not something that is likely to happen, in most cases.

A MacBook solves all of these problems. and it’s an obvious use for laptops. But how, then, is the iPad better? Basically because of interface. Switching slides on a laptop isn’t hard, but it’s more awkward than we realize. Even before watching the demo of Keynote on the iPad, I could simply imagine the actual pleasure of flipping through slides using a touch interface. The fit is “natural.”

I sincerely think that Keynote on the iPad will change a number of things, for me. Including the way I teach.

Then, there’s reading.

Now, I’m not one of those people who just can’t read on a computer screen. In fact, I even grade assignments directly from the screen. But I must admit that online reading hasn’t been ideal, for me. I’ve read full books as PDF files or dedicated formats on PalmOS, but it wasn’t so much fun, in terms of the reading process. And I’ve used my ‘touch to read things through Stanza or ReadItLater. But it doesn’t work so well for longer reading sessions. Even in terms of holding the ‘touch, it’s not so obvious. And, what’s funny, even a laptop isn’t that ideal, for me, as a reading device. In a sense, this is when the keyboard “gets in the way.”

Sure, I could get a Kindle. I’m not a big fan of dedicated devices and, at least on paper, I find the Kindle a bit limited for my needs. Especially in terms of sources. I’d like to be able to use documents in a variety of formats and put them in a reading list, for extended reading sessions. No, not “curled up in bed.” But maybe lying down in a sofa without external lighting. Given my experience with the ‘touch, the iPad is very likely the ideal device for this.

Then, there’s the overall “multi-touch device” thing. People have already been quite creative with the small touchscreen on iPhones and ‘touches, I can just imagine what may be done with a larger screen. Lots has been said about differences in “screen real estate” in laptop or desktop screens. We all know it can make a big difference in terms of what you can display at the same time. In some cases, two screens isn’t even a luxury, for instance when you code and display a page at the same time (LaTeX, CSS…). Certainly, the same qualitative difference applies to multitouch devices. Probably even more so, since the display is also used for input. What Han found missing in the iPhone’s multitouch was the ability to use both hands. With the iPad, Han’s vision is finding its space.

Oh, sure, the iPad is very restricted. For instance, it’s easy to imagine how much more useful it’d be if it did support multitasking with third-party apps. And a front-facing camera is something I was expecting in the first iPhone. It would just make so much sense that a friend seems very disappointed by this lack of videoconferencing potential. But we’re probably talking about predetermined expectations, here. We’re comparing the iPad with something we had in mind.

Then, there’s the issue of the competition. Tablets have been released and some multitouch tablets have recently been announced. What makes the iPad better than these? Well, we could all get in the same OS wars as have been happening with laptops and desktops. In my case, the investment in applications, files, and expertise that I have made in a Mac ecosystem rendered my XP years relatively uncomfortable and me appreciate returning to the Mac. My iPod touch fits right in that context. Oh, sure, I could use it with a Windows machine, which is in fact what I did for the first several months. But the relationship between the iPhone OS and Mac OS X is such that using devices in those two systems is much more efficient, in terms of my own workflow, than I could get while using XP and iPhone OS. There are some technical dimensions to this, such as the integration between iCal and the iPhone OS Calendar, or even the filesystem. But I’m actually thinking more about the cognitive dimensions of recognizing some of the same interface elements. “Look and feel” isn’t just about shiny and “purty.” It’s about interactions between a human brain, a complex sensorimotor apparatus, and a machine. Things go more quickly when you don’t have to think too much about where some tools are, as you’re working.

So my reasons for wanting an iPad aren’t about being dazzled by a revolutionary device. They are about the right tool for the job.


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… 😉


Speculating on Apple’s Touch Strategy

This is mere speculation on my part, based on some rumours.

I’m quite sure that Apple will come up with a video-enabled iPod touch on September 9, along with iTunes 9 (which should have a few new “social networking” features). This part is pretty clear from most rumour sites.

AppleInsider | Sources: Apple to unveil new iPod lineup on September 9.

Progressively, Apple will be adopting a new approach to marketing its touch devices. Away from the “poorperson’s iPhone” and into the “tiny but capable computer” domain. Because the 9/9 event is supposed to be about music, one might guess that there will be a cool new feature or two relating to music. Maybe lyrics display, karaoke mode, or whatever else. Something which will simultaneously be added to the iPhone but would remind people that the iPod touch is part of the iPod family. Apple has already been marketing the iPod touch as a gaming platform, so it’s not a radical shift. But I’d say the strategy is to make Apple’s touch devices increasingly more attractive, without cannibalizing sales in the MacBook family.

Now, I really don’t expect Apple to even announce the so-called “Tablet Mac” in September. I’m not even that convinced that the other devices Apple is preparing for expansion of its touch devices lineup will be that close to the “tablet” idea. But it seems rather clear, to me, that Apple should eventually come up with other devices in this category. Many rumours point to the same basic notion, that Apple is getting something together which will have a bigger touchscreen than the iPhone or iPod touch. But it’s hard to tell how this device will fit, in the grand scheme of things.

It’s rather obvious that it won’t be a rebirth of the eMate the same way that the iPod touch wasn’t a rebirth of the MessagePad. But it would make some sense for Apple to target some educational/learning markets, again, with an easy-to-use device. And I’m not just saying this because the rumoured “Tablet Mac” makes me think about the XOXO. Besides, the iPod touch is already being marketed to educational markets through the yearly “Back to school” program which (surprise!) ends on the day before the September press conference.

I’ve been using an iPod touch (1st Generation) for more than a year, now, and I’ve been loving almost every minute of it. Most of the time, I don’t feel the need for a laptop, though I occasionally wish I could buy a cheap one, just for some longer writing sessions in cafés. In fact, a friend recently posted information about some Dell Latitude D600 laptops going for a very low price. That’d be enough for me at this point. Really, my iPod touch suffices for a lot of things.

Sadly, my iPod touch seems to have died, recently, after catching some moisture. If I can’t revive it and if the 2nd Generation iPod touch I bought through Kijiji never materializes, I might end up buying a 3rd Generation iPod touch on September 9, right before I start teaching again. If I can get my hands on a working iPod touch at a good price before that, I may save the money in preparation for an early 2010 release of a new touch device from Apple.

Not that I’m not looking at alternatives. But I’d rather use a device which shares enough with the iPod touch that I could migrate easily, synchronize with iTunes, and keep what I got from the App Store.

There’s a number of things I’d like to get from a new touch device. First among them is a better text entry/input method. Some of the others could be third-party apps and services. For instance, a full-featured sharing app. Or true podcast synchronization with media annotation support (à la Revver or Soundcloud). Or an elaborate, fully-integrated logbook with timestamps, Twitter support, and outlining. Or even a high-quality reference/bibliography manager (think RefWorks/Zotero/Endnote). But getting text into such a device without a hardware keyboard is the main challenge. I keep thinking about all sorts of methods, including MessagEase and Dasher as well as continuous speech recognition (dictation). Apple’s surely thinking about those issues. After all, they have some handwriting recognition systems that they aren’t really putting to any significant use.

Something else which would be quite useful is support for videoconferencing. Before the iPhone came out, I thought Apple may be coming out with iChat Mobile. Though a friend announced the iPhone to me by making reference to this, the position of the camera at the back of the device and the fact that the original iPhone’s camera only supported still pictures (with the official firmware) made this dream die out, for me. But a “Tablet Mac” with an iSight-like camera and some form of iChat would make a lot of sense, as a communication device. Especially since iChat already supports such things as screen-sharing and slides. Besides, if Apple does indeed move in the direction of some social networking features, a touch device with an expanded Address Book could take a whole new dimension through just a few small tweaks.

This last part I’m not so optimistic about. Apple may know that social networking is important, at this point in the game, but it seems to approach it with about the same heart as it approached online services with eWorld, .Mac, and MobileMe. Of course, they have the tools needed to make online services work in a “social networking” context. But it’s possible that their vision is clouded by their corporate culture and some remnants of the NIH problem.

Ah, well…


Actively Reading: “Teach Naked” sans PowerPoint

Some Diigo comments on a Chronicle piece on moving lectures out of the classroom. (Or, if you ask the piece’s author and some commenters, on PowerPoint as a source of boredom.)

I’d like to transform some of my own comments in a standalone blog entry, especially given the discussions Pamthropologist and I have been having through comments on her blog and mine. (And I just noticed Pamthropologist had written her own blogpost about this piece…) As I’m preparing for the Fall semester, I tend to think a lot about learning and teaching but I also get a bit less time.

Semi-disclaimer: John Bentley, instructional developer and programme coordinator at Concordia’s CTLS pointed me to this piece. John used to work for the Open University and the BBC. Together, John and I are currently developing a series of workshops on the use of online tools in learning and teaching. We’ve been discussing numerous dimensions of the connection between learning, teaching, and online tools. Our current focus is on creating communities of learners. One thing that I find especially neat about this collaboration is that our perspectives and spheres of expertise are quite different. Makes for interesting and thoughtful discussions.

‘Teach Naked’ Effort Strips Computers From Classrooms – Technology – The Chronicle of Higher Education

  • Not to be too snarky but… I can’t help but feel this is typical journalism. Take a complex issue, get a diverse array of comments on it, boil it down to an overly simplistic point about some polarizing question (PPT: is it evil?). Tadaa! You got an article and you’ve discouraged critical thinking.Sorry. I’m bad. I really shouldn’t go there.But I guess I’m disappointed in myself. When I first watched the video interview, I was reacting fairly strongly against Bowen. After reading (very actively!) the whole piece, I now realize that Jeff Young is the one who set the whole thing up.The problem with this is that I should know better. Right?Well, ok, I wasn’t that adamantly opposed to Bowen. I didn’t shout at my computer screen or anything. But watching the video interview again, after reading the piece, I notice that I interpret as much more open a discussion than the setup made it sound like. In other words, I went from thinking that Bowen was imposing a radical view on members of his faculty to hearing Bowen proposing ideas about ways to cope with social changes surrounding university education.The statement about most on-campus lectures being bad is rather bold, but it’s nothing we haven’t heard and it’s a reasonable comment to make in such a context. The stronger statement against PPT is actually weakened by Bowen himself in two ways: he explicitly talks about using PPT online and he frames his comment in comparison with podcasts. It then sounds like his problem isn’t with PPT itself. It’s with the use of PPT in the classroom by comparison to both podcasts and PPTs online. He may be wrong about the relative merits of podcasts, online “presentations,” and classroom lectures using PPT. But his opinion is much less radical than what I originally thought.Still, there’s room for much broader discussion of what classroom lectures and PPT presentations imply in teaching. Young’s piece and several Diigo comments on it focus on the value of PPT either in the abstract or through appropriate use. But there’s a lot more ground to cover, including such apparently simple issues as the effort needed to create compelling “presentation content” or students’ (and future employers’) expectations about PPT presentations.
  • Mr. Bowen wants to discourage professors from using PowerPoint, because they often lean on the slide-display program as a crutch rather using it as a creative tool.
    • damn you got there first! comment by dean groom
    • I think the more important point that’s being made by the article – is something that many of us in edtech world realised very quickly – that being able to teach well is a prerequisite to being able to effectively and creatively engage technology to help others learn…Powerpoint is probably the most obvious target because oif its ubiquity – but I suspect that there will also be a backlash when the masses start adopting other technologies… they’ll be misused just as effectively as PPT is.When we can assume that all university lecturers/tutors are effective teachers then the argument will be moot… until then we’ll continue to see death by powerpoint and powerpointlessness…I’m a drama teacher and love the idea of active rooms filled with proactive engaged learners… and if we have proactive engaged learners we can more effectively deploy technology in the mix…The world of teaching and learning is far from perfect and expectations seem to be geared towards a paradigm that says : “professors should tell me every last thing I need to know in order to get good grades and if students sat still and shut up long enough they might just learn something useful.”I even had one “lecturer” recently tell me “I’m a subject specialist, why do I need to know about pedagogy?” – sadly he was serious. comment by Kim FLINTOFF
    • On the subject specialist uninterested in pedagogy…It’s not an uncommon perspective, in university teaching. In fact, it might be more common among French-speakers, as most of those I’ve heard say something like this were French-speakers.I reacted quite negatively when I first heard some statement about university teachers not needing pedagogy. Don’t they care about learning?But… Isn’t there a point to be made about “non-pedagogy?”Not trying to be contrarian, here. Not playing devil’s advocate. Nor am I going on the kind of “anti-anti” PoMo mode which seems not to fit too well in English-speaking communities. I’m just thinking about teacher-less learning. And a relativist’s attitude to not judge before I know more. After all, can we safely assume that courses given by someone with such a reluctant attitude to learning pedagogy are inherently bad?There are even some people out there who take constructivism and constructionism to such an extreme that they’d say teachers aren’t needed. To an extent, the OLPC project has been going in that direction. “Students will teach themselves. We don’t need to train teachers or to engage with them in building this project.”There’s also a lot of discussion about learning outside of formal institutions. Including “on-the-job training” but also all sorts of learning strategies which don’t rely on the teacher/student (mentee, apprentice, pupil…) hierarchy. For instance, actual learning occurs in a large set of online activities. Enthusiastic people learn about things that passion them by reading about the subject, participating in online discussions, presenting their work for feedback, etc. Oftentimes, there is a hierarchy in terms of prestige, but it’s mostly negotiated through actions and not set in advance. More like “achieved status” than “ascribed status” (to use a convenient distinction from SOC101 courses). As this kind of training not infrequently leads to interesting careers, we’d be remiss to ignore the trend.Speaking of trends… It’s quite clear that many universities tend toward a more consumer-based approach. Students register and pay tuition to get “credentials” (good grades and impressive degrees). The notion that they might be there to do the actual learning is going by the wayside. In some professional contexts, people are quite explicit about how little they learnt in classrooms. It makes for difficult teaching contexts (especially at prestigious universities in the US), but it’s also something with which people learn to cope.My personal attitude is that “learning happens despite teachers.” I still think teachers make a difference, that we should learn about learners and learning, that pedagogy matters a whole lot. In fact, I’m passionate about pedagogy and I do what I can to improve my teaching.Yet the bottomline is: do people learn? If they do, does it matter what pedagogical training the teacher has? This isn’t a rhetorical question. comment by Alexandre Enkerli
  • A study published in the April issue of British Educational Research Journal
  • PowerPoint was one of the dullest methods they saw.
    • Can somebody post links to especially good PowerPoint files? comment by Bill Chapman
    • I don’t think this is really about PPT, but more about blind use of technology. It’s not the software to blame but the user.Also if you’re looking for great PPT examples, check out slideshare.net comment by Dean Shareski
    • Looking forward to reading what their criteria are for boredom.And the exact justification they give for lectures needing not to be boring.Or if they discuss the broad implications of lecturing, as opposed to the many other teaching methods that we use.Now, to be honest, I do use PPT in class. In fact, my PPT slides are the very example of what many people would consider boring: text outlines transformed into bullet points. Usually black on white, without images.But, overall, students seem to find me engaging. In student evaluations, I do get the occasional comment about the course being boring, but that’s also about the book and the nature of what we discuss.I upload these PPT files to Slideshare before going to class. In seminars, I use the PPT file to outline some topics, themes, and questions brought up by students and I upload the updated file after class.The PPT files on Slideshare are embedded into Moodle and serve as “course notes,” in conjunction with the audio recordings from the class meetings. These slides may include material which wasn’t covered in class.During “lecture,” I often spend extend periods of time discussing things with the class as a whole, leaving a slide up as a reminder of the general topic. Going from a bullet point to an extended discussion has the benefit of providing context for the discussion. When I started teaching, several students were saying that I’m “disorganized.” I still get a few comments like that but they’re much less frequent. And I still go on tangents, based on interactions with the group.Once in a while, I refrain from using PPT altogether. Which can lead to interesting challenges, in part because of student expectations and the fact that the screen becomes an indicator that “teaching is going on.”Perhaps a more important point: I try to lecture as little as possible. My upper-level courses are rapidly transformed into seminars. Even in large classes, the last class meetings of the semester involve just a few minutes of lecturing.This may all sound like a justification for my teaching method. But it’s also a reaction to the frequent discussions about PPT as evil. I do hate PPT, but I still use it.If only Google Wave could be released soon, we could use it to replace PPT. Wikis and microblogging tools are good and well, but they’re not as efficient in terms of real-time collaboration on complex material. comment by Alexandre Enkerli
  • seminars, practical sessions, and group discussions
  • In other words, tech-free classrooms were the most engaging.
    • Does it follow so directly? It’s quite easy to integrate technology with “seminars, practical sessions, and group discussions.” comment by Alexandre Enkerli
  • better than many older classroom technologies, like slate chalkboards or overhead transparencies
    • Which seems to support a form of technological determinism or, at least, a notion of a somewhat consistent improvement in the use of tools, if not in the tools themselves. comment by Alexandre Enkerli
  • But technology has hardly revolutionized the classroom experience for most college students, despite millions of dollars in investment and early predictions that going digital would force professors to rethink their lectures and would herald a pedagogical renaissance.
    • If so, then it’s only because profs aren’t bringing social technologies into their classrooms. Does the author of this article understand what’s current in ed tech? comment by Shelly Blake-Plock
    • the problem here is that in higher education, student satisfaction drives a service mentality – and students WANT summised PPTs and the want PODCASTS. Spoooon feeeeeed me – for I am paying. comment by dean groom
    • A rather broad statement which might be difficult to support with evidence.If we look at “classroom experience” in different contexts, we do notice large differences. Not necessarily in a positive sense. Technology is an integral part of all sorts of changes happening in, around, and away from the classroom.It would be quite different if that sentence said: “But institutional programs based on the adoption of specific tools in the classroom have hardly revolutionized…” It’s still early to assess the effectiveness of these programs, especially if we think about lifelong learning and about ongoing social changes related to technology use. But the statement would make more sense if it were more directly tied to specific programs instead of being a blanket critique of “technology” (left undefined). comment by Alexandre Enkerli
  • dream of shaking up college instruction
    • One of the most interesting parts of the interview with Bowen has to do with the notion that this isn’t, in fact, about following a dream. It’s about remaining relevant in a changing world. There’s a lot about Bowen’s perspective which sounds quite strange, to me. But the notion that universities should “wake up and smell the coffee” is something I wish were the object of more discussion in academic circles. comment by Alexandre Enkerli
  • Here’s the kicker, though: The biggest resistance to Mr. Bowen’s ideas has come from students, some of whom have groused about taking a more active role during those 50-minute class periods.
    • Great points, here. Let’s wish more students were involved in this conversation. It’s not just “about” them.One thing we should probably not forget about student populations is that they’re diverse. Chances are, some students in Meadows are delighted by the discussion focus. Others may be puzzled. It’s likely an adaptation for most of them. And it doesn’t sound like they were ever consulted about those changes. comment by Alexandre Enkerli
  • lecture model is pretty comfortable
    • And, though many of us are quick to criticize it, it’s difficult to avoid in the current systems of formal education in which we work. comment by Alexandre Enkerli
  • cool gadgets
    • The easiest way to dismiss the social role of technology is to call tools “gadgets.” But are these tools really just gadgets? In fact, some tools which are put to good use really aren’t that cool or even new. Are we discussing them enough? Are we aware of how they fit in the grand scheme of things?An obvious example would be cellphones. Some administrators and teachers perceive them as a nuisance. Rather few people talk about educational opportunities with cellphones, even though they already are used by people in different parts of the World to empower themselves and to learn. Negroponte has explicltly dimissed the educational potential of cellphones but the World isn’t waiting for approval from designers. comment by Alexandre Enkerli
  • seasoned performer,
    • There’s a larger point to be about performance in teaching. Including through a reference to Dick Bauman’s “Verbal Art as Performance” or other dimensions of Performance Theory.There’s also a more “mundane” point about a kind of conflict in universities between academic material and performance. In French-speaking universities, at least, it’s not uncommon to hear teachers talk about the necessity to be a “performer” as something of a distraction in teaching. Are teachers in front of the class to entertain students or is the classroom an environment in which to think and learn about difficult concepts? The consumer approach to universities, pushed in part by administrators who run universities like businesses, tends to emphasize the “entertainment paradigm,” hence the whole “boredom” issue.Having said all of this, Bowen’s own attitude goes beyond this simplistic “entertainment paradigm.” In fact, it sounds like he’s specifically not advocating for lectures to become a series of TEDtalks. Judging from the interview, it sounds like he might say that TEDtalk-style presentation should be put online and classroom-time should be devoted to analyzing those presentations.I do consider myself a performer, as I’ve been playing saxophone in a rather broad range of circumstances, from outdoor stages at festivals to concert halls. And my experience as a performer does influence the way I teach large classes. At the same time, it probably makes more salient the distinction between teaching and performing. comment by Alexandre Enkerli
  • The goateed administrator sported a suit jacket over a dark T-shirt
    • Though I’d be the first one to say that context is key, I fail to see what Bowen’s clothes contribute to the discussion. comment by Alexandre Enkerli
  • philosophical argument about the best way to engage students, he grounded it
  • information delivery common in today’s classroom lectures should be recorded and delivered to students as podcasts or online videos before class sessions
    • Fully agreed. Especially if we throw other things in the mix such as journal articles and collaboratively-created learning material. comment by Alexandre Enkerli
  • short online multiple-choice tests.
    • I don’t think he’s using the mc tests with an essessment focus rather an engagement focus – noit necessarily the most sophisticated but done playfully and creatively it can be a good first step to getting reluctatnt students to engage in first instance… comment by Kim FLINTOFF
    • I would also “defend” the use of MCTs in this context. Especially if the stakes are relatively low, the questions are well-crafted, and students do end up engaging.Like PPT, MCTs have some advantages, including because of student expectations.But, of course, it’s rather funny to hear Bowen talk about shaking things up and find out that he uses such tools. Still, the fact that these tests are online (and, one would think, taken outside of class time) goes well with Bowen’s main point about class time vs. tech-enabled work outside of class. comment by Alexandre Enkerli
  • Introduce issues of debate within the discipline and get the students to weigh in based on the knowledge they have from those lecture podcasts, Mr. Bowen says.
    • This wouldn’t be too difficult to do in social sciences and there are scenarios in which it would work wonderfully for lab sciences (if we think of “debate” as something similar to “discussion” sections in scientific articles).At the same time, some people do react negatively to such approaches based not on discipline but on “responsibilities of the university.” Some people even talk about responsibilities toward students’ parents! comment by Alexandre Enkerli
  • But if the student believes they can contribute, they’re a whole lot more motivated to enter the discourse, and to enter the discipline.
    • Sounds a bit like some of the “higher” positions in William Perry’s scheme. comment by Alexandre Enkerli
  • don’t be boring
    • Is boredom induced exclusively by the teacher? Can a student bored during a class meeting still be motivated and engaged in the material at another point? Should we apply the same principle to the readings we assign? Is there a way to efficiently assess the “boredom factor” of an academic article? How can we convince academic publishers that fighting boredom isn’t necessarily done through the addition of pretty pictures? comment by Alexandre Enkerli
  • you need a Ph.D. to figure it out
    • While I agree that these panels are difficult to use and could afford a redesign, the joke about needing a PhD sounds a bit strange in context. comment by Alexandre Enkerli
  • plug in their laptops
    • There’s something of a more general move toward getting people to use their own computers in the workplace. In fact, classroom computers are often so restricted as to be quite cumbersome to use in teaching. comment by Alexandre Enkerli
  • allow students to work in groups more easily
    • Not a bad idea. A good number of classrooms are structured in a way that makes it very hard to get students to do group work. Of course, it’s possible to do group work in any setting, but it’s remarkable how some of these seemingly trivial matters as the type of desk used can be enough to discourage some teachers from using certain teaching strategies. comment by Alexandre Enkerli
  • The classroom computers were old and needed an upgrade when Mr. Bowen arrived, so ditching them instead saved money.
    • Getting into the core of the issue. The reason it’s so important to think about “new ways” to do things isn’t necessarily that “old ways” weren’t conducive to learning. It’s because there are increased pressures on the system and some seem to perceive that cost-cutting and competition from online learning, making the issue so pressing. comment by Alexandre Enkerli
  • eliminate one staff position for a technician
    • Sounds sad, especially since support staff is already undervalued. But, at the same time, it does sound like relatively rational cost-cutting. One would just wish that they replaced that position with, say, teaching support. comment by Alexandre Enkerli
  • gave every professor a laptop
    • Again, this is a rather common practise outside of universities. Knowing how several colleagues think, this may also function as a way to “keep them happy.” comment by Alexandre Enkerli
  • support so they could create their own podcasts and videos.
    • This is where the tech support position which was cut could be useful. Recording and podcasting aren’t difficult to set up or do. But it’s an area where support can mean more than answering questions about which button to press. In fact, podcasting projects are an ideal context for collaboration between tech, teach, and research. comment by Alexandre Enkerli
  • lugging their laptops to class,
    • It can be an issue, especially if there wasn’t a choice in the type of laptop which could be used. comment by Alexandre Enkerli
  • She’s made podcasts for her course on “Critical Scholarship in Communication” that feature interviews she recorded with experts in the field.
    • One cool thing about these podcasting projects is that people can build upon them, one semester after the other. Interviews with practitioners do help provide a multiplicity of voices. And, yes, getting students to produce their own content is often a good way to go, especially if the topic is somehow related to the activity. Getting students in applied communication to create material does sound appropriate. comment by Alexandre Enkerli
  • they come in actually much more informed
    • Sounds effective. Especially since Bowen’s approach seems to be oriented toward pre-class preparation. comment by Alexandre Enkerli
  • if they had been assigned a reading.
    • There’s a lot to be said about this. One reason this method may be more efficient than reading assignments could have to do with the particularities of written language, especially the very formal style of those texts we often assign as readings. Not that students shouldn’t read, of course! But there’s a case to be made for some readings being replaced by oral sources, especially those which have to do with people’s experience in a field. Reading primary source material, integrating some reference texts, and using oral material can all be part of an appropriate set of learning strategies. comment by Alexandre Enkerli
  • created podcast lectures
    • An advantage of such “lecturecasts,” “profcasts,” and “slidecasts” is that they’re relatively easy to build and can be tightly structured. It’s not the end-all of learning material, but it’s a better substitute for classroom lectures than one might think.Still, there’s room for improvement in the technology itself. For instance, it’d be nice to have Revver-style comments in the timeline. comment by Alexandre Enkerli
  • shows movie clips from his laptop
    • This one is slightly surprising because one would expect that these clips could easily be shown, online, ahead of class. It might have to do with the chilling effect of copyright regulation or Heffernan’s strategy of getting “fresh” feedback. There would have been good questions to ask Heffernan in preparation for this piece. comment by Alexandre Enkerli
  • “Strangely enough, the people who are most resistant to this model are the students, who are used to being spoon-fed material that is going to be quote unquote on the test,” says Mr. Heffernan. “Students have been socialized to view the educational process as essentially passive. The only way we’re going to stop that is by radically refiguring the classroom in precisely the way José wants to do it.”
    • This interpretation sounds a tiny bit lopsided. After all, aren’t there students who were already quite active and engaged in the “old system” who have expressed some resistance to the “new system?” Sounds likely to me. But maybe my students are different.One fascinating thing is the level of agreement, among teachers, about the necessity to have students who aren’t passive. I certainly share this opinion but there are teachers in this World who actually do prefer students who are somewhat passive and… “obedient.” comment by Alexandre Enkerli
  • The same sequence of events
    • That part is quite significant: Bowen was already a reformer and already had gone through the process. In this case, he sounds more like one of those CEOs who are hired to save a company from a difficult situation. He originally sounded more like someone who wanted to impose specific views about teaching. comment by Alexandre Enkerli
  • ‘I paid for a college education and you’re not going to lecture?'”
    • A fairly common reaction, in certain contexts. A combination of the infamous “sense of entitlement,” the “customer-based approach to universities,” and student expectations about the way university teaching is supposed to go.One version I’ve had in student evaluations is that the student felt like s/he was hearing too much from other students instead of from me. It did pain me, because of the disconnect between what I was trying to do and that student’s notion of what university courses are supposed to bring her/him. comment by Alexandre Enkerli
  • PowerPoint lecture
    • As a commenter to my blog was saying about lectures in general, some of us (myself included) have been building a straw man. We may have negative attitudes toward certain teaching strategies, including some lecturing techniques. But that shouldn’t prevent us from discussing a wide array of teaching and learning strategies.In this case, it’s remarkable that despite the radical nature of Bowen’s reform, we learn that there are teachers who record PPT-based presentations. It then sounds like the issue isn’t so much about using PPT as it is about what is done in the classroom as opposed to what is done during the rest of the week.Boring or not, PPT lectures, even some which aren’t directly meant to engage students, can still find their place in the “teaching toolbox.” A dogmatic anti-PPT stance (such as the one displayed by this journalist) is unlikely to foster conversations about tools and learning. Based on the fact that teachers are in fact doing PPT lectures to be used outside the classroom, one ends up seeing Bowen’s perspective as much more open than that of the Chronicle’s editorial staff. comment by Alexandre Enkerli
  • Sandi Mann, the British researcher who led the recent study on student attitudes toward teaching, argues that boredom has serious implications in an educational setting.
    • Unsurprising perspective. Wonder if it had any impact on Mann’s research results. Makes the research sound more oriented than one might hope. comment by Alexandre Enkerli
  • according to some studies
  • low-cost online alternatives to the traditional campus experience
    • This could have been the core issue discussed in an article about Bowen. Especially if we are to have a thoughtful conversation about the state of higher education in a changing context. Justification for high tuition fees, the latent functions of “college life,” the likely outcome of “competing with free,” the value of the complete learning experience as opposed to the value of information transmission… comment by Alexandre Enkerli
  • give away videos
    • This is the “competing with free” part, to which record companies have been oblivious for so long but which makes OCW appear like quite a forward-looking proposition. comment by Alexandre Enkerli
  • colleges must make sure their in-person teaching really is superior to those alternatives
    • It’s both a free-market argument, which goes so well with the customer-based approach to learning, and a plea to consider learning in a broader way than the mere transmission of information from authoritative source to passive mass. An old saw, for sure, but one which surprisingly hasn’t been heard by everyone. comment by Alexandre Enkerli
  • add value
    • This might be appropriate language to convince trustees. At some institutions, this might be more important than getting students’ or teachers’ approval. comment by Alexandre Enkerli
  • not being online
    • Although, they do have an online presence. The arguments used have more to do with blended learning than with exclusively face-to-face methods. comment by Alexandre Enkerli
  • might need to stay a low-tech zone to survive.
    • Rubbish there is no reason to dumb down learning; and he obviously is not teaching 2500 students at one time. PPT is not the problem here, and this really is a collection of facile arguements that are not ironically substantiated. Lowering his overhead does not increase student learning – wheres the evidence? comment by dean groom
    • Come to think of it, it sounds like the argument was made more forcefully by Young than by Bowen himself. Bowen is certainly quite vocal but the “need… to survive” sounds a tad bit stronger than Bowen’s project.What’s funny is that the video made Bowen sound almost opinionated. The article makes Young sound like he has his own axe to grind comment by Alexandre Enkerli

WordPress MU, BuddyPress, and bbPress on Local Machine

Was recently able to install and integrate three neat products based on Automattic code:

  1. WordPress µ 2.8.1 (a.k.a. WPµ, WordPress MU… Platform for multi-user blogs and Content Management System).
  2. BuddyPress 1.0.2 (A social network system based on WordPress µ).
  3. bbPress 1.0.1 (A forum system based on WordPress).

Did this after attending WordCamp Montreal. The fact that the large majority of WordPress and WordPress µ are merging motivated me, in part, to try it out. I currently serve as webguru for the Society for Linguistic Anthropology.

This is all on a local machine, a Mac mini running Mac OS X 10.5 Leopard.

It took me several attempts so it might not be as obvious as one would think.

I wrote as detailed a walkthrough as I could. Not exactly for the faint of heart. And, as IANAC, some things aren’t completely clear to me. I wish I could say I’m able to troubleshoot other people’s problems with these systems, but it’s really not the case. I ended up working out diverse issues, but it took me time and concentration.

A few resources I’ve used:

  1. Andy Peatling’s tutorial on BuddyPress (and WordPress µ) on a Mac.
  2. Sam Bauers’s screencast on integrating WordPress and bbPress. (Not µ or BuddyPress. Requires WordPress.org login.)
  3. Trent Adams’s tutorial on BuddyPress/bbPress integration.
  4. This file: <WPinstall>/wp-content/plugins/buddypress/bp-forums/installation-readme.txt (also available here).

I’ve used many other resources, but they turned out to be confusing, partly because of changes in versions. In fact, the last file was the most useful one. It’s a very different method from the other ones, but it worked. It’s actually much simpler than the other methods and it still gave me what I needed. I now have a working installation of a complete platform which integrates blogging, social networking, and forums. In a way, it’s like having simple versions of Drupal and Ning in the same install. Perfect for tests.

Some conventions.

<dbname> commondb
<name> common
<username> alexandre
<bbname> forums
<adminpass> (generated) 5e6aee85e6d4
<blogname> uethnographer
<blogpass> (generated) 601a6100
<confkey> (generated)
  1. [T] refers to things done in Terminal.app
  2. [B] refers to things done in the browser (Safari.app in my case)
  3. Brackets serve to refer to installation-specific items. I could have used variables.
    1. <dbname> is the database name in MySQL (can be anything)
    2. <name> is the name used for the WordPress install (domain/<name>; can be anything)
    3. <username> is the abbreviated username on the local machine. ~<username> would be the user’s home directory. Determined in Mac OS X.
    4. <bbname> is the name for the bbPress install  (domain/<name>/<bbname>; can be anything)
    5. <adminpass> is the password for the WordPress admin (generated)
    6. <blogname> is the main username for a blog administrator (can be anything)
    7. <blogpass> is the password for that blog administrator (generated)
    8. <confkey> is a confirmation key upon creating that blog administrator (generated)

So, here’s what I did.

  1. Switched to a user with administrative rights on my Mac. I usually work with a non-admin user and grant admin privileges when needed. Quite cumbersome in this case.
  2. Opened Terminal.app
  3. Installed and configured MAMP
    1. Downloaded http://downloads.sourceforge.net/mamp/MAMP_1.7.2.dmg.zip and copied the MAMP folder to /Applications
    2. Opened MAMP.app
    3. Changed MAMP preferences
      1. Preferences
      2. Ports: “Default Apache and MySQL ports”
      3. Apache: Choose: /Users/<username>/Sites
      4. Clicked Ok
  4. Clicked “Open home page” in MAMP
  5. Went to phpMyAdmin
  6. Created a database in phpMyAdmin with <dbname> as the name
  7. Edited /etc/hosts to add: 127.0.0.1 localhost.localdomain
  8. Downloaded WordPress µ through Subversion: [T] svn co http://svn.automattic.com/wordpress-mu/branches/2.8 /Users/<username>/Sites/<name>
  9. Went to my local WordPress µ home: [B] http://localhost.localdomain/<name&gt;
  10. Filled in the necessary information
    1. “Use subdirectories” (subdomains would be a huge hassle)
    2. Database name: <dbname>
    3. User Name: root
    4. Password: root (changing it is a huge hassle)
    5. Title (title for the main WPµ install, can be anything)
    6. Email (valid email for the WPµ admin)
    7. Saved changes
  11. Noted <adminpass> for later use (generated and displayed)
  12. Changed file ownership: [T] chmod 755  /Users/<username>/Sites/<name> /Users/<username>/Sites/<name>/wp-content/
  13. Logged into WPµ admin: [B] http://localhost.localdomain/<name>/wp-admin/
    1. User: admin
    2. Password: <adminpass>
  14. Changed plugin options: [B] http://localhost.localdomain/<name>/wp-admin/wpmu-options.php#menu
    1. Plugins: check
    2. “Allow new registrations”: “Enabled. Blogs and user accounts can be created.”
    3. “Add New Users”: Yes
    4. “Upload media button”: Checked Images/Videos/Music
    5. “Blog upload space”: 100MB
    6. Clicked “Update Options”
  15. Installed BuddyPress directly
    1. [B] http://localhost.localdomain/<name>/wp-admin/plugin-install.php?tab=plugin-information&plugin=buddypress&TB_iframe=true&width=640&height=542
    2. Clicked “Install”
    3. Clicked “Activate”
    4. Moved BP themes to the right location: [T] mv /Users/<username>/Sites/<name>/wp-content/plugins/buddypress/bp-themes /Users/<username>/Sites/<name>/wp-content/
    5. Moved the BP Default Home theme to the right location: [T] mv /Users/<username>/Sites/<name>/wp-content/bp-themes/bphome/ /Users/<username>/Sites/<name>/wp-content/themes/
    6. Activated the BP Default Home theme: [B] http://localhost.localdomain/<name>/wp-admin/wpmu-themes.php
      1. Clicked yes on “BuddyPress Default Home Theme”
      2. Clicked Update Themes
    7. Activated the BP theme
      1. [B] http://localhost.localdomain/<name>/wp-admin/themes.php
      2. Clicked “Activate” on “BuddyPress Default Home”
    8. Added widgets to the BP theme
      1. [B] http://localhost.localdomain/<name>/wp-admin/widgets.php
      2. Placed widgets through drag-and-drop
    9. Checked the BuddyPress install: [B] http://localhost.localdomain/<name>
  16. Installed and integrated bbPress
    1. Downloaded bbPress using Subversion: [T] svn co http://svn.automattic.com/bbpress/trunk/ /Users/<username>/Sites/<name>/<bbname>/
    2. Went through the install process: [B] http://localhost.localdomain/<name>/<bbname>/bb-admin/install.php
    3. Go to step 1
    4. Added the following details
      1. Database Name <dbname> (same as WPMU)
      2. Database user root
      3. Database password root
      4. Clicked Save database configuration file
    5. Check for configuration file
    6. Go to Step 2
    7. Added the following details
      1. Add integration settings
      2. Add user database integration settings (without the cookie integration)
      3. User database table prefix wp_
      4. WordPress MU primary blog ID 1
      5. Clicked “Save WordPress integration settings”
    8. Clicked “Go to step 3”
      1. Added the following details
        1. Site Name (Name of the bbPress site, can be anything)
        2. Key Master username admin
        3. First Forum Name (Name of the first forum, can be anything)
        4. Clicked “Save site settings”
    9. Complete the installation
    10. Ignored the warnings
    11. Went through the writing options: [B] http://localhost.localdomain/<name>/<bbname>/bb-admin/options-writing.php
      1. Username: admin
      2. Password: <adminpass>
      3. Clicked on XML-RPC Enable the bbPress XML-RPC publishing protocol.
      4. Clicked “Save changes”
    12. Went to the discussion options: [B] http://localhost.localdomain/<name>/<bbname>/bb-admin/options-discussion.php
      1. “Enable Pingbacks”: “Allow link notifications from other sites.”
      2. Clicked “Save Changes”
    13. Moved the BuddyPress/bbPress integration plugin to the right location: [T] mv /Users/<username>/Sites/<name>/wp-content/plugins/buddypress/bp-forums/bbpress-plugins/buddypress-enable.php /Users/<username>/Sites/<name>/<bbname>/my-plugins/
    14. Went to the bbPress plugin options: [B] http://localhost.localdomain/<name>/<bbname>/bb-admin/plugins.php
      1. Clicked “Activate” on “BuddyPress Support Plugin”
    15. Went to the WPµ site: [B] http://localhost.localdomain/<name>
    16. Clicked “Log Out”
    17. Registered a new user: [B] http://localhost.localdomain/<name>/register
      1. Username <blogname>
      2. Email address (blog administrator’s valid email)
      3. Name (full name of blog administrator, can be anything)
      4. Clicked “Next”
      5. “Blog Title” (name of the blog administrator’s main blog, can be anything)
      6. Clicked “Signup”
      7. Checked for email at blog administrator’s email address
      8. Clicked confirmation link: [B] http://localhost.localdomain/<name>/activate?key=<confkey>
      9. Noted <blogpass> (generated)
      10. Gave administrative rights to the newly created blog administrator: [B] http://localhost.localdomain/<name>/<bbname>/bb-admin/users.php
        1. Logged in with admin/<adminpass>
        2. Clicked on <blogname>: Edit
        3. Clicked on “User Type: Administrator”
        4. Clicked on “Update Profile”
      11. Edited the bbPress configuration file:
        1. [T] open -e /Users/<username>/Sites/<name>/<bbname>/bb-config.php
        2. Added the following:
          1. $bb->bb_xmlrpc_allow_user_switching = true;
          1. (say, after /**#@-*/)
        3. Saved
      12. Went to BuddyPress options: [B] http://localhost.localdomain/<name>/wp-admin/admin.php?page=buddypress/bp-forums/bp-forums-admin.php
        1. Logged in with admin/<adminpass>
        2. Added the following details
          1. bbPress URL: http://localhost.localdomain/<name>/<bbname>/
          1. bbPress username <blogname>
          1. bbPress password <blogpass>
        3. Clicked “Save Settings”
  17. That was it. Phew!

I ended up with a nice testing platform. All plugins I’ve tried so far work quite well, are extremely easy to install, and give me ideas about the SLA’s site.

It was an involved process and I wouldn’t recommend it to anyone who’s afraid of fiddling with a bit of code. But I did try it out and it seems fairly robust as a method. I could almost create a script for this but that’d mean I might receive support requests that I just can’t handle. I could also make a screencast but that’d require software I don’t have (like Snapz Pro). Besides, I think copy paste is easier, if you remember to change the appropriate items. Obviously, anyone who wants to use this procedure as-is should replace all the bracketed items with the appropriate ones for your install. Some are generated during the process, others you can choose (such as the name of the database).

I’m not extremely clear on how secure this install is. But I’m only running it when I need to.

You can ask me questions in the comments but I really can’t guarantee that I’ll have an answer.