2. Justin Frankel, creator of Winamp and Reaper - podcast episode cover

2. Justin Frankel, creator of Winamp and Reaper

Jan 31, 202455 minSeason 1Ep. 2
--:--
--:--
Listen in podcast apps:

Episode description

Justin shares how he created Winamp and sold it to AOL at age 20 and tells us about his current project, digital audio workstation (DAW) Reaper.

Segments

[03:16] The genesis of Winamp

[11:07] Winamp whips the llama's ass

[14:06] Nullsoft

[16:27] Winamp as a platform

[23:16] The business side of Winamp

[24:11] What was it like to work at AOL?

[27:06] Why Justin doesn't use streaming services

[30:03] Justin's website

[32:06] Why Justin created Reaper

[35:48] Shipping v1 of Reaper

[37:02] Reaper is built by just a few people

[38:53] Cross-platform codebase

[40:48] Reaper as a platform

[43:42] Future of Reaper

[44:40] AI in Reaper

[47:09] Questions lightning round

[53:36] Book recommendations


Show notes

Where to find Justin

Books

Podcasts

Software

Do you love audio podcasts?

Try Metacast podcast app at ⁠https://metacast.app⁠.

Join our Reddit community at r/metacastapp. Get in touch!

Send us an email at [email protected]

Subscribe to newsletter at ⁠https://www.buildersgonnabuild.com⁠

Metacast: Behind the scenes - "build in public" style podcast and newsletter at ⁠https://metacastpodcast.com⁠

Transcript

If I work on something I get invested in and it's important to me and so if I sell it I'm gonna try to stick around and make sure it doesn't get ruined and that's what I did. Also I think you know there were a lot of people have this thing like you can't give a 20 year all the bunch of money and expect them to stick around and do something like fuck you I'm gonna be here. Hello and thank you for tuning in to the Builders Gonna Build podcast.

It's a podcast where we interview entrepreneurs, founders, engineers, product managers or all of the above who build amazing technology products. I'm your host Ilya Bestylev and I'm Arnab Dekas. Ilya and I are co-founders of Metacast, a small company where we are building a new podcast app. We are all huge podcast nerds and we've never liked any of the apps that are out there.

In Metacast you can get a transcript for any episode on any podcast and you can use a transcript to not just listen to podcasts. You can also read, you can scheme, you can skip ads, you can bookmark, you can highlight, you can share specific parts of the podcast. So it's really cool for podcast nerds who get knowledge out of the podcast and you wanna go back to the part that you liked or you wanna share part that you liked.

So Metacast makes it really really easy to access that metadata that's locked in audio because we are transcribing the episode for you. And we are developers so we approach Metacast as a tool. How would you build a podcast app if it was an ID that's kind of the mindset that we are having with this?

And along with these PowerPack features we also try to make it super intuitive so that you can very quickly scheme through your favorite podcast and find the episodes you want to listen to with features, automatic playlists and stuff like that. We build in public, we talk about our entrepreneurial journey in Metacast behind the scenes podcast and our subreddit Metacast app. Find all these links at Metacast.app.

The guest of today's podcast is Justin Franco, the person who together with a few other folks created Winamp back in the late 90s which was a very popular, probably the most popular audio player for MP3s when that format first became popular. Justin tells the story of how he built Winamp. He talks about that position of Winamp by AOL and how he stuck around there. My favorite quote from that is, you can't expect a bunch of 20 year olds to get a lot of money and stick around.

So that's a great hook for that. After exiting AOL, Justin decided to build a digital audio workstation called Ripper which he built with just one other developer which is amazing because that piece of software takes on behemoths of the music recording software industry like Pro Tools and Adobe Audition and others that have probably hundreds of people building the software. It's a story of ultimate bootstrapping and indie hacking before indie hacking became a thing before the term even existed.

This episode was originally recorded in March 2023 for our Metacast podcast. So if you hear references to the Metacast podcast, that's what that's about. Enjoy the episode and leave us a rating and a review. Let's actually write a delorean back to Mente's, what was listening to music like back then when you were starting working on Winamp? I grew up in a small town that for a long time didn't have a record store. Getting music was always difficult.

When I was a teenager, I was always playing around with downloading music. Sometimes it would be from like FTP sites in Europe and there'd be AU files that were like 8-bit ALAR, ULAW, whatever that was. At that point I didn't even have a proper sound card. I had a resistor network that plugged into the parallel port. Then I wrote software to play things back from there and drove people in high school crazy listening to the same songs over and over again testing that. But it was a lot of fun.

It was always an interesting thing of being able to listen to music in different ways. This is back when you were in Arizona, I believe? Yeah. When I was growing up in Sedona, when I was in high school and programming for DOS using TurboC or Turbo Pascal before that. What was your favorite music at that time if you remember? I really liked the first Pearl Jam album. I listened to that a million times.

Also the Red Ockley Peppers Blood Sugar Sex Magic, which is still very good though lyrically it doesn't really hold up as an adult, but I can still do some pretty terrible karaoke renditions of Circe Ico-Sexy, given the opportunity. I was recently re-listening to the 1991 albums. I listened to Pearl Jam, I listened to Metallica's Black Album and a few others. And Pearl Jam album, it holds up so well. Every single song there is just great. Yeah. I love the album.

Black is probably my favorite song or ones. They're all really good. That is a fantastic album. I listened to one of your interviews and I think you said that you were frustrated with the experience that other MP3 players had back then, so you decided to write your own MP3 player to just solve your own problem. Yeah, I mean it was something I was interested in anyway. So it wasn't that I was really frustrated. It was more that I'd already been playing or writing music players for Goss.

