Why I love working with the web(edit)
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.
Attend ffconf 2016
The UK's best JS and web development conference. Find out more & get tickets.
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.
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!
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
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
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.
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?