Peter J Slack, B.E.Sc., P.Eng is a practicing mechanical engineer living in Kitchener, Ontario, Canada. Peter is also a singer songwriter, avid musician, Max/MSP hacker and is CEO of Maplepost, a small family owned and operated boutique software development company specializing in music software development and one stop internet services for developers.
Hi Peter! I know from our discussions that you are involved in a lot of projects - some of which involve Max as part of the technology stack. Could you tell us a little about that?
Max/MSP is like a developer's Swiss army knife, invaluable for anyone who is inventing or prototyping anything having to do with music or audiovisual applications. The platform is my go to for working out advanced concepts and I am very excited to be working on a few new Max-based projects.
The first is with WaveDNA: we released a product called Liquid Music and we are currently working on a Max standalone application for Liquid Music. We are also working on a top secret project that is a Max standalone designed and developed by David Beckford, the lead inventor for WaveDNA. We are releasing this new product on the Steam platform.
Secondly, and more recently, I became involved with a startup company in San Francisco called MediMuse. With them, I am working on a new prototype (patent pending technology) that transforms biometric data into music. I will be working on an API and a Max package for Max developers to experiment with this new technology.
Your work with the WaveDNA group is especially interesting, in that it implements a sort of 'meta-sequencing' system for track development. How did this system get developed, and what makes it particularly unique?
I belong to a diverse tribe of technology professionals in the Toronto area where I was introduced to Doug Mummenhoff, Dave Beckford, and Glen Kappel. They were putting the finishing touches on a patent for a method of describing rhythm digitally and from a cognitive science foundation. I was inspired by this ambitious and courageous group that was looking to create products with their newly minted patent, and I joined the group in earnest.
The idea was to develop a set of tools that leveraged the cognitive framework and provided a set of composition tools that were MIDI-centric. The vision was to first develop the rhythm aspect of the patent model (Liquid Rhythm) and then next to develop the tonal or harmonic model on top of that (Liquid Music). The first iteration of the product was a Max standalone application called "Liquid Loops"; this was essentially my prototype work marrying up WaveDNA's existing Java technology. Liquid Loops remains the main audio process for Liquid Rhythm. Liquid Loops was also the template for the Liquid Rhythm / Liquid Music Max for Live devices and will also serve as the basis for the upcoming standalone Liquid Music feature.
WaveDNA amassed a crew of amazing developers, many of them jumped ship from IBM to enter the fray of electronic music software production, and working with this group was a transformative experience for me. This is what makes this product so unique; we had a spectrum of brain power I think unprecedented in electronic music software development and certainly there was nothing like this happening anywhere else in Toronto at the time.
There were a lot of musical people on staff, like Stephane Vera, DJ Shine, Omar Raid (to mention a few), but we also had developers from many different and diverse disciplines - from cognition to medicine to database experts and engineering students. We also had a relationship with Ryerson University and the Smart lab (where Dave and Doug met) and also a relationship with the media lab at the University of Toronto. We put everything that came from these diverse perspectives and all this brain power into the product. The results are the amazing tools found inside Liquid Rhythm and Liquid Music.
The tools are unique in that the development constructs focused on the cognitive science of rhythm: the salient points in a phrase are the control points of interest as well as the primitive patterns that make up these phrases. Much of the development was explorational and there was free reign to prototype both tools and transformational concepts. The exploration focused on things that aided the transitional aspects of phrasing by providing the basic cognitive patterns and ways to transform from one to the other. We also created tools to populate stacks of possible change that are "compatible" from a cognitive pattern construct. Honestly, some of the outcomes were not successful, but the ways we found to make rhythms continues to astound me, and we will see new ways that users exploit these tools for years to come.
One of the things that I know occurred as part of your work with the WaveDNA group was that you became involved in a cooperative development project with our development team. How did that happen, and what advantages did it provide?
I was involved with creative aspects of product development for WaveDNA but my main contribution was more dev-ops oriented: I focused on the mechanics of putting things together, making it run and solving the technical problems that customers and developers experienced. I solved puzzles and road blocks that were mission-critical to product development, distribution and roll out, and I continue to provide that service.
One such task brought me to MXJ; I was asked to tame the Java experience for WaveDNA's end users about four years ago, and this was incredibly challenging and difficult. The most challenging aspect is that Steve Jobs had declared Java to be dead, and we had the advances of OSX working against our very survival. Apple just stopped updating their Apple Java 1.6 with each new release version of OSX.
I had to understand what was happening as parts of our product continued to fail unexpectedly. I would look to the support lists for the Minecraft game as they became my canary in the coal mine for which Java system would next break on OSX, and I found myself riding a chaotic wave. In order to survive Java destruction we had to go one layer deeper and become involved in open source initiatives.
I was able to utilize OpenJDK pre-release version 1.9 so that parts of our product could actually work; it wasn't until recently that some of the failing components were fixed by Oracle in release versions of Java 1.8 for OSX. Oracle has a process to adopt open source fixes, and they also contribute technology to the open source community, so the fixes in 1.9 eventually made their way into Oracle release versions. I also became involved loosely with the IBM people who maintain eclipse (a major part of our product) and I had to rewrite portions of their launcher to deal with the evolving crisis of Java on OSX. I gained a lot of insight from these open source initiatives - and was able to contribute in small ways - as I was trying to solve the technical problems for WaveDNA.
The final piece of the puzzle (and most critical for WaveDNA products) was that the MXJ object in Max was in trouble. There needed to be an initiative to get MXJ off of Apple's Java 1.6 and enable Oracle Java to work with MXJ on OSX. I clearly saw the problem for MXJ and I also wanted to be proactive and get the work done well in advance of the final demise of Java on OSX that was imminent in the release of Sierra.
WaveDNA officially reached out to Cycling a couple of years before this happened and we started the discussion thread. About 6 months before the release of Sierra, Cycling formalized the development team for MXJ and I brought some of my experiences to bear to help make the transition smoothly when Sierra was finally released. The ultimate benefit of this collaboration was a smooth transition through what could only be described best as an existential crisis for WaveDNA. We didn't have the same deluge of problems that we experienced when Apple was removing Java support.
With this worry out of the way we are able now to focus on continuing to build new features and improve the business prospects for WaveDNA at the same time we can also improve the MXJ object as new needs or problems arise. I am eternally grateful to the crew at Cycling for rolling up their sleeves and pitching in to help me get through this technical problem; I couldn't ask for better partners in this respect. This was a very positive outcome and I'm happy to be able to tell this story.
You've stated that cooperative development actually represents a strong future for small software development teams because it can leverage the community's knowledge of both the software and its application. It's pretty clear how this helps the development team - but how does it help the user (or user community)?
This is a great question. Around 1989 I was introduced to the "Deming philosophy", and at the company where I was a Junior Engineer it was mandatory for management to indoctrinate me. Everyone, even the most lowly junior engineer like me, was involved in the top level thinking processes of the organization. In Deming's way, the decision making process was not the solely realm of the corporate leaders; the goal of opening up the communications lines is to increase efficiency and quality.
I eventually consulted for the parent company who mandated this organizational strategy, so when I arrived in Thompson Manitoba, the heads of all departments sat me in a room and they each gave me a presentation to explain what they were doing and what were the challenges. This was much different from a top down management ideology that seemed to prevail (and still does) in industry - I felt I was important to the well being of the company and success of its ventures and there was a sense of connectedness to everyone else working there. I experienced my first stand up meeting at a multinational mining company during the late eighties.
The unofficial story as told by my seniors was that the ways of William Edwards Deming were not well received in the American manufacturing circles. Therefore, he made his way to Japan where his concepts of quality control and product iteration were not only welcomed and celebrated, but became part of the underpinnings that helped drive the revolution of the Japanese auto industry.
I was indoctrinated early in my working life about the "bottom up" strategy of quality control and information flow within organizations and this stuck with me to this day. These ideologies are more commonplace in today's software development teams and organizations, but this mentality and culture is still a slow-moving revolution.
But it’s a revolution where, in general, the workers are empowered to contribute their input to the well being of an organization and to participate in the innovation and quality control of a product. The bottom up mentality is obviously not only limited to employees: I can cite many instances where round tables with customers and listening to customers and other stakeholders to make change have had dramatic impacts on quality and sales not to mention strengthened relationships. Considering a broad spectrum of opinions and ideas is a mind set and a culture, and traditional top down hierarchical dictatorship has been in steady decline as a dominating management practice.
I work with WaveDNA's customers to help solve problems - and many of our most devout customers are also developers. The line between developer and customer is often blurred for us as customers start to help solve bugs and suggest features and new ideas. I believe there is a transformation happening, the bar has been raised for the developers and producers; customers have always demanded a customized user experience and always will. The very survival of products that large organizations develop will rely on this kind of bottom up strategic thinking and execution of innovation and quality control. Those who can make fast turnarounds on features and fixing bugs will obviously win the day.
Therefore, combining resources, intellectual or otherwise, can make seemingly unaffordable or impossible changes possible. The feedback loop in quality and product acceptance has also become accelerated with social media and the end users are engaged with developers in real time. This engaged way of product development will be demanded by the customer and the customer will more likely buy into organizations who have a strategic process to involve, include and acknowledge everyone’s input. In the end the customer or user benefits by having products that are of superior quality, lower cost, and features that meet their wildest expectations and in many cases they can have a sense that they were important in making things happen with product features and problem solving.
As you work on the bleeding edge of both music software development and business process, what are some of the trends that you see that represent the future of creative applications and developments?
Every time I read a post from Cycling '74 I am energized and enthused because the developers are blurring the lines between traditional disciplines by presenting creative ways of visualization using the technology and sharing it with the world, this seems to be the playground for Max/MSP. I see the future as continuing to blur traditional lines, the merging and mixing of practices with traditional boundaries. I see the future of music , for example, as being an accepted practice of medicine to treat certain illness. I believe that there will be breakthroughs in other disciplines of science by understanding the properties and mathematics of music and sound.
I am actually more interested in the fringe and the startup arena because eventually fringe thinking filters down and become full fledged trends, but to look at trends, there is one that is about creative commerce and that is the use of blockchain technology to modernize the collectives who distribute royalties for creative artists. Blockchain is potentially a disruptive technology that can equalize the way royalties flow and provide funds for creative types; those in my tech collective consider blockchain is the new .COM revolution. This can transform how all forms of copyright media are distributed and consumed perhaps including software and applications.
Thanks, Peter for spending the time with us - and thanks for helping out with the newly open-sourced MXJ package!