And then here suddenly there's this new format that actually sounds really good and you can download things in a reasonable amount of time. So then it was like, well, you know. And I had a friend who made a Mac port of AMP. So after seeing that, I was like, well, I should do one for Windows because I don't use Macs. Oh, so what was AMP? AMP was this open source MP3 decoder that was written by a guy in Croatia. It was written by a bunch of people.

It started by a guy like Thomas Labuselak, probably mispronouncing his name. Sorry, Thomas Lab, wherever you are. It was like a open source free implementation of MP3 decoding that was otherwise somewhat proprietary. There was like an ISO standard and stuff, but there wasn't an implementation that people could actually use that was reasonable. So you rewrote that, er, wrote that for Windows hands win AMP? Yeah, I ported it to Windows and like made a UI for it and stuff like that.

Did the audio hardware output stuff? And then I went to there of like all the little things that you wanted to do to make listening to music on your computer better than it would be elsewhere. And I think I may be misremoring, but in these early days of win AMP, it didn't read any of the metadata from the file itself, right? We had hundreds of thousands of pirated, but in those days it wasn't call pirated. Music in our hard drives. I mean, in India, there was no other way to get these songs.

So I just passed on from hard drive to hard drive. But I think I remember having to label them basically each and every song individually, who's the artist, what's the track, and all the metadata yourself. I think initially there were like all sorts of standards people would use for like using the file name to have descriptive names and things like that. And then pretty early on, though, there were someone made ID3 tags.

I remember the first player that supported that I think was probably Mewzark. I might be misremoring that, but I'm sure it did. So then we were like, oh, we should support that too. It was a very, very limited 128 by tag for some reason, they just wanted to be really small. So when you said it took a reasonable amount of time to download the file. So let's shock our younger listeners. How long was the reason of all back then?

Well, you know, like if you had a 28-8 modem, it would take 20 or 30 minutes or something like that. And I think this is in the US me growing up in India. I would basically find a source and started and go to sleep and next day hopefully it has completed. Well, how fast of a modem were you on at that point, though? I don't even remember, but it was one of the... Or was that for an album? No, no, just one song.

Yeah. You would start the download of the song and then next day morning you wake up and see if it ever completed or not. Yeah, I have a similar experience. It may have been not another full night, but an hour or so from local BBSs, from Napster. I mean, Napster, it goes all the way across the world. So there is all sorts of network latency along the way. So yeah, it was long and very, very expensive, too.

But I remember we were able to get some bootleg concerts recordings that I just couldn't buy in the city where I was growing up. It just was not available. So just a quick TLDR for our younger listeners who are maybe younger than 40. Or so, so back in the day, it was mid 1990s, you had to listen to music on your computer because there was no iPhone or anything. You had to buy a sound card, which is a special thing. You put into your computer so that you can play music.

You can just plug your headphones. You had to use a sound card and you had to download files for hours in order to listen to them. I mean, cassettes and disks were there, but they were not available everywhere and they were expensive. You could copy tapes from friends and that's actually how I listened to a lot of music, too. Sometimes it would be a copy of their copy, too, and so that you'd get these degraded quality.

But it didn't matter, because a really good album, it holds up through the dubbing process. Eventually you hear the CD of it and you're like, whoa, this is even more amazing. I remember listening to one of the Jane's Addiction Nothings Shocking, which also holds up really well. A lot of Jane's Addiction songs do, yeah. But that album listened to that a ton on third-generation tape.

So imagine like Ilya and me downloading one song every night, something like that, and then when I landed up in engineering school, all the computers are connected on a land and you get this. I don't know, a thousand, a hundred thousand songs. Amazing. Now I have to basically write label every piece of song everywhere. We probably spent a few months easily doing all that, yeah. I got an email from Spotify yesterday, which was very interesting.

It says something like, you're a top listener of Metallica, so we give you a special thing from Metallica. So they released a new album in April, which is cool, and I go in the world tour. But they also are going to sell it on a cassette. So you can buy a cassette for $16. They have limited numbers of them available. I suppose people will be buying those, but not listening to that. I haven't had a cassette player for maybe 30 years at this point.

It might be more like a collector's item to show it rather than actually play it at this point. Yeah. Because the cassettes also, the quality would not hold up over time, right? Because it was magnetic tape and then maybe a year or a couple of years and then it all goes to shit. Yeah. I don't think I even have like an actual CD player anymore. I have an old computer that has a CD burner that I could use to rip CDs, but I don't have an actual CD player or cassette player. I haven't for years.

Yeah, I don't even have a CD reader. Even my car, my latest car doesn't have a CD anymore. So if I were to get a CD, I would never be able to play it anywhere unless I bought an external CD drive or something. So I wanted to ask you a question about the VNAMP. So when you started VNAMP, I think for the first time, it would play that small audio file. VNAMP, Vipsel, Lama's S. Thank you for the answer this question a thousand times. What was the origin of that phrase?

Well, the origin for us was that someone emailed saying that. The whole Vipsel Lama's ass is a Wesley Willis quote, I think from one of his shows, recordings he was like talking about something and not really what the Lama's ass. Okay. So what I'm curious about is how you made this decision to put this into a piece of software.

So imagine if you opened iTunes today and it says something like iTunes Vipsel Lama's ass, Apple would be just canceled because of, you know, it's not political correct these days, I suppose. So when you were doing this in the 90s, did you think about it at all? I think you could totally do that now and they could do that now. I don't think this little cancellation thing is really a thing. It's only a casual use for people to try to distract from their own failures.

