Category Archives: edtech

Introducing Participad: Realtime collaboration for WordPress

Today I’m releasing the first public beta of a new WordPress plugin: Participad. Participad integrates an Etherpad Lite install into your WordPress installation, enabling realtime collaboration on the WordPress Dashboard or the front end of your WP site. If you’d like to download Participad, learn more about its features, or play with a demo site, check out participad.org. In the rest of this post, I’ll give some of the technical background about Participad, and some explanation of why it was built.

Participad was developed as part of some work I’m doing for thatcamp.org. If you’ve even been to a THATCamp unconference, you know that the first thing that generally happens in a session is that someone starts a Google Doc for collaborative notes, and tweets the link to the #thatcamp Twitter stream. In one sense, this is great – it’s very much in the spirit of THATCamp to have shared, crowdsourced, online notes for each session. But Google Docs, for all its coolness, is not the ideal tool for the job. For one thing, Google Docs are tied to a user’s account, making it very difficult to assemble a persistent, searchable archive of all THATCamp notes. There’s also the concern of storing user-generated THATCamp content on Google, which is alternatively benificent and malevolent, depending on the swings of the market.

Etherpad provides an ideal solution to the Google Docs conundrum. It’s a free software project that can be locally hosted, giving organizations and admins full control over the software and the data within. Etherpad has recently been rewritten as Etherpad Lite, an implementation in Node.js that is far more lightweight and easy to install than the original Etherpad, and, notably, has a rich REST API for integration with external software. This is what makes Participad possible: Participad uses iframes to display the Etherpad interface inside of WordPress, and then uses the EPL API to sync content between Etherpad Lite pads and the associated WordPress posts.

Participad is shipping today with three “modules”, each of which is a separate implementation of Etherpad Lite in your WP installation:

  • Notepads are the solution to the THATCamp/Google Docs problem described above. Notepads are a WordPress custom post type that can be created and edited from the front end of the blog by any logged-in user. Participad comes with a widget and a shortcode for displaying the Create A Notepad interface. And Participad redirects the Edit link seen on the front end of WP blog posts, so that it leads to a front-end editing interface. Content is synced back to the WP database every two minutes, or whenever a user clicks away from the Edit interface. In the spirit of THATCamp, Notepads can be “linked” to WordPress posts and pages, and a Participad widget can be placed in a sidebar that will display a list of a post’s Notepads. And because Notepads are just a species of WordPress posts, you can access lists of Notepads via an archive page.
  • Frontend is the Participad module that allows you to enable front-end, Etherpad editing for *any* WordPress content type. Turn it on, and the Edit link for any post will lead to an Etherpad interface, embedded in your theme where your static content would normally appear. Participad has a permissions schema that works with your WordPress installation, ensuring that only the users with the proper rights to edit a given piece of content through WP are able to edit that content through Participad as well.
  • Dashboard enables Etherpad editing throughout the Dashboard of your WP installation. All Edit screens – posts, pages, and other posts types – will have their WP editors (the Visual and HTML tabs) swapped out with a Participad tab. Autosave works just like it does in WP, and content is synced back to the WordPress database when you click Publish or Update.

I have a feeling that these three modules will cover most of the potential uses of Etherpad in WP, but if you have an unusual need, Participad is designed to be extensible. Build your own module by extending the Participad_Module class, in your own WordPress plugin.

Full instructions on setting up Participad can be found at http://participad.org/faqs/. Please note that Participad requires a separate Etherpad Lite installation, and for the moment, that installation must be accesible on the same domain as your WP install.

If you’d like to follow development, contribute fixes or improvements, or suggest future features, please visit Participad’s development home at github.com/boonebgorges/participad.

A few highlights from BuddyPress Vancouver 2012

BuddyCamp Vancouver 2012

The first-ever BuddyCamp was held last weekend in Vancouver, in conjuction with WordCamp Vancouver. It was a fantastic event in so many ways. Here are a couple of personal highlights for me:

  • First and foremost, it’s always a thrill to spend face time with people I work with remotely. My Wisconsinite-in-arms John and I have worked closely for years on BuddyPress, and we see each other a few times a year at WP events. I’ve worked with Ray and Bowe for nearly as long, both on free software projects and client work, and this weekend was my first time meeting either in person. The list of other current-and-future-BP-community-members I met IRL for the first time this weekend is too long to spell out here. But there’s no question that these connections were the best part of the event.
  • Had a great time on Hack Day, where I believe I gave props to eight different people in commit messages – several of whom were first-time contributors. Of special note was #4600, which took me and Stéphane Boisvert a good 90 minutes to sort out. That’s the kind of over-each-other’s-shoulders, team bugfixing that I wish I got to do more of.
  • It was a pleasure to have Matt in attendance. Somehow, we’d never managed to meet each other before this weekend. He was generous with his thoughts on the state of BuddyPress and directions for further development, and he was gracious about those points where he and I disgreed (aside from the “intellectually lazy” line ;). Gave me lots to think about.
  • I hesitate to call BuddyPress’s founding developer a “prodigal son”, but it was certainly a kick to commit Andy’s first contribution to the project in several years!

