Joel on Software
May 30: Portland OR:
RailsConf 2008
Sep 3-4: Boston:
Business of Software 2008
a JOEL ON SOFTWARE conference
Search:

Wanted: Quality Assurance Lead at 3Sharp (Redmond, WA). See this and other great job listings at jobs.joelonsoftware.com.

Worst Project Ever?


By Eddie Kessler, VP Engineering, Napster
Wednesday, September 25, 2002

Hi Joel,

I'm sure that this is perplexing. As Napster's vice president of engineering and CTO during much of this time, please let me share an alternative perspective. Building a paid music site based on peer-to-peer technology involved more work than you might think at first glance. We had to:

  1. Integrate a user management and billing system.
  2. Build new Windows and Mac client applications that handle the new system, plus add significant improvements to usability and reliability, including better search tools.
  3. Create a system that identifies every MP3 file our users share with 100% accuracy, regardless of the names given to the files. Determine with 100% reliability if any of these files is on a black list of disallowed files, provided by recording companies and music publishers in many formats and with varying degrees of accuracy. This is not even theoretically possible, but major strides were made with the help of Relatable's acoustic fingerprinting technology and a large amount of "expert system" analysis code developed in-house.
  4. Build a payment system to compensate the various rights-holders of the media content that understands fully the vagaries of the music royalty systems and the concomitant dispute resolution processes they involve.
  5. Build a system that would enable owners of music to automatically submit both content and ownership and royalty rates to the system. Digitally encode, fingerprint, and catalog all submitted content. Seed the system with the licensed content.
  6. Build a Digital Rights Management (DRM) system from the ground up that allows controlled usage and secure distribution of content over a peer-to-peer network, including content that was introduced by users.
  7. Build a web-based user registration system.

All of this was accomplished and ready to go. I think you would be very surprised at the tiny size of the "whole team of developers" that was involved. Versions of the system were in beta test from December 2001. The only holdup to full deployment was the record companies' and publishers' refusal to license their content to Napster.

Please keep in mind that simultaneous to much of this work being done, significant development of the existing Napster system was required to be made under court order. Most of the engineering management and many of the key Napster developers were involved in this work. I was also directly involved in the legal process, requiring me to spend massive amounts of time doing legal work, including briefs, declarations, depositions, and very frequent meetings with the RIAA's and the Court's Technical Experts.

As an aside, I hope you don't think that the "3 months" Shawn took to write the original version (not true anyway) was the reliable system that scaled to handle 2 million simultaneous users! Although the Windows client was largely Shawn's, the server code was completely rewritten.

Having managed many large-scale engineering projects, I am well aware of the second-version syndrome. But in this case, we were really building a new first version.

Best,

Eddie Kessler

Discuss at joel.reddit.com


Students: Fog Creek Software has awesome summer internships in New York City. You get free housing, free lunches, lots of free New York activities, and a chance to write great code with great developers. And a competitive salary. Apply today: we only have four open positions and usually get hundreds of applications, which will be considered on a first-come, first-served basis.

About the Author: I'm your host, Joel Spolsky, a software developer in New York City. Since 2000, I've been writing about software development, management, business, and the Internet on this site. For my day job, I run Fog Creek Software, makers of FogBugz - the smart bug tracking software with the stupid name, and Fog Creek Copilot - the easiest way to provide remote tech support over the Internet, with nothing to install or configure.

Enter your email address to receive a (very occasional) email whenever I write a major new article. You can unsubscribe at any time, of course.

Email:

 
Home | Email | Bug Tracking Software | Remote Assistance | Complete Archive