The people who get canceled by comedians who get canceled still end up selling our shows and having shows and doing all sorts of things. So I don't think there are actual instances of people getting canceled. There are people facing consequences for things when they do things really terrible. But anyway, would Apple do that today? No, probably not. But, you know, when you're a small niche company or whatever, you can do things like that.

We could do that for Reaper, but it wouldn't make any sense. For a long time, we had a demo project that it would load with, which was a Brad Sunk song, which was good. But eventually, it's like how many times do we need to make people download that? By the way, I posted on my Instagram and also in other channels. I'm like, we're talking to Justin Frankel. Send us your questions.

So I got two pages of questions in a Google Doc, of which most we will not ask because they're like super technical about Reaper, they're just not suitable for this podcast. We could always do like a lightning round of those questions. If you want to, I think that would be a good goal is to like answer them as quickly as possible just near the end or something. Actually, if you have time, at the end, maybe we could just randomly pick a few. No, no, we should do every single one.

I'm sure the answers won't be like comprehensive and they may not meet the needs of the person asking it, but I think we could do every single one. Let's try it. I'll have to translate most of them from Russian into English, but yeah. So one story that came actually from my friend who, you know, both he and I, we went to school together. So he said that back in the Windows 95 days, you had to reinstall Windows 95 so often because it would crash every weekend, wouldn't put again.

And you had to install the software with it. And Winamp was one of the pieces of software you would have to install first because that was the thing that we used the most on our computers. And you would hear that lips, llamas us every time. So that's why it just saw him ingrained in his head because he was hearing it so much because he had to reinstall Windows 95 so much. And that brings me to the next question about your company. So your company was named NoSoft. Is that reference to Microsoft?

Yeah, it was just kind of a play on that of being non-existent as opposed to because Microsoft was this massive company making massive Windows 95 or whatever, which is I don't know if you looked lately, but Windows 95 is tiny. You can run it in your browser now, but at the time we were like, oh, this is so bloated. But yeah, so it was trying to be cheeky on that. And yet they were like Microsoft. So you went for like nothing soft at the peak. How many people didn't know soft employed?

It was complicated before we were acquired. It was like six people or something like that. And then after we were part of AOL, then there was this gray area of who works for what because you're just part of AOL. And so there were more people, but there probably a dozen who were like really working for the whole Winapp NoSoft thing. But everybody ends up doing things. There were people who would do some work for Winapp and other some for other parts of the company and stuff like that.

Where they all pretty much in the programming space are where there are different roles and people. Before or after do you mean before? Let's talk about before. At that point, I was probably the only person programming on Winapp and then Tom Pepper was like, you would do more of the backend programming and things like that. The shout-out cast directory which we had and things like that. He was the server guy and I was the client, ultimately.

And the other four people were in some kind of business function? Yeah, pretty much. Maybe I was even four or three other people that were doing like figuring out opportunities and putting me in a position of constantly having to be like, ah, I guess.

If you have people whose job it is to like do business things and you're the person who is focused on the product, then you're always at odds because there's often things that would be good to do for business and for money that are not really necessarily good to do for product or they're paying in the ass to do for as a programmer. And they're like, why am I wasting my time on this? Usually it's both. But you were the boss, right? So you could actually decide what to do.

I was, but at the same time, I liked to work with you at all. How old were you when you found that Winapp and also one was the acquired at BIO? I think I was 20 when we were acquired and when I started working on Winapp I would have been 19, 18. That's very impressive. So one thing that I found really fascinating about Winapp now in retrospect after having worked in tech for so many years, it was a Windows application, but it was also a platform.

You could create skins for it, which was after the amazing, I love the fusion skin, like the energy skin. I still have fond memories of it that I can't find a screenshot of it anyway, but anyway. And you also had plugins. So you basically opened up your application for other people to extend on. How did you decide to do that? As opposed to like having a closed ecosystem so you decided to open it up a little bit?

These were a result of people hacking the executable to change the resources for the images out. People would do that and it was cool and we're like, whatever. But every time we would update the program, then the people would have to go and deal with this process of replacing images again. So it was just like, well, why don't we make that easier for people?

And then we don't have to worry about people using old versions and then complaining about bugs and turns out there using the old version because it's got their customized images and stuff like that. And that was kind of my first Windows application that I really made. Before I did that, I dreamt of being a demo-seeing coder and to fill in the younger audience.

You know, there were people who were in the 80s and 90s writing demos that would push the limited hardware of the day to limits and do impressive things. Sort of by any means necessary. And they're still doing it today, but today it's completely different game. And people do it today now for the original IBM PC and push that to the amazing limits, which is impressive too. But I was never very good at it. So I made some demos.

One of the demo groups was like Cubic team and they made Cubic player, which was like a mod player. Also as a explanation, mods were these files that were like a bunch of samples and instructions of how to play the samples at different times and things like that. Pattern base. I think they originated on the Amiga, but they ended up everywhere. So Cubic player was this mod player. It was great. And it had all these great visualizations in it.

I was inspired by that to make Winapp do more of those visualizations. And in doing so, it made sense to just make a plugin system so that I could do that and not have it be like necessarily built in, but just so I could go and experiment and build things on top of that. And then other people could too. But I mean, for the most part, we did a few and then there were a few other plugins, but there were never that many visualization plugins.

There were the Ryan Geissies amazing plugins and then maybe a couple others, but that was mostly it, I think. And did you have like, well, not a API, I guess, but did you have documentation about how to write the plugins and all that? How did people discover all that? Because this is very early on. Now it's very common to do this, but not in those days. We published a very simple SDK that was pretty sparsely documented, but had the interfaces are really good, which were very, very simple.