The fact that this kind of event took place in the first place – much less that it was so successful – is, I think, hugely important to BuddyPress. It demonstrates that there’s a vibrant community around the software and its uses, the kind of cohesion that makes meetups like BuddyCamp worth traveling for. So I’d like to extend my sincere thanks to the organizing team of BuddyCamp Vancouver, whose hard work enabled a really incredible weekend for a lot of folks (or at least for me!): Cyri Jones, Joey Kudish, Jill Binder, Roland Frazer, all the BCIT and Capilano University students who helped out, and to the sponsors who made it possible. Thank you all so much!

Now, who’s gonna organize the next BuddyCamp? :)

Antholocheers

Totals

Antholocheers

I’m happy (and, frankly, a little surprised) to announce that my campaign to fund a round of Anthologize development, which ended last night, successfully met its funding goal of $2,500. Donations came from friends and strangers; individuals and organizations; and from the WordPress, ed tech, digital humanities, and other miscellaneous communities of awesomeness. Close to $1,000 (or more, depending on how you count – more on this in a moment) came in within the last 24 hours.

First off: Whoo! And thanks!

Second, here’s an exact breakdown of the funds:

  • The final tally from the Indiegogo campaign was $2,665.
  • I got an email late yesterday from the team in charge of the OpenLab project at CUNY City Tech. They pledged an extremely generous $1,000 for the Anthologize campaign. For bureaucratic reasons, their donation couldn’t come through Indiegogo, so we’ll be working out a different way to deliver the funds.
  • The Roy Rosenzweig Center for History and New Media agreed (amazingly) to match, dollar for dollar, all donations to the campaign. Their contribution comes to $3,665.

This gives us a grand total of $7,330, which translates to about 98 hours of development time. It’s worth saying again: Whoo! And thanks!

Next steps: In the upcoming week or so, I’ll be reaching out to donors to collect any information necessary for their awards: mailing addresses, links to their websites, etc. Over the course of the next few weeks, I’ll be talking to other members of the Anthologize dev team about a roadmap for using these dev resources. And I’ll be starting to work down those 98 hours around the middle of November, when my work schedule eases up a bit. That’s also when I’ll start blogging in earnest about progress on the plugin, as well as some more general thoughts about crowdfunding for this sort of project, about the viability of free software projects not owned by any specific institution, about the role of Anthologize in publishing, and other such philosophical delights. These posts will “sponsored by” the contributors who pitched in $75 or more, which means that I need to write at least 15 of them :)

I’m looking forward to the next stage of Anthologize. I hope you are too – you made it happen.

Three talks in Vancouver

For those Bo(o)neheads who follow me to every event in VW vans, I’ll be giving three talks in Vancouver next month:

  1. BuddyPress: Beyond Facebook Clones, Oct 13, WordCamp Vancouver. I’ll highlight some uses of BP that are not straightforward social networks. (BTW, if you know of any really cool ones, please let me know in the comments!)
  2. Free Software and the University: The Story of the CUNY Academic Commons, Oct 14, BuddyCamp Vancouver. I’ll be using the story of the Commons as an excuse to rant about an allegory about the importance of free software in public schools.
  3. Getting Started with BuddyPress Plugins, Oct 14, BuddyCamp Vancouver. I’ll be giving an overview of what WordPress plugin developers need to know about getting their feet wet with BP plugins.

Help fund a round of Anthologize development

In 2010, I was on the team that built Anthologize, a WordPress plugin for turning your WP content into ebooks. (For more on the project, check out my previous posts on Anthologize.) People continue to be interested in using Anthologize. Just the other day, for example, the nice folks at Profhacker published a post on using Anthologize to build a printable syllabus. When I saw that blog post come through my Twitter stream, my first thought was “Oh boy, here comes another round of bug reports that the team doesn’t have time to address”. Somewhat in jest, I tweeted the following:

