Get the BBS Scene Vibes back with Neon Modem Overdrive

Miss the internet from the 80s? Want to (re-)experience BBS scene vibes but still participate in today’s conversations? Then Neon Modem Overdrive is for you!

Get the BBS Scene Vibes back with Neon Modem Overdrive

In order to avoid normal people expecting this post to be about spicy food effects, StarCraft strategies or profanities, let me start by giving everyone who doesn’t know what the (technical) term BBS refers to a short introduction, courtesy of Wikipedia:

A bulletin board system (BBS), also called computer bulletin board service (CBBS), is a computer server running software that allows users to connect to the system using a terminal program. Once logged in, the user can perform functions such as uploading and downloading software and data, reading news and bulletins, and exchanging messages with other users through public message boards and sometimes via direct chatting. In the early 1980s, message networks such as FidoNet were developed to provide services such as NetMail, which is similar to internet-based email.

Many BBSes also offer online games in which users can compete with each other. BBSes with multiple phone lines often provide chat rooms, allowing users to interact with each other. Bulletin board systems were in many ways a precursor to the modern form of the World Wide Web, social networks, and other aspects of the Internet. Low-cost, high-performance asynchronous modems drove the use of online services and BBSes through the early 1990s. InfoWorld estimated that there were 60,000 BBSes serving 17 million users in the United States alone in 1994, a collective market much larger than major online services such as CompuServe.

Back in the days these Bulletin Board Systems were the lifeblood of many (mostly tech focused) communities, allowing people to share information and even files with a broader group, by using a terminal and a phone line. To put it simply, BBSes were basically the 80s nerd Facebook with less foolish content.

Clearly the need for these kind of dial-up services has vanished with the introduction of widespread internet connectivity. BBSes got replaced by software and services like phpBB, Discourse, Quora, Stack Overflow, Reddit, Facebook and others. Yet to this day all these platforms have either failed or not even tried to deliver the same kind of originality and hacker culture experience a person got when logging on to an actual BBS. One key reason for that is the presentation layer, which these days is limited to bland conformist web and mobile experiences. The presentation however was a key element of what gave BBSes their vibe back at the time. Quoting from the same article on Wikipedia:

BBSes were generally text-based, rather than GUI-based, and early BBSes conversed using the simple ASCII character set. However, some home computer manufacturers extended the ASCII character set to take advantage of the advanced color and graphics capabilities of their systems. BBS software authors included these extended character sets in their software, and terminal program authors included the ability to display them when a compatible system was called.

The most popular form of online graphics was ANSI art, which combined the IBM Extended ASCII character set’s blocks and symbols with ANSI escape sequences to allow changing colors on demand, provide cursor control and screen formatting, and even basic musical tones. During the late 1980s and early 1990s, most BBSes used ANSI to make elaborate welcome screens, and colorized menus, and thus, ANSI support was a sought-after feature in terminal client programs. The development of ANSI art became so popular that it spawned an entire BBS “artscene” subculture devoted to it.

BBSes not only introduced a way for people to exchange information with each other, but also enabled a form of art that has persisted to this day. With such meticulously drawn ANSI artwork, the unique aesthetics of BBSes delivered an overall experience that is unlike anything on the modern day web or even pseudo elite niche networks like Gemini.

So how about we go on a little time travel and bring back the good stuff, but with a modern twist to it?

Bringing back the good stuff

In case you’ve been following my work you probably know that I’m a command line connoisseur and primarily build command line and text user interface programs for the things that I need: A command line address book and calendar, a time tracker, a cloud console (literally) and even a TUI-based decentralized social network that has earned its spot on Wikipedia – just to name a few. My love for the command line interface, as well as my anger towards everything JavaScript-web-based these days always has me considering different ways to make software and services better usable in a largely command line driven workflow. And while I enjoy telneting to some of the still existing BBS systems every once in a while, I seem to be getting the most value out of non-BBS services. One example, which is also one of the reasons for me to start this project, is KeebTalk, a mechanical keyboard aficionado forum. I love browsing the content there and sometimes even post keeb content myself, yet every time I do I feel like irony itself is laughing sneeringly into my face:

A mechanical keyboard forum that’s to be navigated primarily using a… mouse? 1

MUAHAHAH… MUUAHAHAHAHAH!

So I thought, why not bring back the BBS vibes – with a modern twist – and bridge the gap between today’s web platforms and the command line interface?

1 I know that Discourse offers shortcuts for many things and I am, too, using Surfingkeys / Tridactyl, but you get the point.

Introducing Neon Modem Overdrive

Neon Modem Overdrive is a BBS-style command line client that supports Discourse, Lemmy, Lobsters and Hacker News as backends, and seamlessly integrates all of them into a streamlined TUI. And yes, you heard that right, I really did call it Neon Modem Overdrive.

The program allows you to connect multiple services and accounts and have posts appear in a unified and elegant terminal user interface. As features will differentiate across different backends (or systems, as they are called within the program), Neon Modem Overdrive will focus on the smallest common denominator for most platforms, which right now is listing of forums, posts and replies. On Discourse, as well as on Lemmy, Neon Modem additionally supports creating new posts and replying to existing ones.

As for the technical parts, Neon Modem is built in Go, using Charm’s Bubble Tea TUI framework, but implements an own window manager (or compositor if you want) that allows it to use a third dimension, on top of the two dimensional rendering that Bubble Tea offers today. With that it is possible to display dialog windows on top of one another, in order to offer a smoother UI experience. While most (all?) Bubble Tea programs these days either only display a single view, into which all their functionality is crammed, or switch the whole view to show a different context, Neon Modem’s window manager allows for it to overlay views with e.g. dialog windows for text input.

In addition, the custom toolkit also takes care of adjusting the appearance of elements based on whether they’re in focus or blurred. Speaking about appearance, Neon Modem implements a UI theme that is fully customizable via its configuration file. Not a fan of the 80s synthwave aesthetics? No problem, you can easily adjust the TOML to match your terminal’s color scheme.

The systems (read: backends) are fairly extensible, too. New systems can be integrated by writing lightweight modules that implement the System interface. Each system can report the capabilities it has (e.g. replying to or creating new posts) and Neon Modem will take care to only call the functions that are reported to work. This way, systems for software like Lobsters were integrated, even though they do not (yet) support posting and are basically read-only.

For the available integrations the following API client libraries were used:

  • Discourse: home-brewed implementation
  • Lemmy: go-lemmy
  • Lobsters: home-brewed implementation
  • Hacker News: hackernews

Without further ado, let’s check out Neon Modem Overdrive in action:

Next steps

So far Neon Modem emulates basic BBS functionality, look and feel. In order to bring more of the original BBS experience to it, I’m looking forward to team up with people from the ANSI art scene who would like to use Neon Modem as an open-source canvas to bring their amazing artwork to life. No matter whether it’s startup screen graphics or even animations, in-program UI artwork or even completely new functionality: If you’re an artist and would like to contribute to Neon Modem don’t hesitate to reach out!

What about Superhighway84?

As I’ve briefly mentioned before, Superhighway84 will remain the beast that it is for now. Depending on how Neon Modem evolves and whether Superhighway84 has a long-term future, considering the overall experience with IPFS, the two might eventually merge, with Neon Modem being the program that would eat up Superhighway84 and incorporate it as yet another system. While Superhighway84 has reached a good level of maturity, its tview/tcell-based UI has grown to be somewhat inflexible and hence making it hard to implement new features. Neon Modem Overdrive could greatly improve the Superhighway84 UI, while using the same IPFS/OrbitDB platform for its data.



Everyone who’s interest got captured by Neon Modem Overdrive can check it out on neonmodem.com and give it a star on GitHub!


Further Reading/Watching


Enjoyed this? Support me via Monero, Bitcoin, Lightning, or Ethereum!  More info.