Now we have to ask what language was Winapp written in? I was in C. And which IDE did you use back then? Was it C or C++? It was C back in the day. And I think I started it on Visual C 4.2 or something like that. And then maybe by the end, it was Visual C6. I used Visual C6 up until maybe five or six years ago, which is really old. I think it's from 1996 or seven or eight or somewhere in there. That was I think the first thing I programmed into Visual C. Yeah.

Well, I started with Turbo Pascal and Borland Pascal later on, but then I used Visual C Studio a bit as well. Visual Studio I think was called that. And I remember there was a documentation packet. It was like four CDs of just a documentation. You had to swap. If you need to look something up that's on CD3, but you have CD1 inserted in your CD-ROM, you have to swap it. It was fun time.

So in one of the interviews you had, I think it was the Sonic Boom where you set with a guy, the drum kit in the background. I think he asked you, the name of person you admire. And I think you almost immediately said John Carmack. I love John Carmack. I used to play it all the time in Doom and Quake and all that. Also read a book about him and John Romero called The Masters of Doom, which is a great book. I'm a big fan of his. So I'm curious, what is it in John Carmack that you admire?

Can you share something that's related to Eats Software? I don't know. I mean, it's the fact that he's pushed the boundaries of what was possible in the genre, but also just in his ability to go and solve these problems. And that's, I guess, what you look to is someone who's like, figures out what they want to do and then finds the way to do it, which is impressive and it's inspiring, I guess, is the other thing. Do you see any similarities with yourself?

Maybe there's similarities, there's differences. People sometimes ask on my question blog thing. I have a site that I run where you can ask any question and I'll answer it, which is I think where you ask to if you can do this interview. But people often ask, do you ever want to do something and then give up or fail or whatever? It's an interesting question and there are plenty of things that I've given up on doing, but it's not because I don't feel like I can.

It's because I just kind of lose interest or it's too much work or it's too much, you know, the work to reward a ratio is too high. I feel like I'm different in that respect than he is. I think that there are plenty of things that I don't understand and I try to get chat at GPT to explain them to me. Lots of other people understand and I say explain like I'm five and then it does and then I'm like, okay, explain like I'm 12 because that was way too simple.

I feel like I'm much more limited probably in my capabilities, but it doesn't stop me from doing things I wanted to. It's just more like I choose the things that I wanted to based on that. But you know, maybe he's that way too. I don't know. I don't know. Moving back to when I'm for a second, is there something that you feel like you could have or would have done differently after having gone through the whole journey? Should have bought it back from AOL when I had the chance.

That was the real thing. How much do you think it could have been worth when AOL was at the bottom and it could have just sold it back to you? I know how much it was, so I can't really say. Or at least I know how much I could have approximately paid, so I really can't say. What did you want to do with that after that point if you were able to? Well, that was the thing is I didn't really want to do anything with it. And it was going to be a big pain in the ass.

So I was like, the only thing I would do is open source it and then, which in hindsight, I should have done. Just like Carmichael, I think he put out the code of quick open source after nobody was buying it anyway because it was too old. He could have done the same thing. They GPO, all of their game engines, pretty quickly actually, I think. All the game assets remain copyrighted and they'll make those free, but making the game engines open source is a nice practice.

So going back to those early, like, no, soft days before you were acquired by AOL, the revenue stream was like, you were not really selling with them, right? No, it was shareware where you know, you supposed to pay ten bucks or more if you want to. And a lot of people did. Like a donation kind of mechanism. Yeah, I mean, I'm sure where I guess is the real thing, which is, I mean, you can look at it as donation, but a lot of people would get repalizes as that too. So there was that.

And then at the time there, we also had ads on the website and we had enough traffic of people downloading skins and things like that too, that that was actually a very significant revenue stream too. And this is the revenue stream that was funding the six people at that point before you got acquired five people actually. Five people. Yeah, I keep going back to the four other, but you mentioned already. Yes. I just actually counted it up. And I'm like, now that's how many of it works.

One of the favorite topics we bring up with the most of our guests is working for big companies versus doing things on your own. After you got acquired by AOL, I think I was reading something about you all listening. My expectation was that you would stick around for like three months and quit because going from a team of five, it's two programmers to this huge behemoth. Just for the record, AOL back then was like Google today in terms of its status and all right.

But you lasted there for a few years. I was there for five years actually. You know, there are a couple things. One is that I had a contract which meant that I technically had two. Obviously people don't follow their contracts. I am not one of those people. But the other thing was is I cared about the thing I had at that point, you know, now I don't really care about it because I care a lot about what I do.

I'm a reaper, you know, I'm that kind of person where if I work on something I get invested and it's important to me. And so if I sell it, I'm going to try to stick around and make sure it doesn't get ruined and that's what I did. Also I think there were a lot of people had this thing like you can't give a 20 year all the bunch of money and expect them to stick around and do stuff like fuck you. I'm going to be here.

Did you like basically end up working on Winnipear where you're working on other things too in the beginning itself? Did you have enough and roll over it to foresee it? You know, I wanted to work on other things too so I did, but I'm going to get to Winnipear. At times like other people manage it and then came back, got to be bossy at time.

So I'm curious, that experience from a team of five to a larger organization, what was the most, I don't know if shocking is right word, but what was the thing that maybe surprised you the most or was maybe like least comfortable? Even that you really didn't expect it and I was like, oh my god. I wasn't really surprised by anything that happened. I guess I didn't really have any expectation. I mean, I was surprised that the whole thing happens.