I got quite a bit more interest than I expected. In addition to a couple direct inquiries from individuals and organizations, CHNM – where Anthologize was originally prototyped – offered to match, dollar for dollar, any donations to the cause (up to a maximum of $5,000).

So now I’ve got to put my money (or your money!) where my mouth is. I’ve started an Indiegogo campaign where you can pledge any amount to support a round (or more) of development time for Anthologize. Check it out for full details: http://www.indiegogo.com/anthologize. The campaign runs through October 10, and development will start in November.

Please spread the word!

Martha Burtis on hacking a WordPress hacking workshop

Martha Burtis, instructional technologist extraordinnaire at University of Mary Washington, wrote earlier today about some WordPress development workshops she’ll be leading at Universidad del Sagrado Corazón in the upcoming days. She’s responding to my prodding, and in the process, demonstrates with aplomb a few of my central points:

On the overlap between web development and education:

I got into Web design/development years ago because I loved how it allowed me to architect experiences. I got into higher education at the same time because I really do believe that education is one of our society’s highest callings. Blending my passion for education with my passion to craft experiences is basically what drives me [...] I believe strongly that the fundamental nature of the code we work with speaks to the values we’re trying to embrace in the practices that our code enables. I love WordPress because it affords me possibilities. It affords me possibilities because it is open.

On how she plans to frame the technical parts of the workshop:

People are always amazed when they find out I studied English as an undergrad. I never quite understand why. Don’t they know that code is poetry? Seriously, I’m going to talk a bit about the relationship between code and poetry — a relationship that I’ve always found fascinating. I’m also going to talk about code as a tool for building experience. Finally, I’m going to talk about the way our values and politics (small “p”) inhabit the code we work with.

Martha illustrates the value that WPedu can bring to the broader free software project. People working with WordPress inside of the university approach their development (design, etc) with a focus on the user, and the benefits that the open nature of the software bring to the user experience. And people from academic backgrounds are trained to reflect critically on the way that software mediates our relationships with the world and with each other. This is a breath of fresh air in what can sometimes be an overcommercialized and results-focused community. Rock on, Martha!

Bebop is totally rocksteady

File this under “WPedu is killing it right now”.

The team at the Centre for Educational Research and Development at University of Lincoln (UK) has just announced the first public release of Bebop, their new BuddyPress plugin. Read more about the release and about Bebop itself. (Disclaimer – I have done some consultation for the Bebop project, though I’m writing this blog post outside of that consultant role.)

I find Bebop compelling because of what it does, and also because of how it was built. In a nutshell, Bebop is an aggregator for Open Educational Resources, or OERs. ‘OER’ is a term of art among open education folks, referring to learning resources that are available for free use, under an open license. (See OER Commons for a longer definition.) In practice, this can mean anything from videos to lesson plans to games to websites. Bebop is designed to allow members of a BuddyPress community to collect their own OERs from various web services – Twitter, YouTube, Flickr, etc – for display on their BP profiles. It’s a nice demonstration of how BuddyPress can be used as a tool for aggregating work done elsewhere on the web. It also demonstrates another way in which universities can use a free platform like BuddyPress as a non-commercial, locally hosted home for students and faculty, while recognizing that valuable work happens in spaces not under the university’s control. And from a technical point of view, I like how Bebop uses BP’s Activity component and profile metaphors to creative ends.

Bebop was built as part of a “rapid innovation” project. To put the term “rapid” in context: In the context of universities, projects usually move forward glacially. Getting approval and funding may itself take years, and by the time development begins, the original idea/technology is already obsolete. Bebop, in contrast, was conceived and developed over just a couple of months. It’s great to see these kinds of (relatively) rapid projects happening in universities – they can demonstrate to funders the benefits that come along with a bit of agility and risk and freedom.

If you’re running a BuddyPress installation in a university, you might consider taking Bebop for a spin. Get it from the wordpress.org plugin repo or follow development at Github.

WordPress in education, meet the free software community. And vice versa.

There’s a huge, amorphous community of people using WordPress in education. Let’s call it WPedu. There’s another huge community of people involved in the WordPress free software community. Let’s call it WPorg.

WPedu, meet WPorg. WPorg, meet WPedu.

WPorg should know that WPedu is killing it right now

I’d like WPorg to know that WPedu is kicking some serious ass. Take DS106 as an example. DS106 is a distributed course on the topic of Digital Storytelling (that’s the “DS”), where students all over the world – some of whom are enrolled in credit-bearing DS courses at their colleges, some of whom are just tagging along for the ride – use their blogs to complete assignments of various sorts. WordPress, FeedWordPress, BuddyPress, and a bunch of custom hacks are used to aggregate content from hundreds of participants into a single stream. The whole thing is built around the idea of openness: existing, open standards like RSS are being used to federate standalone instances of WordPress (alongside any other system that outputs RSS).

