August 22nd, 2022 JavaScript ecosystem is garbage By Jeffrey M. Barber

The entire JavaScript ecosystem is garbage, and I fear it is a pox on the web industry. This may seem ironic since I’ve built a JavaScript ecosystem which was a key part of I got my big tech senior principal promotion. Here is the deal: I chose JavaScript out of spite because I knew it would be successful and let me rake in those fat-checks. Paradoxically, JavaScript is better than C++ for building product infrastructure due to Greenspun’s tenth rule, and the language is suitable for many tasks. It’s a glue language, and it’s OK. The fragmented ecosystem…

If you have used any modern JavaScript tooling or libraries, then you already know that the JavaScript ecosystem is a dumpster fire. I’m an old man shaking my fist at the sky as I curse the gods having seen a litany of web frameworks from afar come and go. There has been so much churn that “next generation” is practically meaningless. The entire edifice feels like a facade of sand-castles built on quicksand built on the back of a roaming turtle.

Perhaps, my pathological biases prevent me from enjoying the mindless bliss of managing this shit, and I gravitate towards stability of concepts. That is, my bias is to go deep into the tree of knowledge rather than jump between branches, and this would explain why I got a math degree. I’m building an empire within my mind, and I can’t stand trivia.

I’m ranting as something I wanted to leverage is trapped within this ecosystem, but the ecosystem just tastes bad. There are nice and shiny jewels trapped within the landfill, and no amount of chocolate will make this hot-garbage-dog-soft-serve ecosystem taste good. For me, it’s just not worth it.

So, when I look at this web game, the fundamental root to master is the browser. That’s the moving target, and two things are true. First, the world is much better today than it was twenty five years ago when I started learning web development due to browser feature growth and platform convergence (i.e. chrome’s fortunate-yet-unfortunate dominance). Second, the fundamentals of the game are still the same.

The entire job is to weave data from some data stores and turn it into HTML. That’s it. That’s the entire game for most experiences. All the funny buzzwords of various different frameworks miss the point. You just need to take some raw data and make it consumable for humans.

The difficulty of the game notches up when you want that HTML to be interactive, and this is where the mess becomes a wasteland of despair. I solved this a decade ago with a social media start-up, and the insight back then is the same insight today: reactivity. Solving reactivity alone is actually a straight-forward application of publisher/subscriber where changes from one place flow via a chain of pointers to another place.

The ecosystem wasteland emerges due to the enormity of the field and the various conflicts of multitudes of ideas at play. The mix and match of ideas, the N+1 standards, and people that are under pressure to deliver.

The good news is that a lot of businesses depend on the wasteland, and you can hire wasteland warriors! From a business perspective, the math works out to leverage a legion of wasteland warriors rather than invest in fundamentals. The bad news can be interpreted as a bunch of FUD, but the open question is how to change the dynamics such that a new solution can be significantly better for businesses.

Obviously, as this blog is a content funnel for my business, Adama is part of a new solution with RxHTML as to how I’m doing front-end engineering. Yes, I’m building a new web framework that is exceptional minimal, and the key insight that I’m exploiting is reactivity as a primal infrastructure primitive. The claim here is that you don’t need React or anything of that nature if you have a backend that is reactive. The client is a stateless function of the server and local view state parameters.

I’m currently living in this paradigm for building the online portal for Adama, and it’s working well. However, the market for Adama is going to take a while to shape up since communicating the value proposition is hard. Instead, I’m going to take a long term strategy and then build a variety of focused businesses on specific vertical markets. The core investment is to backchannel the bulk of the engineering back into related platform assets.

My thesis is that I can radically simplify the engineering requirements for people to launch new businesses online, and the core piece I’m missing is making things look great. Fortunately, I’m a huge fan of Tailwind which I believe is the way. I also think using an AI-assisted designer for tailwind is the start of a much better way to build UX.

I do believe the future is bright, and my spiritual mission on this endeavor is to build a beacon of light to lead people out the wasteland and into my cathedral.