That was the surprise that I was able to sell a company or even to have a company that was successful enough to pay for whatever we needed to pay for. That was completely surprising and amazing. You know, I was programming for fun and it was something that I wanted to be doing. I had thought about doing jobs places, but I didn't feel like I was really qualified in any respects.

So to be able to just go from doing it for fun and to be able to work on what I want to work on and make money doing that was really lucky and I'm very thankful for having that experience. Yeah, you have mentioned luck in other podcasts and interviews that I listen to. It's fascinating that you were able to write cool things people liked and then you sent something to the universe and the universe gave it back to you and it's kind of, I guess, the definition of luck in your case.

There's luck, but it's also like if I hadn't worked a ton on it, then I wouldn't have happened to you yourself. But yeah, it was all very fortunate. So I want to ask last question about music before we go to Ripper on the Idra History Podcast that you did interview with Brian McCullough in New York, I think nine years ago. You said that you still prefer to buy physical albums and you don't use any of the streaming apps. Is that still a case? I don't use the streaming apps still.

I don't buy physical albums though. I just buy the MP3 albums from Bandcamp or whatever because streaming services just completely fuck over artists. The artists get just nothing. And the way their structure is the labels are the ones who make out like bandits. So if you buy the albums, the artists get most of it. If you pay five, ten bucks a month or whatever it is, the artist you're listening to depending on who the artist are is probably not really getting anything.

I mean, they might get a few cents, but they get a fraction of a cent per listen or whatever. But the artists who are really popular, they get a better rate because of how the money is portioned. And if you pay money to a streaming service and you don't listen to very much, then your money is going to the people who have millions of listens anyway. The people who are already getting paid well, and the people who you do listen to don't get shit.

So I'm very firmly against all the streaming sources. I think they're just a bad deal for everybody. Buy albums everybody. Buy albums. Do you also feel like the listening experience itself is fundamentally different? Why I bring that up is when I use to listen to albums, I would actually concentrate and listen to the album and to that artist and kind of read about the history and everything about those songs.

Whereas now it's just randomly going from one song to another completely different artist, maybe similar or genre. You can still listen to albums on streaming services, but I mean, I like to listen to albums, too. But back when I was making Winnie App, a lot of what you would do would be just playlists that were not albums, too. So I can get behind both ways.

I just think the streaming services are really pulling a fast one on people because people who think, oh, the artists are going to get compensated. The money's there, but unless you're listening to really, really big artists, your money's not really going to the people you're listening to. So you buy the MP3 albums and then what do you listen them on, Winnie M. I don't use Winnie App anymore. No, I actually made like a Winnie App clone as a plug-in for Reaper called Replay.

I think it was called Replay. But sometimes I'll listen to them on the media explorer and Reaper. I listen to them on my phone a lot because I even if I'm typing on the computer, I'll just put headphones in. I listen that way. A lot of what I listen I'm walking around to. And then also I made a web-based player that I use so that if I'm anywhere, I can pull it up and then I can listen based on that.

And it's really ugly and doesn't have any of the aesthetics of Winnie App, but it does have play-listing functionality. So before we go into Reaper, you mentioned your website where indeed I ask you a question about your favorite Winnamp version and also because I need to go with something that's related to Winnamp and then I'll ask you if you want to do an interview with us. And yeah, you graciously said yes. So that website, it looks very much like it was created 20 years ago.

And it also has Clippy on it that can play music for you. So first of all, are you nostalgic for those times? I don't know if I'm really nostalgic. Clippy is, I mean, an icon that needs no explanation. The website looks like it was created 20 years ago because it probably was and I don't spend a lot of time doing CSS or things like that.

So what I guess the real thing is that website is not the same as the question science like my blog, but it's like a feed of all of the creative output that I have. The non-programming output. Occasionally there's programming related things, but there'll be pictures and drawings and music and things like that. So it's purely functional. What does it build in what language? PHP. And your framework or is it raw PHP? That is plain PHP. I really like PHP actually as a language.

At least I might want to do text processing. I rate that in PHP because it's just a good language for that, despite its flaws. At some point I switched to PHP as well, maybe in 2005-2001 from C. When I first came to work to Amazon, PHP was just blank at band for using any projects because of security and that's when I started to develop that. I learned not to like PHP, I guess. But the PHP was a great, well, it still is a great language. Not enough for that.

And I think in Amazon we kind of switched in that time to Pearl and then later on to Ruby and stuff. In a way what you're saying, you do text processing. Those languages really shine for those kind of things. On the command line you quickly want to do something. Actually my PHP is evolving to be pretty much entirely using Pearl regular expressions. Anyway, I should probably just switch to Pearl at some point, but there's enough barriers for me to never fully get comfortable in Pearl.

So let's turn the page into your experience and go to Reaper. So what brought you to create a digital audio workstation? What was the motivation? So I started playing around with recording music in my 2004 somewhere around there. When I was still working on Winapp and soon after. So I was playing around with playing music and recording it. Then I think the route that it took was that I started playing around making this guitar effects processor.

The idea was to have an effects processor that you could program on the fly. And I kind of built this hardware prototype which was all the Jesusonic CruisFX 1000. It had like many ITX motherboard in it and like think that version. It might have originally had like a VIA, you know, X86 CPU and then later it had like a Pentium M. There's a lot faster. And it booted Linux and then it would run this custom software that you could then program on the fly.

