Providing technical leadership and consultancy for an established project
The Context. The mission of the Living Lab at the New York City College of Technology (City Tech) is to draw upon the campus neighbourhood of Brooklyn to create a general education program that is enriched by its location and surroundings. OpenLab is one element of this program; it is an online, dynamic space that weaves social engagement into the general education courses. The platform is designed to be a flexible and powerful space for online learning, primarily for courses, but also supporting clubs, portfolios and other projects.
The Challenge. The OpenLab project started while I was lead developer on the CUNY Academic Commons; some of my colleagues at CUNY were also on the OpenLab planning team. They liked how the Commons enabled engagement between scholars, and they wanted to replicate it on a larger scale with undergraduates. It was natural that they’d use the same WordPress and BuddyPress infrastructure as the Commons.
The original version of OpenLab was built and deployed by another development team. It was in use for two months when I was brought in to take a fresh look at the code.
What I Did
My technical experience on the CUNY Academic Commons and as a BuddyPress lead developer put me in a unique position to build upon the project’s strengths and to see where I could make improvements. My overall ethos lent me a sensitivity to the fact that the project already had a carefully thought-out strategic vision. This meant I needed to provide technical leadership consonant with the project’s goals.
I carried out a number of technical tasks on the project. These included:
- building upon custom group-type and member-type functionality and passing the changes back to BuddyPress
- breaking up monolithic files into separate files
- reducing complexity and duplication by consolidating identical functionality
- removing SQL from theme templates, and passing these improvements upstream to BuddyPress
- rebuilding custom functionality so that it used WordPress’ built-in APIs
- streamlining and properly caching function calls.
I remain an ongoing consultant for OpenLab. In a recent redesign I provided oversight of the upgrade process; setting target dates and providing technical support to the design and development team, porting and integrating bugfixes during theme development, mapping out a deployment schedule and strategy, managing the deployment itself, and then following up with bugfixes in production..
Since the release, I have maintained an ongoing relationship with CUNY Academic Commons and continue to lead maintenance of Commons In A Box. This includes dealing with technical issues and bug reports, and managing minor releases. I also engage with the user community, through support forums and public presentations.
- custom plugin development
- ongoing troubleshooting and bugfixing support
- grantwriting support
- technical team oversight, including workflow development and release management
- The OpenLab has over 13,000 members, with a rate of growth that increases with each semester. The site is critical to dozens of City Tech courses every year.
- A number of grant proposals are currently pending to continue the work begun under the initial DOE funding.
- I’ve developed a number of custom plugins that provide custom functionality for the OpenLab, specifically surrounding the use of BuddyPress for teaching undergraduate courses. These plugins are in various stages of preparation for public release.
Free Software Outcomes
- Added the Member Type API to BuddyPress 2.2
- My work on the OpenLab has been part of an ongoing free software movement at CUNY, playing a key role in making WordPress a tool of choice for the 24-campus system.
- My work on the OpenLab has led directly to a number of bugs fixed in the WordPress and BuddyPress free software projects.
- Discussions are currently happening to create a package of OpenLab’s customizations that can be distributed using the Commons In A Box infrastructure.
Boone has made a truly extraordinary contribution to the project. We are continually impressed by the creativity and rigor of his thinking, his dedication to quality, and his generosity in sharing his expertise with others. We can always rely on him to come up with the right solution for any problem and to implement it with care. In other words, Boone is the best!
Program Manager, “A Living Laboratory,” New York City College of Technology, CUNY