Justin Frankel is the programmer of the legendary Winamp. We were interested in the “early days” of the Winamp from the beginning in 1997 until just before the Winamp went bloated with the releases after Winamp 3 in the time after AOL bought Frankel’s Nullsoft.
“Winamp, It really whips the llama’s ass!”
We talked with Justin about the early days of the Winamp, the design, the time and the decisions he made. Yet he also talks about this recent audio-tool REAPER, also in terms of design and community. In other words: things of interest for the designing developer! If you are more interested in the Winamp AOL buyout and the time Justin left… scroll down. There are some related readings linked at the bottom of this interview.
Back on 1997 Justin started his first company “Nullsoft” with the first software called “Winamp“. Winamp went so famous, that AOL bought Nullsoft in 2001 for about 80 Million Dollar. Still Winamp is one of the most popular music applications on Windows PCs. Especially the releases smaller than Version 3 (V2.6 – V2.91) are still often used and I also power it on regularly. This piece of software is one of the most loved and distributed independent music applications in the world, not only in history, but still at present.
Nullsoft also made lots of other software that is also widely in use, or had revolutionary impact, software like the SHOUTcast streaming server, the Nullsoft installer, the first decentralized peer-to-peer network Gnutella, or the high-secure closed peer-to-peer network WASTE.
Winamp. V0.2a. The first release. Memory usage: 1.3 MB.
Hi Justin, let’s start at the beginning. Why did you started doing the Winamp?
I started making Winamp, and actually pretty much all software I’ve ever created, because it was software that I wanted to be able to use. Often there is something you want to do on a computer, and no way to do it or at least no way to do it that you will enjoy.. That’s the joy in programming, you can make things to use. Winamp grew out of wanting a good, enjoyable way to listen to mp3s on a computer. It wasn’t the first mp3 player, but the mp3 players around before it were hard for me to want to use.
Likewise, my current project, the digital audio workstation software REAPER, was created because I didn’t particularly like the other available software for recording music. As a programmer and software designer, I think the most important thing for developing applications is that you USE the software you are working on. Oh, and I also think that it’s essential for the people designing the software to have an understanding of how things work and can be built – just in case, not that anybody asked!
Winamp V0.92. Memory usage: 2.6 MB.
Did you at any point expect such overwhelming success with a relative small application like Winamp?
I didn’t.. At the time I started Winamp mp3s were very much an underground phenomenon.
How important was the community for the development, design and success of Winamp?
Community is such a tremendous resource for software developers. Of course much of this varies depending on the kinds of users – for both Winamp and REAPER we did or do have quite a few advanced users, enabling more of this:
- Quality Assurance (QA): Having vocal users who test software in their day to day use and have easy means to communicate back to the developers is fantastic. Both Winamp users and REAPER users have played this part fantastically, and to be honest since there are more of them and using different techniques, they do this job far more comprehensively than having a big dedicated QA staff. Modern software is so huge and can be in so many states, it’s pretty absurd to think that a small team can properly test it. Sure, dedicated QA can help, but at the end of the day the users are an order of magnitude more powerful.
- Feature suggestions and design: If you have a community, people will tell you what they think. It can be a lot of work sorting through suggestions and complaints, even more work to figure out how they fit in with the vision of the total product and yet more work to figure out how to make them happen. Often we sit on suggestions and ideas for months or even years before it is clear how to implement and/or integrate them – then once we do all usually goes very quickly. At any rate, having tons of feedback on design is a huge plus for us.
- Customization: Winamp supported skins and plug-ins, REAPER does as well. Having users overjoyed to help make our products better is a huge plus. Everybody wins, too! It’s great stuff.
The best way I’ve found to get this to happen seems to be “forums”. Forums seem to really work well for this kind of software. Of course you have to create the right environment – encourage people to act cool, try not to control things too much… Give respect, get respect, that sort of thing.
REAPER audio work station V2.2. Memory usage in idle mode: 23.6 MB. Space required on harddisk: 11MB.
I think for many people the “old” Winamp (before version 3+) is one most precious pieces of software that was ever written and I see the old winamp still on many PCs. What made the Winamp so good? What do you think were the key-criteria that made this application in particular not only successful, but also loved by so many people?
*laughs*. Well, I think everybody uses iTunes now anyway… I think what made Winamp nice was, that I was pretty stingy about what I’d do, which may have been a fault… I mean, you look at a lot of music playback software, and they’re trying to do so much at the expense of the basics. There are about 20 things in iTunes that drive me NUTS, which means I can never really use it, except for putting music on my iPhone once every few months…
Winamp V0.99. Memory usage: 2.6 MB.
You did not only the Winamp, but also other revolutionary software, at least in technical or conceptual terms. I think of applications like “SHOUTcast”, “Gnutella” or “WASTE”. What is your driving force in developing software? Do you have still more “revolutionary potential” going at the moment?
Like I said before, I make stuff I want to use.. So who knows? *smiles*
SHOUTcast wasn’t terribly revolutionary, if you ask me… and the most interesting part of it, like the automatic directory listings etc., actually was Tom Pepper’s idea, anyway. I just wanted a way to broadcast episodes from the radio show Loveline online since they didn’t play it where I lived.
Why didn’t you changed the original Winamp-skin for years?
The default skin was its identity, though. It changed a little bit here and there! Quite a bit actually if you compare 2.x to 1.0. Had we changed to some other skin, you wouldn’t be able to recognize it. We did change it vastly for the “modern” look for Winamp 5, but I still use the classic mode most of the time myself.
Winamp V3. Memory usage: 9.6 MB.
Writing applications seem to play a very central role in your work. What do you like so special about writing tools?
I’m pretty lazy. Not TOO lazy, but reasonably lazy. For example, after a month or two of dealing with some repetitive task I’ll usually go write a script for it… What I really like is being able to make things easier. It’s also pretty gratifying to have a positive impact on other peoples lives. The final thing I should mention that’s great about software, is that the author can write something once (OK well it’s continuously, but you get the idea), and then people can enjoy the benefits of it indefinitely. It scales infinitely. Which is AWESOME.
What inspired you to the name “Nullsoft”?
Well at the time I came up with the name, it was both a play on Microsoft, and also accurate since the company, and my skills as well, didn’t exist.
Music seems to be a driving force to your software-development. Is this true? Why or why not?
I like music a lot, and more and more as life goes on. Music wasn’t a big part of my childhood, until highschool when I started listening to stuff that had a big impact on me. I wouldn’t say that it’s really a driving force, but it’s a part of my life no less…
The Winamp. V2.90 with custom Micromusic skin. Memory usage: 8.6 MB.
Also can you tell me something about beauty-of-code or light”weightiness” of the technologies you developed? How important is it for you? Who is responsible? What is the design/aesthetics behind it?
Well we try to keep things small, which has numerous benefits besides the obvious “generally less bloat/ram use/disk thrashing”:
- Faster compile times, speeds up the development process
- Easier to get updates posted
- Easier for end-users to get updates
Obviously sometimes you have to do things to make things bigger, and that’s OK, but to the extent that you can save size and/or complexity without really compromising functionality, why not?
Really it’s just the attention to these details and the making compromises of with this in mind that gets you there. For example, we still use VC6 because the newer versions of MSVC can’t dynamic link to the classic msvcrt.dll (which is on all systems Win95b+), so you either have to ship a big runtime or static link everything. This sounds hideously boring, but for an application like REAPER with many plug-ins included it’s probably the difference between a 3MB installer and a 5MB installer.
What important parts played Tom Pepper in the development?
Tom was essential in making Winamp what it was. He designed most of the artwork for the user interface, hosted the website and was responsible for a huge amount of the overall Winamp experience. We also created SHOUTcast together which ended up being huge.
Just turn back the time. What you would have done different on the development of Winamp? What would you do other with the experience you have now?
That’s tough… Winamp was probably my first real Windows application, other than little ports of graphics engines and whatnot, so it evolved quite a bit. Perhaps you should ask people who maintain the code now what they’d like to be different!
How did you released and delivered the first versions of Winamp?
The very first versions were distributed on IRC in channels such as #mpeg3 on EFNet. Soon after we set up a website and so on… But initially it was just something for me and some friends to play with.
Thanks Justin for your insights especially on the development of Winamp the recent project you are working on. I’ll bet many will enjoy it.
Text and Interview: Martin Wisniowski, April 2008
Weblinks
Further Reading
- Interview in the Rolling Stone Magazine, Jan 13, 2004
- Interview in Wired, Oct 02, 2006
Wow, great interview, thanks!
Posted on May 13th, 2008 at 22:04truly fantastic interview :) enjoyed it!
Posted on May 18th, 2008 at 14:07I started trying out Reaper some months back- it seems to have great possibilities, but the illogicality of the thing drives me nuts.
Just can’t understand why people complicate simple things so:
Why on earth does it not occur to these people to return to the basics and build from there?
Like the original ‘Cubase’ by Steinberg- I have this on an old Atari ST and it is great to use. You want to delete a recording select it go ‘delete’ it’s gone. You need to select an item in a track- grab it select it paste it- duplicate it, eraze it- no problems.You want to recycle a part- click left mouse for a left marker-rt for a rt one- what could be simpler and more intuitive than that?
You want to edit in music staff mode click this- there you go- o in piano roll mode, or any other, Dead easy
Even Steinberg on their later SX version of Cubase altered many things which should have been left well alone or added to or improved.
Do the designers of new cars decide to say- put the accellerator and brake on the outside just for a change, or aircraft designers decide that it would be fun to have the rudder pedals operate the elevators, the throttle controls and the joystick exchange functions?
Posted on July 4th, 2008 at 11:45Every new DAW that comes out invokes a massive learning curve, and makes composing and playing music even less enjoyable and intuitive.
I’ve spent hous with Reaper in making a tune, then trying to select some part, yet it always seems to select what I don’t want it to and vise versa. It could be a truly great program with some heavyweight tweaking, but right now its a pleasure to shut the pc down and go off to the pub.
I recall ‘Winamp’ had no idea that this was by the same author- it drove me nuts too. Like Reaper, I kept trying to use it but the thing was so irrational and frustrating it was such a relief to finally dump it when more user friendly alternatives appeared.
When you are ready to graduate from Garage, maybe try acid and when you have the hang of that then go back and try the most intuitive Reaper. I have used everything from old trackers to Ableton and you know what….. Reaper is superb. Computers take time and patience so go get that brew at the pub and when your ready to move to a big boys toy try Reaper again. In closing if your going to cap on some of the best software ever built for music try to know something about software for music first.
Posted on September 3rd, 2009 at 12:31Justin is the man. I have been using Reaper for about 18 months now. It is a great package with more bells and whistles than I will ever need. Most importantly it is constantly being improved and honed with a new version being available for upload just about every week.
Posted on November 14th, 2009 at 02:23With many bloated programs this would be a pain, but Reaper is such a small(physically not functionally)program that it is a fast download, even on dial up.
Keep it up Justin and crew!
[…] you know, we have an Interview with Justin Frankel about the “early years of Winamp” […]
Posted on December 9th, 2009 at 07:53This is 11:37pm and have been evaluting REAPER for almost a year and a half and I must say that when you select something and you press delete, its gone! Yes, everything people have ever craved in a easy to use DAW is finally here. I have been a Cubase user for the last 5 years 6 years and I will be switching. The only thing I miss is OMF sometimes, and I hope that some time soon, that too is going to be added. Love to Justin and his Ethics and philosophy, I truly agree with him, and this interview was inspiring to read.
Posted on September 25th, 2010 at 20:20Hey Namin, can you be a little more precise? “When you select something and you press delete, its gone” – is this good or bad? I just don’t get it.
Posted on September 25th, 2010 at 21:12That was actually for That1, the third one from the above comments posted in 2008. Yes, it was a lot different in 2008. But those issues are not there anymore and there is also MIDI editing possible which is pretty much like that you find in Cubase.
“When you select something and you press delete, its gone” meant that we use the same windows keyboard commands. Its actually GOOD because you do not have to learn a new set of key commands, however, you do have the option of assigning whatever key you want with REAPER if you so choose. Now, one would select something and delete if only one wanted to in the first place. Or maybe you want to select something and want to move it around, or maybe you want to create a duplicate of it, also these are super simple. I also like the wheel on the mouse to zoom in and out and duplication for me particularly has been changed to Ctrl + D, Ctrl +Z is undo and so on, just like in Cubase. Grouping of tracks is another great feature of REAPER. Check that one out.
I am using 64bit version of Reaper and I must add that its ROCK STABLE. It has never crashed on my system which is Windows 7, 64bit, 8GB ram and Intel 920.
Posted on September 26th, 2010 at 07:08Ah, now I get it. Thanks for clearing this up!
Posted on September 26th, 2010 at 23:00[…] von Cockos (der Firmeninhaber ist übrigens kein geringerer als der Winamp- und Gnutella-Erfinder Justin Frankel), wurde ich durch viele “Mix-Rescue” Beiträge im britischen Recording-Magazin […]
Posted on August 4th, 2011 at 01:30