And the language that it was used for it was this expression evaluator that one of the guys who worked on Winapp and who worked on VVS, which was one of the way visualizers Francis, he made this expression evaluating library that would compile to machine code and then execute. And so I used that as like a starting point and we had open source VVS and that as part of it. So I used that as a starting point and made this Jesusonic software. It was kind of fun.

It was never really very good, but I kept playing with it. And around that time actually as I started working on another piece of software called NINJAM, which still is around today. And NINJAM is an internet jamming software.

The idea about that was that you could play with other people using audio, but instead of trying to synchronize and dealing with latency issues because if you're playing music with other people over the internet, you need to have it be synchronized or it just doesn't sound right. Because if it's a hundred and all seconds late, then it's not going to sound good. It'll mess up your plane.

So with NINJAM, the idea was that you would delay what you heard from other people by a measure or two measures or whatever. And you'd have a metronome so that everyone would be playing the same tempo, but when you would start the measure, you'd play along with the other people's previous measure. They would play along with your previous measure.

So NINJAM was a thing and it was fun and interesting and very quickly determined that it wasn't something that would be a business to be in because there's just not that many people who want to use it and it's also kind of quirky.

So I open-sourced that and then I started playing around with the Jesus Sonic again and playing around with doing multiple layers of things so you could set up essentially different tracks where you'd have one layer of what would be like you could set up doing loop sampling or record guitar loops, then switch to another layer to do a solo part because it's programmable. Why don't you do all these things?

And so between these two things, I was sort of like at a point where I was like, oh, these are just turning into a recording thing. You know, these separate tracks and you have mixers and you have to mute and solo things. And so I was sort of like, oh, you know, maybe, and a halfway here, maybe I should just go and make something that's useful as for recording and editing stuff too.

And at the time I was using Vegas 4 for recording audio so it was largely, it was very influential in terms of the design choices that I made. It's by Sonic Foundry? Right, yeah. And later Sony. And then later whoever sold you. Okay, so that was at the time when there was already pro tools, I believe, and logic probably was around. Yeah, I played around with logic on the PC too for a little while and I never fully understood what I was doing with it. So I'm curious how you launched it.

It was like, yeah, you have this formidable competitors like pro tools that the whole industry uses and you start building your own thing from scratch. So at what point did you ship it? And what was the functionality and what was the project manager? I guess I'm just curious how that process of ship went. There wasn't really thought into that though.

It was more like I was making it from my own use and it was interesting and then at a certain point, once it was sort of usable, then I started posting it to the internet. And I think it version 0.42 in late 2005 and that it was getting posted and then people started playing with it and giving feedback. And it was free at that point because it was just an experiment really. And then as more people were using it, I got more feedback and improved things and added functionality.

Eventually, when it got more mature probably in like mid 2006, then there was like a 1.0 kind of situation at that point. It became shareware, valuation, period sort of thing. Did the people just by yourself or you've had somebody else help you? I think one of my former co-workers from AOL, Kristoff, was working on it with me too. This is after you left AOL after the five years. That's right. I left in like early 2004 and this was late 2005.

So I spent a year and a half played or out with Jesus on it, jam and things like that. So I checked Kokos, which is an MFA company that owns Reaper. The Wikipedia page says that you only have two programmers. Is it true? Just two people? Yeah, the people who work on Reaper now are me and John Schwartz or Schwah. He's been working on it since 2008, 2007. So he's not like one of the founders, but he's been pretty much there the whole time.

He's also really, really talented and really responsible for so much of the good stuff. It's in Reaper. So how many programmers did you have at the peak? Was it all built by just two people all the way or you had more people at the time and then just like downsize? At various points, there have been three. There was also Jeff O.S., who worked for us for a few years. It's fluctuated between two and three. The third being a French person.

It's very, gradually given just how massive piece of the software Reaper is, there are probably, I don't know, thousands of hours of videos on YouTube explaining how to use Reaper. I mean, obviously you had 20 years to build it, but still it's impressive because if it was built somewhere else, they would have like 500 people working on this. Oh, thank you. I guess a lot of what we do is focus on making our jobs easier. We do everything with a focus on that.

If there's ever a decision of what to do on a design decision, it's going to be what's going to be the easiest to deal with in the future, if possible. And it's also, instead of to keep things small and so we want to make it easy to make bills for people to test. We want to make it easy for us to test ourselves. We want to make it easy to rebuild everything. It's all about optimizing the environment so that we can work most efficiently too. Is it also written in C?

Now, it's C++, but it's like very, very non-modern C++. It's a very strict sort of, or not strict, but a very specific subset. It's cross-platform, right? So it works in Windows and Mac and also Linux. We have three code bases, so it's single code base. Now, it's one code base to enable that. We basically write Windows code that's a subset of Win32. And then we have this library that is open source called Swell, which is the simple Windows emulation layer for losers. So something.

But essentially on Mac OS, it maps like 8Wins to MSVUs. And so it's very lightweight in that respect. And on Linux, it actually re-implements on top of just using GDK for XWINDAW Windows as like a primitive. So it's also pretty lightweight in that respect, but heavier than on Mac OS. You could just run it to Windows 95 and your web browser. Yeah, it's absolutely. So I thought about actually making Swell target Windows, but emulating all of the things that are Windows-isms.

Because you know, like on Windows, you can only have a finite number of HWINS if they're user objects and they're limited. Initially, when I started working on Reaper, it was like, oh, we'll just make everything in HWIN. You know, just have your button on your track panel. It's just going to be an HWIN that's just a button. And then you start realizing, oh, you know, when someone has 100 tracks and each of these tracks has 10 buttons, there's 1,000 of these objects.

