I began working at Audiogalaxy while I was a computer science student at the University of Texas at Austin, after answering an ad on the computer lab wall. This simple ad led me to one of the most life changing experiences I've had.
Audiogalaxy started out as the Borg Search, an FTP search engine written by Michael Merhej. While working in the physics lab at UT, Michael met David McArthur, and they decided to go into business together as Audiogalaxy. Initially AG was just the FTP search, but soon they decided to start offering free web space to musicians who wanted to promote their music. Artists or labels could use the web-based interface to post their mp3s onto the site so that anyone could download them. Along with articles and reviews by a small music staff, AG began to grow.
About 3 months before I was hired, Napster hit the internet. Michael and David realized the power of p2p apps and decided that a system like that would be a great way to distribute the mp3s already hosted on Audiogalaxy. And with that realization, the Audiogalaxy Satellite was born.
Two design decisions were made at the beginning which set the Satellite apart from every other p2p app that I've seen (more on this later): use a web based interface, and queue songs for delivery later. Michael wrote most of the code for the windows satellite client, and Tom Kleinpeter, another programmer, wrote most of the code for the linux-based satellite server.
By the time I was brought on board, the satellite was enjoying a modest amount of traffic, something on the order of 500-600 people connected at any one time. Already I was amazed at the range of music that was available, most of it stuff that I'd never heard of. Through the forums on the website, the AG community began to form. Several early members were artists themselves and released all of their music onto the satellite system.
The initial web interface to the satellite was functional but not very pretty or efficient; I was hired to create the new interface. Although there were a few other web programmers from time to time, I was there the longest, and I'd guess that I ended up writing over half of the web code.
It was extremely gratifying to write code that was being used by so many people (by the time I left AG, we were getting 80-90 million page loads a day!). I'm really glad that they decided to take a chance on a relatively inexperienced programmer; I learned quickly and I'm proud of the work I did there. It convinced me that I really did want to be a software developer. On a side note, to those people who say that you don't learn anything you need to know for your job in college, I want to mention that the CS program at UT is excellent, and almost every day I learned concepts and techniques that directly helped me in my job and vice versa. If you're looking for a world-class CS education on the cheap, check it out.
Towards the end of my time there, online advertising budgets fell through the floor and we were forced to find other methods of income. Sometime around then we began bundling so-called spyware into the satellite installer, simply because they paid good money and nobody else was. Despite all the accusations and misinformation flying around, the satellite always gave you either the option of not installing the spyware, or told you quite clearly what it was doing in all caps at the top of the readme that was automatically displayed (yet usually ignored). We all disliked having other software go along with the satellite, but we had to make money somehow and tried to make it as transparent as possible.
During my senior year at UT I decided to quit AG to focus on school (and I'm glad I did; Intro to Operating Systems just about ate my lunch!). I was sad to go but knew I needed to focus. That was about nine months ago, although I have kept up with my friends who still work there.
As far as technology goes, we used PHP/Apache/MySQL/Linux, and I'll bet that AG is one of the highest traffic sites using that combination. I had never heard of PHP before Audiogalaxy, but now its my language of choice. I think it's a great language for what it was designed to do, bind together C extensions with an easy way to lay out HTML (Some people are trying to do alot more with PHP than they should!). I had to learn alot about scaling scripts and database tables; things that might work at 1,000 queries a day can often fail at 10,000,000 a day. We also had a linux client before most other p2p systems.
The corporate culture there was great; between the music staff and the programmers there were about 15 of us, and it was alot of fun working with other bright, young, musically-inclined people. AG was always very efficient with its money; most of the people working there were college students, and we weren't paid as much as we might have been at another dotcom, but I was making way more then I would have been delivering pizzas, and I got to work on something I really believed in. I've realized more and more how important that is. The office was modest, although in a great location in a cool part of Austin (A couple blocks from Waterloo Music; I wonder how many CDs I bought those years...I probably don't want to know.) Occasionally Michael would take the company cool places but for the most part was very frugal with money. All-in-all, I think that they were very smart financially; we weathered the "dotcom bust" quite well.
I really enjoyed working at AG. My hours were very flexible and I had a great boss. It was interesting to see when different people came in; the music staff generally worked daytime hours but a few of the programmers came in the evening and coded all night, to dodge the Austin traffic (which can be horrible during rush hour). My work schedule was pretty fragmented since I was going to school full time, but that was the norm since most of the staff was also enrolled at UT. It was kind of funny to hear the CEO of the company gripe about his spanish class!
After the initial functionality of the website, I'd say that probably 90% of the code I wrote was not related to actual file sharing. We spent immense amounts of time and effort developing the community aspects of Audiogalaxy. There were comment boards attached to almost every entity on the site, as well as groups. Groups were designed to bring listeners of similar genres together, and by all accounts, were a rousing success. Each user had her own profile page that could be customized to show their favorite artists and styles. A vibrant community sprang up through all the different groups and genres. While there was certainly a fair amount of useless posts, there also was quite a bit of good communication going on. We also implemented a web-based instant messenging system.
One of my favorite features gave you the ability to see which users had used the site in the last 90 seconds, broken down by country or state. Its fascinating to look and see people from all over the world that you can talk to.
Besides the community features, our music staff also actively reviewed music and wrote lots of articles. While the writers often were overly vitriolic and suffered from acute cases of music snobbery, most readers failed to realize that much of their disdain for music was designed to make the reader mad. It always amused me how someone would spend 15 page loads posting messages saying how much he hated Audiogalaxy and the writers.
Our whole direction as a company was not to merely provide file sharing services; we wanted to have a community of music afficianados actively seeking out new music. As I mentioned above, I bought a TON of CDs while I worked at AG, and virtually all of them were from music I found out about and previewed as an mp3. It was amazing to be talking to someone about their favorite band that you saw listed on their profile page, queue it to your satellite, and by the end of the conversation already be listening to that music. For several bands that are now some of my favorites, I went from never having heard of them to loving them in literally 5 minutes. From discussions I've had with many of my friends, they had similar experiences. The whole system made it easy to find new music; that was what it was designed to do, and at its height it did it brilliantly.
The RIAA Cometh
During the summer that Napster was sued by the RIAA, we followed the case closely. We realized that any legal decisions made in that case could directly affect us. Sometime after that the RIAA contacted us and we engaged in negotiations with them. We started actively blocking songs that they asked us to (although they didnt ask very efficiently; each member label had its own format of text file or access database containing artist and song names, and the RIAA just sent us cd-r's full of disorganized data. it took a person just about full time to import all this data, despite a system we set up that would allow them to do this easily.)
As most people with a clue realize, it is extremely hard to filter digital media. Unless you have a person sitting there listening to an mp3, you have no way of knowing that an mp3 titled "unsigned band - lame song.mp3" is actually nsync's latest hit. At first we had simple text matching, but users are obviously smart enough to figure out how to rename files in ways that make sense only to humans. After increasing pressure from the RIAA, we actually went to an extremely complex system based on a checksum digest of the first megabyte of an mp3. I wasn't involved in its implementation, so I'm not exactly sure how it works, but I do know it was quite effective. After this level of filtering, the general consensus was that AG was only good for live, unreleased, and non-copyrighted material, which is what I prefer anyway (and it was REALLY good at this; have you ever tried to find a live version of scream the sound by the emerald down on gnutella? Not gonna happen.)
In any case, we put alot of effort into complying with the RIAA. We honestly were not trying to be rebellious music pirates; we wanted to provide the infrastructure for a vibrant music community. This effort on our part I'm sure bought us a few months.
If you havent skimmed the RIAA's suit against Audiogalaxy, I would suggest that you do. Its a brilliant case of misinformation. It alleged that AG was woefully inadequate at stopping piracy, and in a classic quote, mentions that AG's filtering system "could have been done better by a first year programmer". It also alleged that Audiogalaxy existed solely to profit off of copyright violations, and thus should pay back royalty compensation.
As I've tried to establish in this article, AG provided extensive extra value to its users. But it doesnt really matter; the RIAA is a 3000 lb gorilla, and even if AG had tried to fight this in court, perhaps they could have won some sort of victory but it would have been pyhrric at best. The RIAA has the money to stomp anybody smaller, and they're showing what they can do. Unless backed by a truly large corporation with pockets a mile deep, I really don't think any p2p company is going to be able to stand up to the RIAA.
But the RIAA is doing exactly what it was designed to do; protect the interests and business model of its member recording companies. Its doing this brilliantly. Its true that they won't be able to stop peer-to-peer applications for good, but they will be able to stomp on the companies or individuals who create them for a long, long time. And they have the patience to keep stomping. Theyre playing whack-a-mole with an infinite supply of tokens.
Why Audiogalaxy Was Better
When I say that I think Audiogalaxy was the best, most people think I'm just biased. Maybe I am, but there were features that I truly believe set it apart
First off, the music indexing was excellent. The satellite client would parse mp3 filenames for an artist name and song name, and would check to see if the system had seen those names before. If it had, it would assign that mp3 an artistID / songID, so that if anyone chose that combination of artist and song, the system would know who had it, even if they were of differing file names. This made song selection a breeze because the system had a good idea where different songs were. While there was a large amount of junk text, the system did a good job of cleaning it out regularly.
Because the indexing worked so well, that meant you could queue up a song and the system had a good idea of where to find it. It would look for someone who had a file with the same artistID/songID pair, and then alert the two clients to begin the transaction. Once you began downloading a particular file, it would make sure you would only get the file with that specific file size/check sum. Doing it this way also allowed the satellites to resume easily and transparently. It was awesome to jump on the web site before you went to bed, queue up a few hundred songs, and when you woke up in the morning most of them were there. You didn't have to care about who had the songs, it did that for you. I can't stand having to micromanage my downloads, having to pick 5 different versions of a file to assure myself of getting one of them. Some of the newer p2p apps are much better at this, but still none can compare.
I really enjoyed the fact that AG was web-based; it allowed us to distribute new features instantly (and also provided me with a job :)). While we did have to update the satellite client from time to time, this was relatively infrequent. The other advantage of the web-based system was that you could leave your satellite running at home, but if you thought of something you wanted while you were at school you could jump on a school computer and queue it up so it would be waiting for you when you got home. I used it this way alot, actually.
The client was actually safer than most p2p apps, as well. It did not actually leave ports open all the time, but periodically queued the system to see if it needed to begin a transaction. If it did, it left the port open just long enough to connect with the other client. The other advantage of doing it this way was that one of the clients could be behind a firewall and initiate the connection, even if it was the one receiving the file.
The best part about Audiogalaxy, though, was the community. As I've also heard other people mention, you really could find an amazing array of music on the satellite. I was exposed to incredible amounts of wonderful, independent music that I never would have heard of otherwise. It was unparalleled at providing rare and live music. There was almost never something I could not find. I bought a ridiculous number of CDs while I worked there, because I found out about music that I wouldn't have otherwise.
To this day, I still have not found any other system that provided as seamless a union between meeting people who like your kinds of music and finding new music itself. Sure, lots of other systems let you trade files, but Audiogalaxy created a community.
I'm sad to see Audiogalaxy go, but it was a crazy trip while it lasted, and I'll never forget my time there.
Audiogalaxy userID 14