In honor of Codecademy’s 11th anniversary, we’re looking back at the 2000s websites and software that influenced our founders to build Codecademy — and inspired a generation to learn to code. Explore other fun deep dives into early aughts internet topics here.
Perking up at the digitized sound of a door creaking open. Getting butterflies when your crush’s screen name appeared on your Buddy List. Deciphering a cryptic Away Message complete with lyrics to an emo song.
If you were extremely online in the late ‘90s through the aughts, these hallmark features of AOL Instant Messenger (a.k.a. AIM) probably bring on a surge of nostalgia. And of course they do — AIM basically defined the way many millennials communicated in their formative years. But if you look beyond the end user experience of AIM and see why it was built the way it was, you’ll learn a lot about some of the best practices the tech world still uses today.
After 25 years, the story of the enterprising coders who launched AIM can teach aspiring developers about how to build products that can connect with users on an emotional level — and maybe even shift the entire culture.
How the idea for AIM was born
Around 1994, an engineer at AOL named Barry Appelman came up with a concept that would eventually become a core feature of AIM: a list of contacts that showed you who was online in real-time. At the time, AOL wasn’t interested in developing an instant messaging platform, but a group of engineers within the company saw potential.
Fellow AOL developers Eric Bosco and Jerry Harris joined Barry and started to design and code a standalone instant messaging platform that implemented the “Buddy List.” Notably, the team did all of this without AOL’s official blessing, working on the “unsanctioned project” after hours, Eric told Mashable in 2014.
The idea of engineers going behind their employer’s back to quietly launch a cutting-edge product sounds like a typical (and, TBH, badass) tech founder story you might hear today. In the late ‘90s, however, the “web browser wars” were raging, and offering a free product with open-source software was unheard of.
AIM had the potential to flop, from both a business and cultural perspective. “Writing code is one thing; you get to put ideas you have down into a system that’s very exacting, and if you don’t get it right, it won’t work,” explains Jerry, who was a Technical Manager, System Architect, and Software Engineer at AOL from 1995 to 2005. “Exposing it to other people is a risk, because people may not like it, and they may criticize it. All of that risk is part of the thrill when you get it right, and you make a difference.”
Thankfully, AIM most certainly did not flop. From strategically making AIM free to use, to regularly incorporating user feedback for new features, the best practices that the developers employed no doubt contributed to what a generation-defining success AIM ultimately was.
Here’s what it was like to build AIM, and the lasting legacy that AIM left on the developers and tech products that came after it, according to Jerry Harris and Mark Donner, the Technical Manager for AIM. (We’ve edited the conversation in the style of an AIM conversation — but, yes, those were their real screen names.)
codecademy: Hi! Tell me about your AOL days… What was your role and how did you get hired?
jerryharri: I was hired into a startup company in Boston that was writing a web browser, called BookLink, back in 1994. Soon after I started, AOL purchased and acquired BookLink. I was a coder at first, working on a web browser in C++ for Windows and Macintosh, and then I moved into Dev Management of the team and releases.
donnermk: I was working in flight simulation and was pretty happy with my career when this funny little company called America Online headhunted me. They needed somebody who could really get teams to work together, so I came in as a Technical Manager.
donnermk: I got pretty aggressive on releasing features. They were kind of shy, but I was like, Come on, let’s go make a difference! I saw what they had, and I was amazed.
codecademy: How’d you end up working on AIM?
jerryharri: The web browser was the main thing I was working on for over a year or so, and then AOL made a deal with Microsoft, where Internet Explorer replaced our browser engine. So we really needed something else to do.
jerryharri: AOL Instant Messenger, at that time, was just called Oscar — that was the code name. It came into our lap [after Barry came up with the initial idea of a Buddy List] and we started working on it from almost day one and took it from there.
For some more context: In 1996, AOL announced an alliance with Microsoft that made Internet Explorer the built-in default web browser for AOL customers. Some saw this as a way for Microsoft to edge out its competitor Netscape, while also enabling AOL to expand its customer base. A year later in 1997, the first release of AIM was shipped.
codecademy: So what problem was AIM intended to address? Why build it?
jerryharri: Instant messaging was a feature on the AOL [Mail] client, along with Buddy List. We were starting to find a lot more people — friends and colleagues outside of AOL that were on the internet — who we wanted to chat with.
jerryharri: It was really just like, “Hey, let’s get this out there for everyone else to use, because it’s such a great feature and tool.”
codecademy: What was the initial response to AIM like within AOL?
jerryharri: Other programmers were kind of like, “Well, that’s cute or whatever, I guess. I’m working on a real thing.”
codecademy: omg lol
jerryharri: And among upper management, like the executives, there was a lot of concern that this was going to fundamentally undercut our business, because it was free.
codecademy: What was it like working on a product that so many people used?
jerryharri: It was amazing. We’d already worked on the web browser and seen how that had taken off and was redefining a lot of things in the world.
jerryharri: At first, AOL Instant Messenger was just seen as kind of cool. Then we started building more things on top of it, like shared gaming and file transfer — those things never took off. But the Away Messages, the Buddy Icon, the smileys, and everything else started giving people a lot more expression. It seemed to make a more personal difference in people’s lives than the browser did.
donnermk: I can vividly remember a time that I was visiting my in-laws and I had to work a little bit. I went to an internet cafe where you paid money per hour to use a computer. I happened to let the staff know that I’m the manager that runs AIM, and I might as well have said, “Hi, my name is Mick Jagger.”
codecademy: As a team, how did you decide which features to add? Like the incoming message sound, or the Away Messages…
donnermk: Our ideas sprung from several places, but most of it was we listened to the audience. There were no market experts, because this was a new tool. We were a little bit rebellious. We really listened. People’s suggestions — no matter how trivial — would lead to discussions, which would lead to a core feature. We valued those that were typing on the keyboard.
jerryharri: We did weekly releases, and we had a link for people to send us feedback, which we read every week. Sometimes we would turn around changes in a week based on people’s feedback.
codecademy: Can you give an example of a feature that came directly from user feedback?
jerryharri: Some of the changes to how we reported warnings came from users communicating what was happening [on AIM]. If you got too many warnings, we actually throttled your network connection to AIM, so that your messages would go out slowly. And if you got warned by other people too many times, you got paused for some period of time.
jerryharri: It really spoke to the focus on quality, and the customer or user experience, which we were all about. AIM was not a moneymaker, so we had the benefit and luxury that it was all based on users.
codecademy: brb again
codecademy: When you think about applications and tech products we use today, can you trace AIM’s impact?
donnermk: My guess is that AOL Instant Messenger was the start of just about every peer-to-peer communication tool that exists today. I think we can credit Appelman and Bosco for that.
donnermk: I don’t think people realize how big a deal it was to have your online presence always on. It changed your computer to something that you turned on and said, “Gee, I hope someone’s out there.” To something that, when you got back to your machine, people would say, “Hey, where have you been?” It changed the whole social dynamic of communication.
codecademy: Nowadays, coding is much more accessible than it was in the ‘90s, making it easier for people to build products like AIM. What are your thoughts on the future of learning to code?
jerryharri: The user experience and everything behind and supporting that is the key thing to learn. That is timeless, because the language and the technology is going to continue to change.
jerryharri: AIM is a great example, because the skills that I learned there, I’ve applied to code, applications, and products I’ve worked on over the years. The database, server, and how it’s deployed have changed — but the user experience in the data model behind it are the things that have remained steadfast.
donnermk: I think five or 10 years from now, there’ll be much more artificial intelligence, machine learning type of code construction methodologies that we probably haven’t even captured yet.
codecademy: Looking back, how did working on AIM influence your career in tech and life?
donnermk: It’s hard to see what my career would have been without it. I went on to do other things at AOL — I worked with big data on the analytics side and was lead on the backend infrastructure — but nothing was as impactful as AIM.
jerryharri: The close connection with the users really excited me the most and directed me for the next several decades of work.
jerryharri: For me, it was always about working closely with the people who actually use the stuff you’re making. It’s almost like a drug when what you’re doing gets so many people excited, and people are using it. It’s just amazing when you write code and it can have that impact on people.
Inspired to begin your own coding journey, but not sure where to start? Take our programming personality quiz to discover the careers, programming languages, and courses that best fit your interests or aspirations. Whether you want to build the next generation-defining application or better understand the tech products that you use all the time, we have the courses and guidance to get you started.