So I’ve been making web stuff for a quarter of a century now
As I’m sitting down here on a NeXT computer (in honor of the machine the web was born on!) to write this—I admit, yes, computers are faster now. But the basics haven’t changed.
There’s still a bunch of companies trying to make things incompatible and pushing proprietary stuff on us (hi, AMP!).
You still need to test in every browser, though it’s been easier than it used to be, as there’s fewer bugs and decent debugging tools.
People still try to fix the perceived shortcomings of the client/server model by trying to make the client do everything.
Hello Java! Hello Flash! Hello Ext.js! Hello Angular! Hello React!
People still eventually give up and try the next thing that promises salvation.
Yet with all the experience and all the new features and all the “new” client-side techniques, so many web sites and apps are horrible. Worse perhaps than 25 years ago.
I’m not a Luddite, however it’s a good idea to reflect sometimes if you actually need all the crap that supposedly makes things “better”.
Does it, objectively, improve lives of users?
Does more code and more complexity really make things easier to maintain? (The idea of componentized architectures pops up every half decade or so—is it really going to last this time? What’s different this time around?)
If you want to be really great at making web sites and apps—forget about frameworks.
These are and always will be ephemeral.
To be good at “Web” you’ll need to understand first and foremost about humans.
Any web site or web app is ultimately always about a human being wanting to achieve something.
Concentrate on this first. Make it easy to achieve that something.
Make things clear, quick, forgiving, enjoyable and get out of the way when the job is done.
To make things clear, learn about psychology. Learn about how (successful) education works. Have empathy. Be kind of users.
To make things forgiving, see what happens when users block trackers and ads. See what happens on slow and brittle connections. Load up the thing on a 10-year old computer. Test in text mode browser (is it at least somewhat comprehensible?), and test for colorblindness. With very little time investment you can show your users that you care. This will be much appreciated.
To make things enjoyable, learn about design. Learn about human-computer interactions. Learn about visual design, space, colors and typography. Design is not some innate magical ability people are born with.
tl;dr Make great sites and apps that help people kick ass & don’t get tangled up in the pursuit of technical “cleanliness”.
Here’s to the next 25 years of the web.
P.S. And for everybody’s sake, have fun creating things and don’t take everything super seriously.