Kelsey Hightower on software minimalism and JS frameworks

Kelsey Hightower on software minimalism and JS frameworks

Kelsey Hightower is a minimalist. As such, she likes to make fun of the noise and focus on what problem she is trying to solve for a solution.

“When people really look at the problem we’re trying to solve, when you say DevOps or listen to some fancy new implementation tool, or IQ/CDyou’re like, ‘Okay, what’s the problem?’” tall tower, a distinguished Google engineer and full-stack developer, told The New Stack. “The problem is that we’re trying to take the code I’ve written and put it on the server so people can use it. It’s a very minimalist way of understanding it.”

Taking that approach, it’s clear that sometimes people lose sight of the original goal, he said. Focusing on that can be very enlightening, she explained.

“Every time you do minimalism, that’s how you end up with no server,” he said. “Everyone wants a server; you go to Dell, HP, you buy the server, you plug it in, the server gets bigger, it uses more power, Intel has more chips, you’re putting all these things in there. And now you need a configuration management system to manage the server. What was the point again? Wasn’t the point of writing the application and giving it to the client?”

Tower, who helped establish the KubeCon conference, said there is a simplicity to the paradigm that uses APIs, services, and containers to manage services.

However, he sees a need for simplicity in software design.

“In software, we don’t do that [simplicity]because it’s like clay, you can do what you want, and without those restrictions, people end up doing what they want and creating complexity, because it will continue to work, “he explained.

Tall tower in Next.js 13

The New Stack spoke with Hightower on Vercel Next.js Conference in San Francisco. He is an advisor to Vercel and was at the conference to answer questions about the latest release.

He offered an analogy to explain what Vercel is trying to do: If the web is the new computer, with the edge serving as middleware and cloud providers serving as data centers, then Next.js aims to be the operating system. where does Next.js 13, released last week at the conference, does it fit? It’s progress, she said.

“With any ecosystem, you want to see a stable release cadence. Why do you think the new iPhone 14 looks like the old iPhone, right? […] We don’t always want big jumps, because the problems we’re trying to solve now are very specific,” he said. “It’s not like we’re trying to build Next.js from scratch again. We’re trying to address the issues that were there with 12.”

It’s also faster at rendering, thanks to TurboPack, he noted, which is key to supporting collaboration. Thirty minutes to render discourages software developers from trying new tactics; therefore, with faster rendering, developers are more likely to experiment.

One feature he questioned at first was the image optimizer.

“I looked at that feature, like, why is it a vignette? Who really cares, right? It’s just a thing where you can put images on a web page. We always have,” she said.

But after watching the videos and tutorials, he realized that it was an important announcement because it improves performance, which Google test the rankings and impact the user experience. There is also a real cost in terms of how fast the website loads, and serving images from the CDN is not free, she added. The bigger the image, the more sites have to pay.

“What they do now is say, Hey, we’re going to take that image thing that was working and give you all the best practices that the big web companies know how to do,” he said. “When you register that image and you’re using the Next.js framework, we’ll do everything right, like resize the image.”

These best practices ensure that the image loads quickly, even on a 3G mobile device.

“Just that little bit of functionality, somebody who’s written a bunch of code to do that, nothing makes an engineer feel better that I can strip out all that code and just do this,” he said. “That’s a game changer.”

Minimalism in JavaScript

I asked Hightower if there is more room for minimalism in JavaScript.

“Yes, I think so,” he said. “What does minimal look like in JavaScript? JavaScript is a tool for creating experiences in the browser, because if it were just information, then HTML it would just be fine.

JavaScript, by its nature, minimizes the work developers have to do to create these experiences, he noted. For example, to import a location, developers simply call the location JavaScript function to retrieve the location from the browser, instead of writing hundreds of lines of code to do so.

“JavaScript is like English: anyone is free to create new words, which doesn’t mean it’s going to catch on. Sometimes we find the perfect word that means so many things, and then you start using it, but that doesn’t mean all the other words are gone,” he said. “This is how I see JavaScript itself, its very essence is just this low-level thing that allows you to create experiences in the browser.

“So the answer to your question is yes, but it will be answered by 50 different people and you have to choose the one you want,” he said.

That’s why there will always be more than one JavaScript frameworkhe added.

“There will never be one because the experience keeps changing,” he said. “We like that, as humans, because we want to hear something new. … It will never stop. But do we want it to? I don’t think we really want it.”

Vercel paid for Loraine Lawson’s travel and accommodation to attend the conference.

Cluster Created with Sketch.

Leave a Comment