August 22, 2018 — WordPress fans often cite “the community” as one of WordPress’s main selling points. Makers get excited by the prospect of participating in the development, design, and support of the WordPress software product (zomg 30% of the web). Yet the prospect of participation doesn’t hold the same charm for organizational decisionmakers who are choosing which software products to build their business on. How can we argue for WordPress as a business solution when an honest look at history shows that community-driven projects don’t necessarily, or even usually, result in superior products? How can we conceive of WordPress so that we’re realistic about the shortcomings of the community development process, without selling short WordPress’s strengths as a product?
March 29, 2018 — Etant donné que les logiciels sont composés de code, on s’attend généralement à ce que leurs chefs de projet aient démontré des compétences techniques pour construire, maintenir et supporter ces logiciels.
Or sans le facteur humain, points de logiciels, de maintenance ou de support ! Les femmes et les hommes qui participent bénévolement à un projet comme celui de WordPress proviennent de milieux variés, ont des motivations très différentes, et ne partagent pas toujours les même attentes par rapport à leur investissement personnel. Pour comprendre et manager une telle équipe et une telle diversité, le leader – qu’il encadre des développeurs ou pas – doit également posséder un ensemble de compétences qui relèvent moins de la technique et beaucoup plus de la gestion des relations humaines.
Je vous propose d’explorer ensemble ces compétences « non techniques » en m’appuyant sur les leçons que j’ai apprises suite à 8 années de leadership des projets WordPress et BuddyPress.
En partageant un certain nombre de mes propres expériences, j’espère illustrer et vous convaincre de l’importance de l’empathie, de l’amitié, de l’humilité, et des relations humaines dans le management technique des projets de logiciel libre.
August 31, 2017 — Synopsis: Request a page on a WordPress-powered website, and WordPress responds roughly as follows. Core libraries are loaded, followed by plugins. The URL is parsed to determine which items are being requested from the database, and a corresponding theme template is selected. The HTML is then rendered and sent to the browser.
When building client sites or advanced plugins, it’s often necessary to intervene in this process: to perform an early redirect, to modify the rules for parsing URLs, to load an alternate theme template. In this talk, I’ll outline some of the key places where you can (and where you shouldn’t!) interrupt and modify WordPress’s loading process for your purposes.
June 21, 2017 — “Code is Poetry” is a cute motto. It’s also quite false.
The spirit of the slogan is harmless enough. It foregrounds the easy-to-overlook fact that software is written by real people. And it provides some solace to the software developer who is looking for soulful validation of what often feels like a rote, boring, soulless job.
But code is not poetry, and coders who considers themselves “poets” risk doing a disservice to themselves, and to the software they’re engaged in building. Art is beautiful, and we want our software to be beautiful as well. But, in the service of beauty, art is often inert, inscrutable, ambiguous – hardly qualities of good code. Perhaps more importantly, software developers invested in an image of themselves as artists are more likely to shun collaboration, iteration, and criticism, an attitude that’s especially harmful in free software communities.
By breaking down the myth of the code poet, I hope to find some new metaphors that we software developers can embrace for justifying to ourselves the work that we do.
December 20, 2015 — The headline feature of WordPress 2.3 was what Matt called “native tagging support”. The taxonomy architecture that supported tags in WP 2.3 – an abstraction of the old Category functionality – is a critical component of how WordPress turned from a blogging platform to the more generalized content management system that it is today.
But this evolution has not always been smooth sailing. There was significant debate over how (and whether) WordPress’s general taxonomy framework should work. And the database schema that ultimately shipped in version 2.3 had technical ramifications that took several years to become fully apparent.
A close look at these problems, and how the WordPress team is addressing them, contains some useful lessons on how WP deals with breaking changes, the importance of unit tests and developer documentation, and how to weigh backward compatibility against future platform growth.
November 6, 2014 — In this presentation, I’ll address both the *why* and the *how* of contributing while freelancing. I’ll lay out both an economic and a philosophical argument for why freelancers ought to budget for time on the parent projects. And I’ll talk about some concrete strategies for making the process less painful than it might seem at first glance. I’ll use myself as a case study, and talk about how my yearly earnings have steadily increased at the same time that the proportion of my working week spent on client work has actually gone *down*, to the extent that I spend over 50% of my time on free software work that I’m not paid for directly.
October 31, 2014 — This talk will present a number of arguments for why WordPress professionals ought to volunteer time to the project, arguments that will focus on practical and financial considerations rather than on moral ones. Boone Gorges will argue that the WordPress contributor pool is too concentrated, in a way that has the potential to do disservice to people who specialize in WordPress at the freelance and small-business level. Boone also outlines several concrete strategies for organizing one’s contributions in such a way as to minimize financial sacrifices.
December 10, 2013 — BuddyPress is great for building niche community sites. But, in the hands of the right developer, BP can power much more than just social networks. The Activity component is a prime example of this flexibility.
bp-activity provides a rich API for storing, retrieving, and displaying a wide variety of transactional data. BP itself uses this API for tracking events of a social nature – “Boone and John became friends”, “Boone updated his profile”, etc. But bp-activity is flexible enough to store metadata about, say, e-commerce transactions or RSS items. In this way, the Activity stream defines a standardized schema and set of API functions for querying various types of data that may itself be stored in mutually incompatible ways.
This presentation will give developers an overview of the Activity component, including its data schema, the CRUD methods provided by the bp-activity API, and the activity metadata functions. We’ll talk about
how any WordPress plugin can support the Activity stream as a progressive enhancement. And we’ll discuss one or two real-life examples of Activity being used in innovative ways.
November 9, 2013 — This session is a panel discussion with audience questions about BuddyPress with Tammie Lister, John James Jacoby, Boone Gorges, Paul Gibbs and Raymond Ho.