It was the summer of 2003 and we were driving down Ventura Blvd. I remember it like it was yesterday. I was a junior in high school, and we had just gone to Second Spin to pick up some CDs. Sean was in town visiting from SFSU and staying at his parents’ house a few blocks over. He was a sophomore or a junior or something. I don’t remember if we were stoned yet, but it was really a matter of yet. Sean had picked up about six new albums. I think I had only picked up two or three. One of them, though, sounded familiar when he mentioned it.
I spent the day today at API Strategy Conference in New York, and after talking on a morning panel on the Future of Music APIs, I did a lot of live-tweeting. Mostly quotes of talks, but a few responses and reactions as well.
You might call it attentiveness, and it was praised once, but I expect it’s probably excessive verbosity for most of the people who follow me. Still, that’s not why I do it.
I do it because I think it’s the most effective way to take notes at a conference.
Speakers tend to put their Twitter handles on their cover slides, and #apistrat has done a great job of publishing speakers’ handles in their program. Because of that, I’ve been tweeting quotes (or misquotes, "[or paraphrases]") of speakers as they’re talking, logging my reactions, and engaging in conversation with others around the topics.
The main benefit I see here is engaging in conversation during the talk so that (hopefully) during the post-talk Questions, something sane gets asked, or at least a reasonable discussion can occur. It also gives the speaker a chance to see what the audience was thinking after the fact, to catch up on questions that were prevented from being interruptions, but still worth asking.
Today that happened with @paulmadsen and a few others during and after the Security & Scalability session. It was nice, and I think that I left the conversation a bit more thoughtful about OAuth2 bearer tokens and mobile security. I’m not sure I would have left with as much insight if I hadn’t been tweeting.
But ultimately, my tweets wind up living on the timeline and don’t get published in an outside form. This, at its core, is the perfect application for the Twitter API.
For every tweet I posted, I had to manually @tag the speaker, and manually #tag the conference. This is a silly endeavor that a script could handle with expert ease.
Further, another tweeter requested my notes from the conference on a webpage (a totally reasonable request, and to some extent, part of why I live tweet). But with the nature of Twitter, it’s not guaranteed that I’m only tweeting about the conference unless I set up a separate account (even more silly).
So, Twitter API Conference App idea. Easy, right? Put a few <input> tags on a webpage, count characters, estimate how much hyperlinks cost, make an XMLHttpRequest, send tweet, keep track of IDs for later. Not quite…
APIs are hard; this is at least part of why we’re having a conference about them. So here’s a few Cucumber-style scenarios that _ALL APIs_ should satisfy:
As a power user, I want to fork a repo of a boiler plate project that uses your API.
At the very minimum, this repo should have code that authenticates me to your service, and a commented entry point where I can start writing my own custom code.
It would be nice if this boiler plate is easily deployable to a service like Heroku, Appspot, or Nodejitsu, but it will suffice if I can successfully run it from localhost or CLI.
I expect to have to hit your developer page, sign up, register an app, and copy a client_id. I don’t mind doing this, but if you feel inclined to make it a one-click process, I wouldn’t argue.
With Twitter, and conference tweeting things look a bit more dire. They take the approach that “REST is enough”. That is, they publish documentation on endpoint data, but they don’t provide you with anything to get started. While the documentation is thorough, you can’t get your hands dirty without figuring out an HTTP client.
This means I not only have to be a power-user of your service, but also a developer with a repertoire that includes “generic OAuth/HTTP client”.
I do a fair amount of development, and even I don’t have one of those. So what that means is, with the current state of REST/Hypermedia/whatever-the-fuck-you-want-to-call-it, not providing a client library means that ramping up to your API is expensive for me. I have to figure out how to deal with a solved problem (OAuth) on my own, and I have to craft my own HTTP requests when what I should be doing is `git clone firstname.lastname@example.org:your/api.git` and calling a method on an object you’ve created in that repo.
HTTP requests and OAuth are solved problems, and not your core competency. Don’t make me re-implement them (or find the building blocks myself) because you’re lazy.
It pains me to say that we’re not at this point with the Rdio API, but it’s a worthwhile aspiration, and we’re close. So while I rant on Twitter, believe me that I understand the extra effort it takes to make things easy for 3rd party developers. We have to do the extra work so that you (see: future me) can be lazy and make cool things with ease. Our new (beta) JS API is a big step in this direction, but I know we have some work to do on our server-side offerings. At the very least, we have some goals to guide us. Hopefully Twitter and other API providers will catch on.
Hit play. Read along.
Dear Brothers and Sisters!
Dear Enemies and Friends!
Why are we all so alone here?
All we need is a little more hope, a little more joy
All we need is a little more light, a little less weight, a little more freedom
If we were an army, and if we believed that we were an army
And we believed
That everyone was scared
Like little lost children in their grown up clothes and poses
So we ended up alone here
Floating through long wasted days
Or great tribulations
While everything felt wrong
Words that could’ve moved mountains
Words that no one ever said
We were all waiting to hear those words
And no one ever said them
And the tactics never hatched.
And the plans were never mapped.
And we all learned not to believe.
And strange lonesome monsters loafed through the hills
And it is best to never ever ever ever ever ever ever ever ever ever wonder why
So tangle; Oh tangle us up in bright red ribbons!
Let’s have a parade
It’s been so long since we had a parade
So let’s have a parade
Let’s invite all our friends
And all our friends’ friends
Let’s promenade down the boulevards
With terrific pride
And light in our eyes
Twelve feet tall and staggering!
Sick with joy
With the angels there
And light in our eyes
Brothers and Sisters
Hope still waits in the wings
Like a bitter spinster
Waiting to build her glorious fires.
I’s because of our plans man;
Our beautiful ridiculous plans!
Let’s launch them like careening jetplanes!
Let’s crash all our planes in the river!
Let’s build strange and radiant machines
At this Jericho waiting to fall
I haven’t really articulated it before, but lately I’ve been thinking about actually writing down a list I’ve been keeping in my head for the past few years. It’s a list of people I want to meet before I die. Most of them lately have come from twitter, so for now I’m calling them Twitter Idols. This post is about my Twitter Idols, human connection, depression, and suicide. So, trigger warning, in case you need it.
Sam popped up on my radar when his One Thousand Dollars an Hour post hit hacker news. After reading a few other posts of his, it occurred to me that I had used his SSZipArchive library in the Made in LA Soundmap. After reviewing more of his open source libraries and reading more of his blog, I added him to my mental list of people I need to meet.
Leah has been intermittently on my radar since I read a post of hers on login/sign up user experience. For some reason, I thought I read that article a year earlier than it’s currently dated (I took an HCI class in 2008), and remember a different layout for the page, but it’s a subtle observation that has stuck with me through and through. The concept keeps coming up and I keep winding up googling and linking to that article.
Meeting both of them on Wednesday left me happy and excited to be in San Francisco. It’s not like we’re all suddenly best friends, but we have context now. There’s a human being at the other end of the tunnel.
Last night and today, though, I haven’t been able to get Aaron Swartz off my mind. He was certainly on that list. I’m fairly certain he popped up on my radar around the same time as Jacob Appelbaum and David House, around the time when WikiLeaks was mainstream news.
It’s hard for me to look at his blog, his github repos, and the slew of things written about him today and then to remember that we were both born in the same year. It’s simultaneously inspiring and depressing. Inspiring because of the work ethic, the determination, and the tangible results (I was using web.py for the Safecast API before we switched to Rails). Depressing because he did more for the good of society (or maybe just the internet?) before he was in high school than I feel like I’ve done in my entire life. Depressing because it shows the power of forces outside of your control. Because for all the good in you, if it’s not backed by strength, death seems easier. When you’re dead, you don’t have to think about corrupt politicians or tyrannical oligarchs masquerading as elected representatives. ”Fuck it, I’m out. You deal with the bullshit instead.”
It’s also incredibly enlightening to me to read Quinn Norton’s posts, or to see a photo of Aaron and Taren. I suppose it’s really just projecting myself, as I didn’t actually know Aaron, but I’ve been single so long that it’s probably normal for my first thought to be “this probably happened because of a lack of love” (more realistically, not enough common decency). I feel like I can associate with what I’ve read about Aaron’s introverted tendencies, and his interest in exploring extroversion. I often feel alienated and disassociated, like I have nothing to talk to with my friends. I’ve questioned the definition of friendship. And once or twice, I’ve connected so deeply with someone that it made me cry.
Though I don’t necessarily know the meaning of friendship, I do think I understand what friends are for. We hold each other up when things are down. We make each other smile when tears flow heavy. We lean on each other. We push back. We challenge each other. We help each other through our struggles.
But despite our technological crutches, we still struggle to stay connected. We forget to call loved ones. We converse 140 characters at a time. We lose facial expressions. We never get to transfer electrons through a kiss on the cheek or through a warm hug. We come to think of this as normal. Then, when we’re facing monumental challenges like decades of federal imprisonment for alleged crimes without casualties, we are alone. Without support. Without the strength of our community. Without the memory of our army.
Let’s do better than this. If I’m following you on Twitter, there’s a good chance you’re on my idols list. Please do say hello. Especially if you’re in San Francisco. Especially if you managed to get through this entire rant. Let’s get a coffee, or a beer, or dinner. Let’s go on a bike ride. Let’s talk and debate and play and fight and love and hate and be humans. Let’s build and fix and demolish and learn and improve.
Let’s be friends.
Official Statement from the Family and Partner of Aaron Swartz:
Aaron’s death is not simply a personal tragedy. It is the product of a criminal justice system rife with intimidation and prosecutorial overreach. Decisions made by officials in the Massachusetts U.S. Attorney’s office and at MIT contributed to his death. The US Attorney’s office pursued an exceptionally harsh array of charges, carrying potentially over 30 years in prison, to punish an alleged crime that had no victims. Meanwhile, unlike JSTOR, MIT refused to stand up for Aaron and its own community’s most cherished principles.
Talking with other artists like myself, I’ve begun to think that we need a lobby, a coalition, an advocacy organization…..something. A group that represents the interests of new-model artists.
What are new-model artists? It’s a clunky term for 21st century recording artists who are for the…
I found this gem of a rant because Zoë retweeted my snarky response to her apt observation. Having just seen my friends in The Mowgli’s embody this exactly, I feel like I have a lot to comment on here, even though my thoughts are disorganized, and likely contradictory.
The Mowgli’s used to have their full-length album on that Bandcamp page, and it also used to be streamable on Spotify. Now that they’ve signed to some subsidiary of Island/Def Jam, their single is the iTunes free single of the week, and their full length album that had already been released is back in the can, likely to see re-release whenever Island thinks it’ll fit their [Island’s] marketing schedule.
Basically, they’re at the mercy of their label, unless they decide to pull a Death Grips, which will probably be less cost-effective in their case, since they’re a huge band (8 or 9 or 10 people. or 11?). The flip side of that is, they got an advance, and they can focus on music without worrying about side jobs to pay their bills for a while.
And I must stop myself here, because I just realized I’ve been reading the wrong point from her post…
My initial reaction was that Zoë is advocating for the creation of artist support groups that make it easier for indie artists to be indie artists. It looks like a handful of commenters on the original post got that impression as well, but after re-reading the post, I feel that a proper response should really focus on the lobby concept and the idea of being represented in legislation. So, suddenly politics.
So, what would this lobby look like? The Manifesto bit makes sense, but would the organization represent the interests of all of the artists like The Mowgli’s that are only DIY until they don’t have to be DIY anymore? How do you vet lobbyists to be sure they are in line with the interests you actually believe in?
And then, what are the interests you actually believe in?
Different artists are bound to have different ideals about policy, and the details of what the lobby should think of as official. No show that costs more than $5. No LP that costs more than $10. But this isn’t Repeater and it’s not 1991 anymore, and those LPs cost me $11 each to produce. I don’t mind getting paid $0.009 per stream. Fuck that, I want to see the statutory mechanical rate per stream (that’s $0.091 per [copy] for those of you without a Music Business background).
I guess the point I’m trying to make is that focus is paramount. A non-profit lobby makes sense, but as soon as you get into providing business management advice, you start down the waterfall of becoming an actual business management firm. From the sound of the Manifesto and the comments, indie artists need both, but let’s not confuse the two because we can’t figure out how to fund one without taking money from the other.
I still don’t think I’ve gotten all my thoughts out on this one, but I think I’m losing too much focus to be effective anyways. Anyone else have any thoughts?
This appeared in my Twitter feed.
Last year, the Supreme Court decided not to review a case involving Eminem, after an appeals court had decided that for Slim Shady, digital downloads count as “licenses,” which carry higher royalty payments than “sales” do.
The difference between whether music bought online via iTunes and other retailers should count as a “license” or as a “sale” isn’t academic. As the New York Times explained last year, Eminem’s contracts calls for him to get 50 percent of royalties for a license, versus just 12 percent for a sale.
If you don’t find this to be fucking awful news, let me break it down for you.
The implication that purchases on iTunes are licenses means that YOU DO NOT OWN THE MUSIC YOU PURCHASED. When you buy an LP, you own it. You can do what you want with it. You can lend it to whomever you please. You can listen to it under whichever circumstances please you. Hell, you can even use it as a frisbee.
When you spend that $0.99 on iTunes, you don’t own shit.
You own a legal agreement that entitles you to do certain things (and to not do certain things) with a bundle of bits that make up the .m4a file. I haven’t read all the fine print, but I’d imagine Apple (or even Sony-BMG) could pull an Amazon here whenever they so please.
That’s the first part of what’s totally fucked. You, the purchaser, don’t actually get much for your purchase. This is why people give a shit about DRM-free content.
The flip side of fucked is that last sentence in the quote.
50% royalty for license, 12% for sale
The particular numbers here strike me as fairly typical, but they are entirely what’s wrong with the record industry. Because the royalty agreement skews so heavily in favor of the label, artists (and if I understand correctly, the Future of Music Coalition) have just been duped entirely into accepting a bundle of cash in exchange for signing on to the notion that digital purchases are mere licenses. They basically just said “fuck you” to the people who keep them paid: the people PAYING FOR MUSIC.
The biggest problem here is the ridiculously unfair discrepancy between the license rate and the sale rate. 12% of a sale of something that you created is asinine. This is why DIY artists stay DIY. This is why we can’t forget labels like Touch and Go and Dischord and their 50-50 deals.
I’m sure somewhere, someone high up at Sony considers this settlement a long-term victory at the expense of a few million right now. Or maybe it’s someone high up at Apple.