And oh, you only have like 10,000 to work with the system. So gradually as time goes on, we've had to sort of remove all this use of native Win32 and replace it with a wider weight things. And one of the things Windows is really difficult with if you have multiple WinHWINS is dealing with flickering and reducing that. That is an HWIN. And HWIN is like the type that is used to represent a window on Win32. HWIN is just like a handle to the window. So H for handle. Win is WND.

It's like the primitive Windows system object that's for visual things. So the question I wanted to ask about, again, kind of similar to what I was asking about WinAm, I see Reaper as essentially a platform and an orchestration software. Because it has this functionality where you can add tracks and you can solo mute tracks and adjust the volume, etc. But that's very basic, right? Where the true power comes is where you start using all of those plugins.

Where you have like 15 plugins on each of your tracks and all of that works and you have the SWS automations and you have all the shortcuts. So all that stuff that the Reaper enables, I guess other developers to plug into so that a person creating music can choose from an infinite amount of different tools. So almost like Reaper is like a toolbox in that sense. Actually, I've never used any other DAWs. I'm so committed to Reaper, I've never tried the other ones.

But those are all of them pretty expensive. Reaper is much shipper. So I'm curious, was it like that from the very beginning or was it something that was introduced later? From the beginning it was just designed to be an studio really that you could set up whatever you want inside it and giving you all the flexibility to do whatever you wanted to. Actually, it's good to know a little bit like a physical studio where you bring all your gear and you plug cables and yeah.

Do you folks have a UX designer also working with you or the two people programming it are also coming up with the UX itself? I mean the answer to both of those questions I guess is yes. We do have a white tie who does a lot of design for us but we also do a lot of work on our own. So both of those things do happen. At the end of the day we ultimately do what's the most efficient. I guess there are both things happen.

There's design considerations that are talked about and discussed at length and things that are experimented with and then there are other design decisions that just get made and then get talked about years later. And is the original inspiration that it needs to be like a physical almost like a studio kind of environment, right? Does that still? No, I think it's not about it being physical in any way.

It's just about it being flexible and being something that if you want to do something there should be a way to do it. It should never get in your way of doing it. It might make it more complicated than it needs to be but you shouldn't be like, oh there's no way for me to figure out how to do that. Worst case I guess you could write a VST plug in yourself if you found nothing else to do it for you but what you're saying is it's designed to be plug and play.

Well, it's like to give you an example like the decision about there's not like a midi track and an audio track, right? We don't have track types so if you want to mix audio and midi on a track and have interactions between them you could do that. You don't have to figure out like, oh, am I going to structure this? You could just stick them there together and then see what happens if that makes sense.

Whereas if you use another digital audio workstation software like what kind of track do you make? Do you make multiple tracks? Like how do you coordinate these things? Right. So how have you questions about the future of Reaper? Some of those came from that dock that I was racing. One thing is there is a lot more video content these days and Reaper actually supports video. It's not the front and center but you can quickly chop a video file which I am doing every now and then.

Do you have any intention to go into more of the video production route so that you can do more with video? We don't really have like an official roadmap. There are some interesting things that we're doing video wise. I mean, Reaper actually does support a lot of video effects processors that you can just write in code which you can also use presets of and so you can do a lot of really interesting things.

We're doing some stuff to help people who are working doing video and things scoring things to video and doing some improvements there. Something I would like to do is to make more of the video processing use GPU rather than CPU which is all my list of things to do eventually but the big project. So we put it off. Cool. So the main thing is is there any place for AI in the Reaper? I don't know. It's not something that we're looking at at this point. Let's bring in a thing here.

Ilya, you use Reaper and then you also use Descript quite a lot and having those two things integrated into one thing would that be something helpful for you Ilya as a user? Yeah, Justin, have you heard of Descript? Descript, I have it. Descript is a piece of software that lets you edit audio podcasts and also video content with speech. It transcribes it for you and then you can cut and paste or delete text and it automatically edits the audio for you.

So it's very neat to edit like three hours of recorded speech to just like chop things. And one of the things that it does, okay, what could have been better, it shows you the audio tracks with text on top of those. So you can actually visually cut out. You don't have to listen to you, you can read and you know that this stuff just has to go. You can be more effective at that. But Descript's main feature is not that, it's like you edit text. I guess it could have been what better.

And as I was thinking about it, I'm like I would prefer Reaper or any other digital audio workstation to be honest, to have the text transcription on top of the audio tracks. So that I could use all of the power of Reaper and edit my podcast right there while also applying all of the effects as opposed to what we do right now. So we do the edit in Descript because it's more efficient for us to cut text.

So we do the editorial pass in Descript and then we export all of the tracks and then we edit them in Reaper. I mean, we do some more like breath reduction and kind of equalizing and all these other stuff you have to do to make a good sound audio. So yeah, we have to transition these files back and forth and it's a bit. Can it export the text with timestamps? I think it can, yeah, in one of the standards subdued formats, I believe.

You should be able to do something where you export that and then do some little bit of text manly and then have that imported in your Reaper project and then you could just, you know, but you like being able to just edit the text and have the audio follow is what you're saying. I would define with just like seeing the text and then edit the audio just like I usually edited.

If you can export text with timestamps and your programmer like Reaper's project formats are text based, so you should be able to just have it converted to a Reaper project that you open and has the media with like markers in the take that have each word or something like that. We should look into that. So we have just a few minutes left. Let's do it lighting ramp that you proposed. So let's be quickly pull up that message from Misha. Let's say hi to Misha because he is a big fan of yours.