People working on free software – like you, WPorg! – should be flipping out over how awesome that is.

Similarly impressive innovations can be found all over the WPedu world. The innovation is motivated by the love of the work, and by principles: education should be open, individuals should control their data and their online identities, software should be free as in speech. These are the very same principles that are close to the hearts of free software enthusiasts.

People involved in the WPorg community should be spending more effort reaching out to WPedu people. The software developers, instructional technologists, faculty members, and other people working in WPedu are a huge, largely untapped resource for the free software project. People working in K-12 and universities, especially those working in public institutions, often have an incentive (even an imperative) to be sharing their work out to the larger community. (Contrast this with the fact that for-profit WP devs actually have a disincentive to contribute, an issue I wrote about recently.) People in WPedu are experts at piecing systems together, at writing documentation, at community moderation, and so on. They often enjoy flexible job descriptions and fairly loose oversight, and they’re less beholden to financial issues than people working in the private sector. Thus, for many WPedu people, it’d be quite concievable to shoehorn some free software work into their workweek. Most of all, WPedu people are totally awesome people – you have to be pretty awesome to put up with the lackluster pay and ridiculous bureaucracies that education folk have to deal with. Start talking to these awesome people. They have incredible ideas about where WP should go, and they have the resources to help get there.

WPedu should start tooting its own horn

On the flip side: WPedu, you are doing some cool shit, and deep in your heart, you know it. So don’t be afraid to talk about it. It’s true, ome of you are blogging, and that’s great. These blogs are usually addressed (understandably enough) to fellow WPedu people – “here’s a cool new way to use WordPress in a university”, etc. But you should stop qualifying yourselves: Lots of the stuff you’re doing is legitimately a cool new way to use WordPress, period, and you should be proud of that. Own your excellence and innovation.

I come from WPedu, so I say this from experience: there’s too much modesty, bordering on mousyness, among WPedu innovators. Many – most? – of you were never formally trained in software development (or design, or support, or documentation, or whatever). I know I never was. And being embedded in institutions founded on the very notion of Expertise – you can’t spell University without PhD – makes you too unsure of your own skills to reach out and get involved. Here’s a secret: Most of the people in the WPorg community came from non-technical backgrounds, too. (IMO, that’s one of the things that has made WordPress successful, but that’s a topic for another post.) You deserve to be involved, just as much as any of the current community contributors. Three-quarters of expertise is having the confidence to get involved.

If that’s not enough persuasion, here are some practical considerations.

  1. When you build systems using a piece of software – like, let’s say, a student blogging system using WordPress – you become dependent on the future development of that software. By getting involved in the community – submitting patches, doing beta testing, participating in support forums, writing plugins and themes, blogging, etc – you can earn a seat at the table where decisions about WP’s future are made. When your voice isn’t heard, someone else’s voice will be heard in your place. And, as someone who straddles WPedu and WPorg, I can say with confidence that edu and non-profit voices are way underrepresented in the WP project.
  2. Very Important People, such as your boss, your promotion committee, public and private grant committees, and so forth, will be Very Impressed by a list of contributions to free software projects. If you can tell funders that your software has been downloaded hundreds of thousands of times (as we are unashamed to do with the CUNY Academic Commons project), and if you can tie this into a broader narrative about engaging meaningfully with a broader public, it can help to guarantee your financial continuance, if you know what I mean.
  3. It’s the right thing to do. The work that you’re doing at your institutions is helping your students in a huge way. If, by putting in just a bit of extra work, you can increase the potential beneficiaries of your work by ten- or one-hundred- or one-thousand-fold, why wouldn’t you do so?

I shouldn’t make it sound like there’s no overlap between WPedu and WPorg. There is. But it’s much smaller than it should be, given the direct parallels between the ideological goals of the free software project and the ideological goals of the educational enterprise

I’m working on a couple ideas that I think will help to bridge some of the gaps between WPedu and WPorg. I’ll share more about them when they become more well-formed. In the meantime, I’d love to hear your thoughts about how to move these mutually beneficial connections from the realm of the practical to the actual.

BuddyCamp – it’s about time

Yesterday the first ever BuddyCamp was announced. BuddyCamp Vancouver 2012 is the brainchild Cyri Jones, a Vancouver-based educator and entrepreneur who works a lot with WP and BP. I think it’s going to be a very cool event.

