Easy is boring. That's why I love the web and browsers […] — me

I love that my code can run anywhere for anyone. Indeed that's the challenge. The web is a hugely diverse environment anyone can view anything anyway they want.

If the viewer is using the latest technology beefy desktop computer that's great. Equally they could view the website from a work computer, something old and locked in using a browser called IE8.

Douglas Crockford once famously said:

The Web is the most hostile software engineering environment imaginable.

You're damn right it is. And it's with that hostility that allows me access to the world. It's that "hostility" that I call my daily challenge.

This hostile environment is what gets me excited. That challenge of getting my page to render everywhere. Getting the code just right so that it progressively enhances so that everyone can view the page.

I'm not saying that I achieve it every time. For example, I've strived to make jsbin.com work in IE7 and IE8 for many years, and somewhere along the line, we lost IE8 support (which I'll try to find time to fix one day too).

View Source: the welcome sign of the web

I do wonder exactly why viewing source was baked into the early browsers. I can imagine it was to do with debugging and keeping the technology and protocols open to help with adoption.

And oh my did it pay off or what!? I'm one of the earlier generation of developers that skipped on reading books and just learnt from all the mistakes and insights of other people's code on the web.

For me, I had my major breakthrough in understanding JavaScript by grokking the jQuery source (back in the 0-1.x days, some 10 years ago).

Without view source I'm pretty sure I'd be a shadow of the developer I am today, even possibly I'd still be writing closed source Perl!

Is it harder today?

I was reading Jake Archibald's post entitled If we stand still, we go backwards and it had me thinking about an analogy for complexity that I'd heard compared to the web before.

Back in the early days of photography, technology was, compared to today, rather simple. At a push, I can make a pinhole camera in a few hours (maybe...).

A compact digital camera on the other hand is a whole different kettle of fish. I don't know even if today a single individual is capable of building a fully working camera. But this is the cost and benefit of technical advancement.

I mean, heck, look at it, and that's even after you've got all the parts made!

Camera in bits - Photo by Vadim Sherbakov

So, if you want to build browser optimised insane effects, work with the latest offline push technology and have it all fully mobile optimised: the job is going to be hard. Not "build a device that talks to space"–hard, but you'll probably need to read a book or two.

That's all assuming you've got the parts - to get the parts you need frameworks and build tools, or so you'll be told...over and over and over. There's no doubt: the job is daunting.

This is not the only way - I assure you.

Unsurprisingly, the basics are still here

The web is still made up of HTML, CSS and JavaScript and works damn well in it's vanilla form. This blog for instance, my primary presence on the web, was just HTML and CSS with a dash of copy & pasted JavaScript.

These days I've long ditched the Wordpress backend, and gone for a static site. One that I could easily code by hand. In fact, I wrote my own process that turns markdown files in to HTML, because that suited me. There's no reason why I couldn't use some GUI program on my laptop to transform the markdown to HTML, then paste in the header & footer.

Why I love working with the web

Remy where the web was born - Photo by Jeremy Keith

It's the web's simplicity. Born out of a need to connect documents. As much as that might have changed with the latest generation of developers who might tell you that it's hard and complex (and they're right), at the same time it is not complicated. It's still beautifully simple.

Anyone can do it. Anyone can publish content to the web, be it as plain text, or simple HTML formed only of <p> tags or something more elaborate and refined. The web is unabashed of it's content. Everything and anything goes.

The web is a truly amazing place for developers today. There's an amazing abundance of libraries, frameworks, plugins and utilities to make life much easier to do the super complicated stuff that some people were brave enough to roll by hand 10 years ago. Equally, if you want to write JavaScript and ignore all of the ES6 / ESnext parts, you can (and for the most part, due to constraints, I do too!).

If you sit back for a moment, and think about just how many lives you can touch simply by publishing something, anything, to the web, it's utterly mind blowing. That's why I love working with the web.

What about you?