The Last Message Sent on AIM


In the early 2000s social media sites like Facebook and Twitter weren’t commonplace yet. Even text messages, at ten cents each, were something to be rationed. For many teenagers the primary means of communication outside school was AOL Instant Messenger (AIM). So when it was announced in October that they were shutting down AIM after 20 years, I felt a wave of nostalgia for the messaging app of my youth.

It wasn’t clear when they would be pulling the plug for good, but a high school friend and I planned to be online for the occasion. Their website indicated that AIM would continue to work until the morning of December 15, 2017. Assuming this meant UTC time, that put it going offline sometime after 7:00 PM EST on the 14th.

I wondered: Could I be the last person to sign off? The last person to send a message? Would I have anything profound to say?


I decided to research famous last words. First stop: the Book of Revelation. Final chapter, final verse.

“The grace of our Lord Jesus Christ be with you all. Amen.”

Not quite what I was looking for.

“Last words are for fools who haven’t said enough!”

Too cantankerous. And as a somewhat libertarian leaning person, I wasn’t going to let Karl Marx have the last word.

I’d figure out what to say later and in the meantime started reading about the technology behind AIM. I learned about OSCAR, the proprietary protocol used by AIM and ICQ. Parts of the protocol were documented by AOL in an official SDK. This is what made third-party AIM clients possible. I had used Gaim (now Pidgin) on Linux machines before and indeed, there was even BSFlite, an AIM client for the command line.

AOL’s desktop client no longer worked for me. They had already pulled the iOS app from the App Store. Ditto for Android. Fortunately browser sign on still worked. I was greeted by a familiar interface that supported new features like embedded media and SMS.

I sent a couple test messages from the browser to my phone. Monitoring outbound activity in the Chrome network panel revealed the structure of a request: a simple HTTP POST to a url, with what appeared to be a session ID in the query string and a message body. I tried to send a message using curl and it worked. As long as I was signed on in the browser the request was accepted.

There were several paths to automating this but given the time constraint, something quick and easy would probably suffice. All I had to do was keep sending messages until the server stopped responding.

December 14, 2017: The final countdown

It was almost midnight UTC time. It would be the 15th soon and I didn’t want to miss the shutdown, so I set up a Bash script to run the curl command at one second intervals. Every now and then I had to manually reauthenticate in the browser. It wasn’t elegant but it worked. Now I had to wait…

To pass time I searched Twitter for mentions of AIM’s last day. Plenty of people were reminiscing about their old screen names, but only a handful were actually signing on one last time. I added them to my buddy list and we talked for a bit. One lived in DC, one in Toledo. Another in somewhere Maryland. Two were engineers, one was a wrestling announcer! I made dinner and watched The Office while occasionally checking on the script.

It ran for another six hours until 1:21 AM EST. I witnessed the drama play out in HTTP status codes:

200 OK
200 OK
200 OK
408 Request Timeout
408 Request Timeout
401 Unauthorized

And like that, AIM was gone. Requests to returned an Invalid URL status page. curl returned nothing but 401s.


I examined the script logs and found it – the last message sent on AIM. [1] It was timestamped Fri Dec 15 01:21:42 EST 2017. From me, to me. (I didn’t want to spam anyone.)

I had borrowed the words from Leonard Nimoy’s final tweet:

“A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP”



[1] At least in my server region.

Thanks to behind2greeneyes, dalilmoo, croftonworldwide, nuklermuleburger, and sirmatthew84.

If you enjoyed reading this, please consider a donation to the Internet Archive.

You can also read Kat Timpf’s brilliant eulogy for AIM.

For more frequent updates, follow me on Twitter.