Mastodon is a new distributed social network that uses decentralized servers – and an enterprising developer has ported a client to run on a 30-year-old Mac operating system.
Scott Small wrote a Mastodon client called macstodon for classic Mac OS versions from system 7.1 to Mac OS 9.
First, be aware of some things Scott mentions on macstodon’s GitHub page for the project. Notably, some system extensions are required to run it on classic macOS.
In classic macOS, system extensions are small files containing bits of code and resources that the operating system loads on startup. These code resources (or code snippets in PowerPC systems) are read and patched into the operating system on startup to add or modify functionality within the system itself.
Older Macs used either the Motorola 68000 (68K) processor or newer IBM/Motorola PowerPC processors. On 68K Macs, Apple provided an extension called CFM-68K Runtime Enabler that patched Mac OS 68K to allow it to use code snippets designed for PowerPC Macs.
As macstodon’s instructions say, if you’re running system 7.x on your classic Mac, you’ll need to move the bundled extensions into the System Folder/Extensions folder, then restart the Mac to load them.
Since macstodon is written in Python, you’ll also need to install MacPython 1.5.2, which was the version at the time that worked on older classic Macs.
At the time, there was also a third-party Mac Internet extension and application called Internet Config, mentioned in the macstodon instructions, which provided a central location to set all of your Mac’s Internet settings. The commercial Internet was still nascent at the time, and Macs did not gain full Internet standards support until Mac OS 8.6 or 9.1.
Since the SSL layer of the web came later in the development of the internet, you’ll also need to run an SSL stripper server, as instructed in macstodon’s instructions. This allows SSL-based web requests to work on older Macs by removing the SSL parts.
How to download and install macstodon
The current macstodon installer and source code can be found on the releases page.
Note that the binary archive is in “.sit.hqx” format. This is a classic double-compressed archive – first in a StuffIt archive, then in BinHex (.bin). BinHex was a format from the late 80s and early 90s that allowed Mac files to be compressed and transported across multiple platforms, including PCs.
Classic Mac apps had a second file fork called the resource fork that stored most of a classic app’s user interface. Be careful when unzipping a .sit.hqx file on modern Macs, as some volume formats and modern file systems may remove the resource fork during the copy.
It’s best to first copy the .hqx files as-is to your classic Mac’s hard drive, then unzip them using StuffIt or the MacOS 9 BinHex utility. This ensures that all files’ resource forks are preserved.
The instructions on the GitHub page are quite good and easy to follow.
Once you have unzipped the download on your classic Mac, install System Extensions as instructed, reboot and double click on the macstodon app.
Mac OS 9 had several System/Control Panels (similar to extensions) that were used for network configuration. Originally there was a “TCP/IP” control panel, but it was later replaced in Mac OS 9.x by a “Network” control panel, and in some cases “Open Transport” (OT, as it was called, was Apple’s proprietary network layer that sat on top of other layers such as TCP/IP, AppleTalk, etc.).
Using macstodon
macstodon’s user interface is quite simple: a main window with the home timeline, local timeline, and notifications, and a Toot pane where you compose Toots. Scott Small says the app is a “quick hack” and unsupported. But it works.
If you just want to experiment with Mac OS 9 before setting up a real classic Mac, you can try the Infinite Mac emulator on the web, although we haven’t tried macstodon yet. There are also Infinite Mac versions for Mac OS 8 and 7.x.
It’s quite interesting to see new developments for top websites on the Mac 25 years ago. The macstodon app is fun to use on classic Mac OS, but don’t expect to do much with it.