For my NYE reflection this year I want to clarify an idea that is about ready to come forth in the tech world: The Good Internet.

The Good Internet was only around for a little while in the late 90s, sometime around the decline of BBSes, the uptick in popularity of GeoCities, and certainly before the wide adoption of Myspace (the beginning of the end).

The Bad Internet

What we have now is The Bad Internet. Although the internet began to deteriorate in quality as social media became more popular, the mass adoption of smartphones was the final nail in the coffin (specifically upon the release of the iPhone). What social media, smartphones, broadband internet, Web 2.0 and other similar trends accomplished was it made the internet not only usable for but specifically designed for the lowest common denominator users.

The LCD user doesn't know how to program. They prefer Apple products because they "just work". They don't understand what the internet is beyond the surface-level of webpages and "apps". There is nothing inherently wrong with LCD users and this piece is not an indictment of them. The problem is that LCD users are considered the de-facto end-users for most consumer electronics and mass-distributed software.

The focus of computer-based innovation is now solely geared toward increasing user adoption. To increase user adoption across the widest segment of potential users, you target the lowest common denominator factors. This process played out long enough has had the unintended side-effect of creating tools that are extremely limiting for technologically capable users.

What Does a Good Tool Look Like

I don't do much coding at work anymore as a manager but I am constantly hacking away on side projects late into the night. I don't consider myself a great programmer but I do have a keen eye for picking a useful tool that will help me build out my idea in the fastest way possible. I regard this skill to be almost as good as being a "great" programmer. I regularly see great programmers acquiesce to the siren song of dogmatism instead of choosing the right tools.

The right tool is the one that will help you maximize the good stuff and minimize the bad stuff. Most of the time the "good stuff" you're looking for is building the project in the shortest amount of time possible although sometimes it's building a project in the most fun or interesting way possible. "Bad stuff" to minimize is almost always bugs.

If we consider the internet, the one that you're probably reading this essay on, i.e. the internet of social media and graphical UI-driven websites, as a tool, what could we infer about what it maximizes and minimizes? The modern internet maximizes high-frequency consumption of trivial information, salaciousness (pornography, online dating, et al.), selling things/advertising, and interfaces easy to use with thumbs to name just a few. It minimizes depth and nuance of material (red or blue thinking only), genuine creativity - which almost always comes out of mischievousness which is frowned upon in the modern web, and virtuosity.

N.B. Interesting End Users

There are a lot of interesting end-users out there to design for apart from technologists. Specialty cases. People with subject-matter knowledge in highly complex fields outside of tech. Building tools in this arena is highly engaging work. It's just not what this essay focuses on.

Building Good Things Again

My mind is at ease because I see a whole generation of new programmers that are skeptical of "shiny new tech". I sense that even if they can't consciously articulate it, most Gen Z programmers have a feeling when using most of the technology built by Millenials and Gen X that even though everything is faster, higher resolution, brighter, and higher fidelity, there's something soulless and rotten at its core.

More and more technologists are starting to tug at that thread. It seems every month I'm seeing more command line interfaces released, an increased interest in how computers work closer to the metal (networking, OS design, etc.), and a frankness and honestness in some designs that I haven't seen for decades now.

If any of this resonates with you, take up the crusade with me and build your heart and soul into the technology you create. Ask the right questions - not the boring ones. Assume that some existing piece of software is mostly bs and hype (because it probably is) and write your own program that solves the problem in a more honest way - one that focuses on solving the problem well instead of generating ad revenue. Most importantly - always hack on side projects, it's the only way you can truly keep in touch with your authentic creative self in programming.

If everything else fails, look back to The Good Internet for inspiration. There's a multitude of interesting types of software that eventually morphed into incredibly boring takes on the initial spark of interestingness. I will leave you with some ideas that the world could use more of right now that are worth exploring or perhaps creating your own version of.

  • BBS
  • IRC (still around, use it, get a sense for social command line-driven interaction)
  • IRC bots (now Telegram, Discord, etc. The text-limitation created something special.)
  • Blog Rings
  • Encoding/decoding data as audio (dial-up internet)
  • Commandline Interfaces
  • TUIs
  • Bespoke hardware interfaces