[cc-community] 10k great Free songs (was Re: Rcrd Lbl to offer CC and Free as in Beer Music)
Greg London
email at greglondon.com
Mon Nov 19 21:42:43 EST 2007
> Yes, search costs are incredibly high, but the task is fungible. :)
from The Mythical Man-Month:
Assigning more programmers to a project running behind
schedule will make it even later, due to the time required
for the new programmers to learn about the project, as
well as the increased communication overhead. When N people
have to communicate among themselves (without a hierarchy),
as N increases, their output M decreases and can even become
negative (i.e. the total work remaining at the end of a day
is greater than the total work that had been remaining at
the beginning of that day, such as when many bugs are created).
Group Intercommunication Formula: n(n − 1) / 2
Example: 50 developers -> 50(50 − 1) / 2 = 1225 channels of
communication
(/snip)
The idea is that something like wikipedia articles do not
require communication between the guy writing the article
on Jughead and the guy writing the article on quantum mechanics.
The level of commication needed for software plummets as soon
as you get outside the subroutine interface. It's not zero,
but it falls off pretty rapidly. If you're not calling it,
and it isn't calling you, then for the most part, you don't
care about it.
Music? Not so much. About a year ago, I went over and checked
out Magnatune to see how it was doing. I listened to some of
the songs they listed as "top downloads" or something, and
found that I liked some of them. What I ended up doing was
then going through every single artist on their artist list,
literally every single one of them, and listening to half a
dozen randomly selected songs. More if I found I liked one
of their songs. I'd do this by setting up playlists while
I was at work and listening while I was coding.
Several months later, I came out with maybe two dozen
bands on Magnatune that I liked.
That information is of little use to anyone else.
Because no one here knows what sort of music I like.
Just because a radio station keeps playing song from
a dozen bands, doesn't mean you'll like any of those
bands. It might be a country station and you like blues.
Which means for my list to be of any value, that would
mean that people would have to listen to my list and
figure out what sort of music I ended up picking and
then seeing if my list matched their tastes.
If it doesn't match, then they just wasted their time.
If it does match, they still used up a lot of their
time, and it will only benefit them if I then post
more bands that I like that they also happen to like.
I become a music critic basically, and then some people
will find out that my reviews match their taste.
Or it's like I'm a radio station that plays a certain
genre of music, and you either like or don't like it.
Every radio station currently out there is making
some kind of profit from their operations.
Yet you don't like every single radio station on
the airwaves. So you've got to search for the
ones you like and then you program in the few
that actually reasonably hit your tastes. And even
then, you program them in so you can easily change
when they start playing some crap you don't like.
Which to me says that music requires a very high
level of communication. Basically, you as a listener
really have to listen to everything out there if
you're going to find out what you do and do not like.
This is essentially impossible given the total number
of hours of all kinds of music currently available.
So you delegate. You try to find radio stations
or music reviewers that you trust. You try to ask
friends and get a sense for the ones who like the
same sort of music you like.
That doesn't scale well at all.
Call it non-fungible or whatever.
Or crack a joke about it if you'd rather.
But it doesn't work well the more music you add.
The thing is if you add more reviewers then more
reviews get written, so the total work done goes up.
But that doesn't actually reduce the workload for
the individual trying to find music. All you did is
*add* to the number of reviewers they have to go
through to try and find one that matches their tastes.
If you keep adding reviewers and keep adding radio stations,
then you end up actually making it harder for the individual
who doesn't like anything they've found yet. You've given
them a bigger list of people to go through.
But if you have a small number of reviewers, they can
only listen to so many new songs a day and write articles
about the bands. Which means too few reviewers isn't good either.
The whole point of software design is to split up
the final product into interfaces, into subroutines
and whatnot, and then to isolate the intercommunication
between subroutines. The point is to minimize the intercommunication
needed, so that any one programmer only has to talk to
a few people, the people he calls, and the poeple who call him.
And then he doesn't care about anything else in the design.
In music, as you make more music, you add stuff that people
have to wade through. If you add reviewers and "stations" or
"playlists" or whatever third-party aggregator you can come
up with, then you simply add more to the level of stuff between
the actual listener and the stuff they're trying to find. And
at some point, you reach a state of complete non-scalability.
There are maybe a dozen radio stations I program into my car
radio, and of those maybe four I listen to regularly, and the
rest are there in case of commercials on the other stations.
You say you've got 10,000 songs on ccmixter?
How am I supposed to find the ones I like?
You mention the 100 "good" songs?
"Good" to whom?
If you look, you can see a pattern.
(Or maybe you'll just crack a joke.)
In software, the levels of communication can be
dwindled down to very small groups. I talk to
the guys who give me data and the guys I send my
data to. I don't care about the rest of the chip.
I throw a big "someone else's problem" field on
the everything outside my immediate circle, and
we can build a million-plus ASIC in a year and
have the thing actually work.
Music doesn't do that.
You add more songs, you just increase the number
of things I need to listen to to find the things
I actually like. You try to come up with play lists,
then the more play lists you come up with, the more
I have ot go through to find stuff I actually like.
You get to the point where there is literally
terrabytes of music out there, and the only reasonable
outcome is that there is huge swaths of music out
there that I may like but will never hear.
Because in the end, it's no longer about the
data I recieve and the data I send out.
It's not about who I call and who calls me.
It's about me trying to find a way to connect
to every piece of music out there and try and find
the bits that I actually like.
And it is a problem of a different type.
Software is all about isolating the channel
so as to reduce the amount of communication needed.
Music just isn't. It isn't that sort of a problem.
It's about trying to listen to every channel at once
to try and find the ones you like.
It doesn't bend to the kind of solution that
would work in software.
It is inherently a non-scalable problem.
You've heard several people complain that there is
simply "too much" to listen to, too much to wade through,
before they can find the good stuff.
You think that's just a fluke? You think you can
come up with a playlist that will solve that problem
for everyone? How many people do you know that own
the *exact*same* music library that you do? Out of
all the songs you would say is "good", how many would
any randomly selected person off the street say is "good"?
Do you have only one radio station programmed into your
car radio? Or do you have many?
You can crack wise all you want about "fungible".
But if you really don't see any difference between
software design isolating the communications channels
down to the bare minimum, while music basically requires
you listen to every channel, and the more music and the
more reviewers you have the more work you make for any
particular listener, then I don't know how else to
explain it to you.
Greg
More information about the cc-community
mailing list