He was very excited. He's our sound engineer. Hi Misha. So this person is concerned that the architect of the project folders loads the CPU more than the architecture of Sands. Yeah, I've heard that. There are some patterns where some structures perform better than others. Largely due to scheduling on different threads and or cache usage. Yeah, you know, if one thing works better than other than use the other thing next. Okay. Do you have any agreements with research centers and art centers?

Agreements. I don't know the meaning of this question, but it doesn't make the bell for you. I don't know. No. Other than our license agreement, which they may use. I don't know. So what motivated the current business model with the very accessible trial and low cost across the board, even for pro licenses? The motivation is to make a system that's fair for people to use and to reduce our customer service issues. Like, we don't want to make people pay things before they test it.

So the idea is you let people test it and then have them pay once they've determined it needs their needs. So we don't want to spend our time working on copy protection and the more you make something disabled itself, then you ultimately give people incentive to crack it and then you just spend more time working on copy protection. And then next thing you know, that's your job and that would be terrible next. So why do Reaper projects save some of the environment settings?

And the problem is that when you open somebody else's project, those settings in the project file, they affect your environment. Does make sense? There are things in Reaper that are global settings and there are things that are project specific settings. There shouldn't be things that are project specific settings that affect the global settings. But if you find one, would like to know which one that is.

There are a few settings that are project specific that if you change one of the project specific settings, it might change your default for new projects of the project settings. I think there's some like mixer flags that I noticed through that way and that shouldn't really be that way, which we should fix, but they shouldn't affect existing projects. You have, they would only affect the defaults on new projects and only if you change them while the project is open.

Next. Where can people report the issue to get? You said if you know about something, you're a child of us. I mean, our forums are the best place. If you don't have an account on the forum, go to sign up for one, but just give it a few days because we manually moderate new forum users because of the prevalence of spam. So just join and be patient and then you can post there or you can also email at supportitcockros.com and it'll get read. We might not respond to you, but it will get read.

Do you plan to have an official merge store from River? So people want t-shirts, mags and stuff like that? It's not really what the best use of our time, but it would be nice. But I think if there are people out there that have them, we don't really care if you buy things from them. So you already answered this question. The question is, we are impressed with the frequency of updates from River. They must have a big team and they ask how many people have worked on this.

So the answer will shock them. Actually, that's a shock me because like a smaller team I can accomplish a lot more than the bigger team, more often than not. Okay, so how difficult is it to make up new features for River? How do you choose which features to build next? I think the real challenge is figuring out what not to do because there's just no shortage of things that need to be done.

How do we choose, for the most part, it's a combination of balancing between the effort involved and the reward and how interested we are in it and also what the impact will be for our future selves having to maintain the coding question. A lot of times also there are things we want to do, but things are not set up well for it.

So like there have been features that have been added or overhalls that have been done where now when we do new functionality, we can, things that we can do now where five years ago we wouldn't have been able to. So there's that sort of long term thing where you might have a feature that you really want to do. There's too many things that would have to get done in order for that to happen. So you have to just put it off. Can you share any spoilers for River version seven?

If you go look in the previous form, you'll see most of the things that are going to be in there. Okay, so the answer to whoever asks this question, RTFM. Yeah, you know, we're not secretive about very much. So we have a public pre-release forum that anyone can go browse and a public's website that you can go download development builds.

And so all of the stuff that's in development, unless it's like new stuff in the last week that we're working on that's not ready yet, all of that stuff is in builds test. The thing about those pre-release builds is that it's at your own risk. I mean, it's always at your own risk, obviously, but there are things that are not tested as well. There are things that are functionally in them that may not end up in release.

So if you record a project with it, it might not work in future versions of Reaper, where it's normally we try to have perfect background ability and things like that. So if you're playing around with it, just keep that in mind. But we definitely encourage people to test and give us a feedback about it too. Cool. So thank you very much for this open conversation. Maybe last question I'll ask is since you don't listen to podcasts. So what are you reading right now?

And also maybe like what's your favorite book, what would you recommend? Right now I just finished a book called No No The Knife, which is the third book in a series by the New Zealand author, Tamison Muir. It's this weird sort of, I don't even know how to describe it. Weird fantasy, science fiction, more fantasy, I guess. The first one was the best, the second two were very, very strange.

Anyway, the book I was reading before I started reading that was the second book of the Three Body Problem series, which... Oh yeah, okay. Those all three books are amazing in that series. I like the first one. I think the third one really ratchets it up, but it also gets very, very meta in a physics sense. I also like classics like Catch 22 and everything by Vonnegut. One of the podcasts you mentioned a book, there was like triangles stuck into squares and it's too deep, plain.

Flatland I think, Flatland. Flatland? That sounds interesting. Yeah. So yeah, that one I think I want to read. I think you mentioned that it's like, you know, if you don't know what a 3D is, like you just can't comprehend. But there is another dimension that exists. So just like we humans, we cannot comprehend. Like what if there is a fourth dimension here? We don't have concepts, I describe that. This feels very much like the Three Body Problem and the books, the second and the third book.

Yeah. So Justin, where can people find you if they want to read what you write? Are you on social media at all? I'm not really, except on the Macedon, my handle there is Justin at Kakos.net. But my website is 1014.org. 1014. What does it mean? It's just a number. Cool. Well, Justin, thanks a lot for your time. Thank you for coming on Metacost. Yeah, thank you for the time. It was awesome. Thank you for having me.

This transcript was generated by Metacast using AI and may contain inaccuracies. Learn more about transcripts.