Once more I replied to an issue in one of my open source projects with something along the lines of "Yeah, you can't just open HTML files like that, you need to use a localhost".

It makes me think our community may be suffering from tunnel vision. 🧵

We assume that everyone creating web apps is comfortable with the command line, build tools, npm etc.

We build more and more abstractions on top of these, because we assume these are bread & butter by now.

Yet it appears some still struggle with …localhost.

I’m not against higher level abstractions, far from it. Abstractions are how you make a platform more powerful!

But somewhere along the way we lost the smooth learning curve of the earlier Web, and I just wish we could have had both. 😕

👉🏼A platform doesn't need to be hostile to novices to be powerful for experts.👈🏼

But novice-friendliness does not just happen. It needs to be a priority.

In the Web Platform, somewhere along the way we prioritized other things over approachability.

Experienced devs are far more vocal than novices, which gives a skewed view to stakeholders.

Novices are not typically part of the public discourse. They don't blog, don't post on lists, and don't follow anyone on Twistodon. It’s hard to reach them even when seeking them out.

@leaverou I think this is partly due to being afraid of being wrong. But those questions actually could highlight points that are not that clear.

@leaverou truth.

I recently came back to modern web development from being able to make websites in the noughties, having given up at some point when either Flash or JS/JQuery took over, and "View source" stopped being readable, or even actually related to what I was seeing on screen.

That learning curve was steep and bewildering.

Web dev has gone the way of other types of software development, where you need a lot of setup and a particular environment before you can make something happen.

@leaverou "Twistodon" ❤️
Amelia Bellamy-Royds (@[email protected])

@leaverou I've used Twitstadon. And posts are also twoots.

Front-End Social
@leaverou I think introducing a 'compile' type step added a lot of unnecessary difficulty and indirection. That's the main reason why I still write plain CSS instead of using a preprocessor, and keep JS minimal.
@leaverou I still won't use a framework when HTML/CSS and some vanilla JS will work. There's too much of a focus on disposable code in modern webdev, which costs so much effort to maintain. We don't need SPAs when we just need PAGE. Also, humbug, apparently. 🤣
@leaverou one of the most hair-pulling experiences as a platform developer is trying to make it easy/simple/"just works" enough that novice devs can learn it easily, only to look around and see all your power users building complicated towering abstractions on that base.
@leaverou in my experience it's not quite so clean cut. A lot of early-career developers follow more people on SM, though it's more indiscriminate. They're also frequently enthusiastic, and pump out posts about anything and everything as they come across it.
How many "5 cool things about git" articles pop up online every day? Sure, that's sometimes spammy, but just as often it's people experiencing the joy of learning, and wanting to share it with the world.
@leaverou hmm I think I agree but it makes me wonder, either I'm the odd-one-out novice who actually is quite vocal or I'm no longer a novice, I'm not sure which one it is 🤔

@leaverou this insight is spot on and deeply felt as I worked on my first Astro project this month. The framework was so thin in how it applied its own top-layers, and in many cases shined most where the basics of web were just left exposed.

As bulky and clunky as past frameworks and abstractions have been, there is now a great opportunity to cut out the confusion rather than continue to build it up!

@leaverou Agreed. It is unfortunate how much friction there is to get up and running with a modern web stack. Opening an HTML file from the local file system should emulate the behaviour of an HTTP server somehow.
@leaverou I've been coding for the web for over 20 years and I'll still avoid the command line whenever possible.

@leaverou I summon the command line fairy @mihaitodor whenever something is beyond copy-pasting a few lines. Even when that doesn't go successfully.

Build tools or npm are far beyond my understanding.

I've never managed to do something like a pull request right. Fucked up every single time.

I struggled with localhost during uni too. Eventually, someone helped me out, but yeah...

I'm just not a computer person. I can code, understand algorithms... but I'm just not a competent computer user.

@leaverou That was very much a pet peeve of mine when learning modern fed stack.
Articles were just talking about installing a whole bunch of arbitrary tools and not explaining why.
It took me a while to be able to keep my stack minimalist and scoped to my needs and intentions.

@leaverou Strongly agree! On top of it, many functionalities are HTTPS-only which can be even harder for newcomers to set up.

Could the browser start a static server when someone loads a .html file? With some security warnings?

@espadrine Yup, https is another one I've seen novices struggle with. I've wondered about this too.
@leaverou @espadrine I know! We're at that awkward stage now where it's not impossible to configure with something like AWS and an 8 step tutorial, but I can't wait for it to just be, "click here to get HTTPS cert."

@leaverou I keep getting ridiculed for postulating that we need to assume authors, not “Programmers” as the people mainly building on the platform. Because _obviously_ that is “naiv”, because developer needs express the capitalistic needs of companies, without the web wouldn’t run. 🙄

I call bullshit. We need to do exactly what you are talking about. Devs are often ignorantly complicit in turning the web into a divided place of consumers and companies. The web is for everyone.

@leaverou it is surprising how this person has knowledge about open source, knows how to interact with the open source tools, but misses the localhost concept or when to apply it

@leaverou one bright spot in all this is the unification that has happened in tooling to a large extent around NPM and package.json (and scripts)

I think the best way forward is to build user-friendly tools that further entrench common conventions without losing the power we now have.