HUMAN COMPUTER

Software Design & Product Management

Philosophy

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.

  1. Little to basic understanding of a problem:  users are not on the product team
  2. Average to expert understanding of a problem:  some users are on the product team
  3. 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.

 

How Spotify can take over the world

This title might be misleading since Spotify has already taken over the [music] world.   Somehow over the last few years it’s managed to get access to almost all published music and make it available for free to everyone.  It’s woven itself into Facebook, introduced social music sharing, buried Grooveshark, all but replaced Last.fm for some people, and is slowly replacing the default ITunes app for many others.  Given its giant catalog of music, its access to user data and mobile devices, and the advances in sound processing that are slowly making their way into the mainstream, here are a few directions that I hope Spotify explores in the years to come.

Spotify is well equipped to become a predictor and analysis engine for the music industry

The improvement of musical analysis technologies (ex: Melodyne DNA), combined with information about listening habits, social spread and stickiness, combined with a library of all of the world’s music is a great recipe for big data.  There are so many patterns to extract.

Imagine Spotify doing a daily number crunch that results in purchasable recommendations for record labels, radio stations, and tv commercials.  Or it can become an analytics platform – ala Spotfire for music – one that allows content producers and marketers to filter trends by demographics.  Every bit of information can come in handy to some niche audience – for example, listening trends filtered to a  location can turn into helpful information for concert promoters.

Better use of Facebook and other information can result in improved personal listening recommendations 

What you may enjoy depends on a host of factors outside of what you’ve listened to and ‘liked’ previously.  Things like time of day and energy level can affect what you listen to.  Spotify has access to Facebook data, much of which hints at your other interests, your mood, and so on.  People are more likely to enjoy and remember something if it’s emotionally relevant at the moment.  If a user allows it, there is probably some value in parsing out sad words versus happy words and other things from status updates.  Or at least recommending things based on age and other shared content and Facebook ‘likes’.  I guarantee that the average reader of the Onion is more interested in Radiohead than the average FarmVille player.

The web is getting smarter, though.  The recommendations Spotify makes don’t have to be based on simple text searches in status updates but could dig into more complex relationships.  Sharing and gifts are one.  Say Spotify notices that your friend Mary gave her friend Susan a song and Susan ‘starred’ it or later shared it.  If Spotify later notices that your tastes are similar to Mary’s, it should recommend you send a song to your friend Jacob who has similar tastes to Susan.  Point is, patterns occur over time, involve multiple steps, and take into account all sorts of surprising information.

Better discovery through the use of physical location

A few years ago Microsoft’s Zune music player introduced ‘scribbling’ or ‘squirting’ or some other unfortunately named feature that involved sharing music with people in your geographical vicinity.  The device failed for a number of reasons, but I think it was on to something.   You’re often in physical locations with people that you share unique and subtle commonalities with – things that Facebook can’t capture.  Whether it be a coffeeshop barista playing song after great song, or every member of the audience at your favorite band’s concert or, heck, even a political rally, the value of peeking at your physical neighbor’s music collection can be much greater than seeing a feed of what your random Facebook friends and acquaintances are listening to.  Here are just a few interesting things you could do with that.

  • Suggest friends –  imagine you’re at a party and the Spotify mobile app notifies you that your taste lines up very well with someone nearby.  When has music not been a good conversation starter?
  • Taste sampling – absorb an anonymous sampling of music from everyone around you – a one button action that creates a playlist.
  • Satisfy your audience:  let’s flip around the example from earlier and look at it from the barista’s angle.  If the barista’s phone (or a DJ’s for that matter) had some knowledge of the musical preferences of the people in the room, she could play much better music for everyone around her.

Spotify as some sort of heaven for DJs and mashup artists

I was once in a room where the DJ put on the Godfather soundtrack and expressed how much he wished he had Dark Side of the Moon handy on vinyl.  Not only does Spotify solve the problem of providing you with songs by name in the blink of an eye but, soon enough, (if it doesn’t already) it will also have information about chord progressions, tempo, time signatures, and other musical characteristics for every single song.

There are relatively straight forward rules for what works well with what in music.  A given tempo will work well with multiples of that tempo.  A song will work well with an accompaniment in the same key or in the relative minor key.  Even for more complex things like chord progressions there are rules of thumb that trained musicians use on a daily basis.  Imagine a DJ picking a base track, a few mixing parameters, and choosing from a few instantly generated Spotify recommendation for layers that would go well on top of it.   Down the line, thanks to the growing interest in sound hacking the DJ will also readily change a loop from minor to major, making it a little more ‘waltzy’, and otherwise fine-tuning things to his taste.

Spotify could ride on top of this as a publishing platform.  Think about how much content online is part of the media ‘long tail’ .  Whether it’s Star Trek Picard photo memes on Reddit or GI Joe video overdubs on Youtube, the newfound availability of …all…visual content has led to a huge increase in amateur content – some of it very good even.  And if it’s not great, it still provides free publicity for the original content that spawned it.  Spotify has the opportunity to do the same thing with music and actually benefit from it.  Build an IPad interface to easily layer songs, speed them up, slow them down, add reverb and echo effects, and you have a pretty cool tool that at least a few teenagers would play with.  Offer a ‘save button’ that exports exclusively to Spotify (perhaps in the ‘mashups’ section of every artist whose work is involved) and you have yourself a new source of content, marketing, and user loyalty.

Spotify as a serious tool for musicians and composers

Along the same notes (pun intended), Spotify’s access to an insane amount of music and music data could change the way we create songs.  Not only could it help you choose between two different version of your new song’s chorus based on observed listening patterns, but real data could be used to augment the processes of inspiration-seeking, jamming, and performing.

Exhibit A in Future-Mozart’s musical toolkit:  Spotify recommends layers, modifications, and stylistic directions based on songs that contain similar ‘base’ content.   You’re working on a song where the vocals are hopping over the percussion – maybe some sort of syncopation or polyrhythm.  Spotify classifies this as a pattern in musical state space (the same way Pandora extracts features from music to recommend similar songs), notices that Fiona Apples does the same thing in one of her songs, and recommends a subdued approach for the backup instruments based on Fiona’s matching song.  If it worked for her, it may work for you.

But don’t think of this as taking place in the Spotify app necessarily.  It can be part of music software like Logic and Pro Tools, or even built into instruments.  Imagine a guitar amp that listens to the simple solo you’re playing and, after a few repetitions, starts playing a great chord progression from Weezer on top of it after doing a search through similar musical space.

 

These are just a few ideas.  The things you can do with access to a giant catalog of music, analytical tools, and social information are limitless.  It’s really pretty exciting and I, for one, welcome our future musical overlords.