What if Chopin made music software? Three types of user insight in software design
Every business book talks at length about the value of identifying the clubs, subcultures, and other niches you belong to. It’s the easiest way to identify wide open markets with unsolved problems that are begging for automation, collaboration, and other benefits of well applied technology. As a software professional, you’re in a unique situation – with insights about niche problems in one hand and technological and business knowledge to solve those problems in the other. Once you know of the problem, you can throw together an online store to bridge the gap between supply and demand, slap a social network on it – maybe a dating site for that particular community – and be done with it. In other words, finding a market is the tough part. Providing a solution is easy.
While this may be the case for online stores or dating software, it doesn’t quite fly for specialized software in technical or creative fields. Not all software is about automating simple tasks or connecting people. Some software programs truly innovate. They change the face of a field, allowing their users to solve novel problems and create unique works. Sometimes, as with 3D animation, they create brand new fields. When making such software, finding the market is only half the battle – it’s necessary but not sufficient. The thing that makes a real difference in this arena is not insight into problems, but insight into solutions. And this often only comes when the people designing the software are also its users.
I’ve worked with a number of software teams in my career and been witness to three rough levels of user insight that can be present in a product or engineering team.
- Little to basic understanding of a problem: users are not on the product team
- Average to expert understanding of a problem: some users are on the product team
- Rare and unique insight into a problem: users at the top of their field are making the software
This essay focuses on the rare and elusive #3 – a situation where very brilliant and talented people in a field also happen to be involved in the creation of software. More specifically, the case where (typically) one individual’s rare insight or talent in a field is automated and formalized through software, and is therefore imparted upon others. By no means is this the only way that disruptive software is created, but it is a notable way in which computers and automation can augment and spread existing human abilities.
Before we go into that, let’s look at #1 and #2 briefly.
Striving for #2
Established tech companies and startups frequently churn out products without having a deep understanding of the problems they’re solving. Certainly they research market segments, consult with customers at length, develop personas and so forth, but it’s relatively rare that they have a real customer on board acting as a product designer. Eric Ries’ Lean Startup even warns against the hubris of knowing your customer’s needs without first (potentially failing and) pivoting a few times. While no one’s going out and bragging about it, most software teams fall into category #1. There’s nothing to be ashamed about here. Most people that can design or code software simply didn’t have enough time to become experts in a different field on the side. And not only does the software generally come out OK, it improves over time as real people make use of it and provide feedback. After all, this is one of the reasons that UX became such big hit: if you don’t have insight into the user’s mind, you can send a very empathetic psychology grad over to the users’s workplace to get to know him better. There are, however, a few advantages to being in bucket #2 and having real subject matter experts at the helm of the software design process:
- Little decision accumulate: even if you talk to the customer often, you’re typically addressing the big issues. Think feature requests and prioritization. But for every answer you get from the customer, there are hundreds of little design decisions you end up making without consultation. These are the little on-the-fly layout and workflow decisions you make while sketching an interface. Often times, you don’t even realize that some decisions had alternatives to begin with. All of these little design decisions can end up heavily influencing the overall workflow, direction, and utility of your software.
- Expertise trumps design by committee: The greater the absence of real data and expertise, the greater the power of personal opinions, agendas, and status will be in influencing design decisions. It’s as simple as that.
- Quality communication with users: At any given point in time there is likely a UX or Product Management person sitting with a customer in a conference room nodding his head and smiling without the slightest idea of what the customer is saying. I’ve seen this in biotech where the customer has more Post-Docs than the UX researcher, and in simpler avenues like web design where the highly paid Product Manager would rather end the meeting early than admit that he’s not up to speed on CSS3. The problem is even uglier in its more subtle form: when the lack of insight gets in the way of picking up on implicit issues, hints, and opportunities for deeper questioning.
Wishing for #3
Teams that fit into #1 and #2 make fantastic software: software that connects people, that automates slow manual processes, that puts information at people’s fingertips. The whole gamut..or app store. But every once in a rare while the clouds part and someone with a rare insight or talent in a certain field floats down from heaven (or from his studio or laboratory) to enter the world of software. This can really shake things up and serves as a recipe for innovation and disruption.
Imagine two different teams creating an app for music composition and production. One team is led by a former Amazon employee who loves to play piano. Perhaps she’s even a hobbyist song writer and first violin in a local symphony. Pretty much a music expert! The other one is led by Frédéric Chopin. And Iannis Xenakis – the 20th century experimental composer. Let’s throw him in the mix too.
The first team would develop an awesome scalable software architecture and start designing useful features for notation, bulk editing, modulation, transposition, and a host of other things. If it’s taught in music school, they’d include it. They’d even throw in some cool tools for jotting down melodies by humming and exporting your final piece to SoundCloud.
The team led by Chopin might start by laying down functionality for simple notation. But then they’d dive into some particularly strange features. Chopin would spend a while introspecting and brainstorming rules for which chords best follow other chords, perhaps depending on interesting and subtle features of the ongoing harmony and even the instruments playing it. No one taught him this…it’s just his insight. And perhaps insight that took him a while to externalize. Xenakis would snub his nose at SoundCloud-export functionality and would instead focus on allowing users to import photographs of architecture that get automatically translated into multi-instrument melodies. Perhaps he would allow the user to switch to a completely novel representation of the standard musical notation – one that focuses on patterns in melodic contours that he normally sees in his mind’s eye when listening to music. The resulting software would not be the easiest for bulk editing of quarter notes. It would be somewhat shocking for classically trained pianists who just want to transpose a piece. But it would suddenly give the universe of average musicians and hobbyists a new way of perceiving music, expressing their musical thoughts, and exploring musical space. It would get them just that much closer to being a musical prodigy. Perhaps without having to know musical notation even. After all, just as story telling is not about writing symbols on paper, many very talented musicians don’t read music. In some cases it’s the unique way they represent and conceptualize music that forms the foundation for their originality and unique style.
Whether this is Chopin designing music software or Bill Gates designing programming languages, the software itself takes a secondary and supportive role to the primary insight – the insight of the creator in his specialized field. A great deal of this software’s value is in formalizing and automating a unique cognitive routine and other idiosyncratic personal perceptual insights and workflows. It takes someone’s synesthesia and shares it with everyone. It takes a unique perceptive ability held by a few (and supported by perhaps a brain anomaly) and lets others take advantage of it by connecting pattern matching algorithms with suggestions and outputs. Take a mediocre human workflow and automate it and you’ll still get mediocre outputs – just faster. Take a specialized, unique, and insightful workflow and you’ll get extraordinary outputs, faster, and from a lot more people.
We should strive to attract real experts from other fields into software design, or to at least teach the basics of software design and technology to others. Putting software design in the hands of a remarkable few isolated individuals could help the world share in their talents.
COMPUTER