The idea of a BuddyPress-specific event along the lines of WordCamp has been tossed around a lot in the past, at least between the most active members of the BP community. Some have argued that BP is a bit “niche” to serve as the foundation for an event like this (see some of the comments in this WP Realm post, for example). However, while it’s clear that BP has far fewer users than WP, those who do use BP on an everyday basis are often very passionate about it. I think that the community is plenty large at this point to support local events of this type.

In the past, John Jacoby has suggested that a more general “WordPress Plugins Camp” might be a logical precursor to a BuddyCamp – after all, there are lots more plugins than just BuddyPress, which translates to many more potential attendees. I think a general Plugins Camp is a pretty kickass idea, and devs/designers working with BP would have a lot to bring to such an event. But it’s worth noting that this first BuddyCamp will be about a lot more than just devs and designers. I’d wager that over half the attendees will be people who are using free software to build online community space, from a non-technical point of view. These people may not know the first thing about building a WordPress plugin, but they have lots to say about how software can facilitate community – and this is something very specific to a BuddyPress event. So I think there’s really a need for something like a BuddyCamp, where the people who are building the software can get in the same room with the people who are pushing it to its practical limits in real-world scenarios.

Also, while I wish that the whole thing had been arranged a few months sooner (sometimes the best ideas happen at the last minute!), I think the timing of BuddyCamp Vancouver is really great. It’s sandwiched between two events, also being held in Vancouver, which should have huge overlaps in terms of interested attendees: WordCamp Vancouver and Open Ed 2012. I’m hoping that, in particular, a lot of people coming into town for Open Ed will think about coming a day or two early to talk about BuddyPress and its uses in supporting online learning communities. Spoiler alert: I may be talking about this very topic in my own BuddyCamp Vancouver session :)

I’m hoping that this is just the first of a series of BuddyCamps. I can easily imagine that there’s enough interest in BP to support a handful of similar events around the world each year. If you’re a motivated fan of BuddyPress, you may want to think about planning such an event in the future!

Project Reclaim update

Back in March 2011, I kicked off the Project Reclaim project. Since then, others have picked up where I’ve left off – most notably, Doug Belshaw and D’Arcy Norman (who have surpassed me both in the reclaiming and in the blogging about the reclaiming). Behind my radio silence, though, has been a flurry of recent reclaiming activity:

  • I’m mostly de-Mac-ified. I recently bought a Samsung Series 9, which is serving as a stopgap full-time machine until I have the time to set up a desktop Linux rig. On day one, I wiped the Windows 7 installation and installed Arch Linux. It took some time to get set up, and I’m still using my Mac for a couple of things (Picasa, Skype, the old Adobe AIR Tweetdeck), but I’m almost totally moved over. I may write a post or two in the upcoming weeks about specific parts of the transition – there were some pain points, to be sure, especially in the initial setup. But, in general, it’s been smoother, easier, and more pleasurable than I would have guessed. Using Linux full time makes me feel like I’m back in the driver’s seat of my computing life, and it feels extra good to know that 95% of the software on my full-time machine is non-proprietary.
  • At the same time that I moved to Linux, I also switched to Vim. I’d been a user of BBEdit, which is a really great piece of software, but moving away from the Mac meant I had to choose something else. So I figured I’d go for the powerhouse of all text editors. Vim has a certain allure. When I was younger, I studied jazz piano. I remember watching my instructor play and being driven nearly to tears: I understood, in broad strokes, what he was doing and why it sounded the way it did, but it crushed me that I couldn’t translate that knowledge into the same kind of performance magic that he could. I feel much the same way about Vim masters. I’m far from a master, but I’m getting much much more fluent. Also, of course, Vim is non-proprietary, and it gives me major geek cred. So, big win all around. I should note that the Vim transition has actually been far more difficult than the Linux transition, and it was only after about four or five weeks of full-time use that I started to feel like I was back to my pre-switch level of productivity. (In this sense, it was a lot like switching from QWERTY to Dvorak.)

The big proprietary services and software products left in my life are Dropbox and Twitter. Moving away from Dropbox is fairly simple – see D’Arcy’s great posts on his experiments with Owncloud – I’ve just been lazy about it. Twitter is far more complicated, both technically and socially, as well as far more pressing, given Twitter’s recent NBCishness. So that’s the next mountain to climb.

How many others have been Reclaiming over the last year or two? Would love to see more projects along the lines of D’Arcy’s and Doug’s.