Ding

If you’re anything like me, you’ve probably heard variations of that sound ringing in your ears, followed swiftly by a shot of dopamine that floods your brain. “Good Job!” you no doubt tell yourself, “Now I can do X even better!”.

Good Job, indeed.

The “Ding” is a great thing, and comes from the great sense of accomplishment that learning a new skill, some new algorithm, or just making-the-numbers-go-up experience.

I still get the “Ding” every once in a while. I’ve been ‘programming’ for probably close to 17 years, and I’ve either dabbled or destroyed a line of code in at least 8 different languages, each with their own unique “Dings”.

– JavaScript prototypes? Ding!
– effective use of file descriptors? Ding!
– Stacks, Queues, and Heaps? Ding!
– Memory management in a lower level language (c, c++, objective-c)? Ding!
– When you can immediately name a problem set without setting foot in Stack Overflow? Ding!
– More broadly, Object Oriented Programming? Ding!

The “Ding” is the essential unit of measure for any creative profession. It’s the psychological equivalency of feeding an addiction. It’s how we stay sharp, adapt, and it’s a fountain of self-esteem.

Engineers get hit with this more often than most creatives because outside of direct recognition – Which, lets face it, is pretty rare – it’s our easiest and most straightforward metric that we’re getting better at our jobs.

The “Ding”, however, is a path of personal anguish and ruin. Nothing scars the psyche of an engineer more than a problem without a solution. The hours of 11:00 PM to 3:00 AM are typically when we “Ding”, and shortly afterwards, cruelly, sleep comes and oftentimes with it, the original hit of the “Ding” evaporates as fast as our consciousness does.

If I’m not searching for a “Ding” professionally, I almost feel like I’m wasting my time. “Ding” droughts are as rough as championship droughts for your favorite sports team, a failed start-up, or worse – boredom.

The lack of good “Ding” in the Front End world is forcing me into other domains. Mobile, for one. Games, for another. “Web” technology, outside of the frameworks behind the scenes that power it, feels like it’s growing stagnant.

– Webkit is amazing, but how much more amazing is it now than it was 2 years ago?
– I still have to support Internet Explorer 8, and often 7. If you do any kind of agency work or web application building; don’t lie. You do too, and you hate it.
– The “Mobile Web” problem is largely being solved by the select few who are REALLY talented at responsive design. Kudos to them.
– Apps are not the answer, but at least they’re attempting to innovate.
– Our mobile devices are consuming a larger part of our ‘connected’ attention spans
– How much longer are we going to have to wait before we see ES6? How long until IE updates to conform?
– CSS3 started being supported

I’m craving me some “Ding” but the closest I can get to it is WebGL. The last real “Ding” I had been when my eyes were blown apart by how much time I saved using SCSS/Compass.

Where’s the innovation that the web displayed with aplomb over the ’00s?

– CSS3 3D Transforms were announced back in 2009!
– CSS Animations were originally announced in 2009!
– CSS Cascades and Inheritance was 2005!
– Web Sockets have been around since 2009, though really how much have you been using them in ‘real’ projects? (WITHOUT a shim; that is. Socket.IO is amazing but you’re lying to yourself if you think it’s really using web sockets more than 50% of the time.

You still can’t access the filesystem on a broad range of browsers.

You still can’t natively grab the webcam on a broad range of browsers, for god sakes. (yes, i know all about the Capture API– call me when it’s available on something more than Canary).

WebGL is a pipe dream for mass appeal, especially when it comes to non-US users.  53% of browsers  support WebGL.  23% of which are only partial support .

I don’t know where I can realistically go for my “Ding” fix, but it’s certainly not the web now.  There’s always a wish to push it as far as it can go– but I work at a job where that kind of luxury is followed by “What’s the browser support look like?”, and then it’s just disappointment.

The thing is, I know that the well isn’t dry. The web will continue to be a great place that’s got a hundred different ways to do the same thing – and that’s wonderful. But it’s not pushing the limits anymore. At least for the not for the last few years.  IE8 (and to a lesser but real extent, IE9) are largely the culprits in this mess, I will freely admit.

The rate of increase in rapid progress and the undercurrent that the browser is more than just a dumb terminal started to fade out right around 2005. People were doing crazy things with outdated technology (Twitter’s first major redesign, live streaming video, the current Framework War that’s going on now in browser JavaScript).

These things are fantastic as “Ding!” moments for the people involved. But I’m usually left wondering if people are addicted to a steady stream of easily attainable “Ding” moments, and now that the well is running a bit dry from overexposure, stagnation and reinvention are creeping back from the depths of IE5 and 6.

But in reality, I theorize that the people who’ve been working on the web for as long as they knew what it was are realizing that they are catching up to what was possible on other platforms, and not blazing as many trails.

Consistency should be the focus of the next half decade of progress on the web.   We’ve had the contest on who’s the better rendering engine for too damn long, and as a direct result of Chromium vs Gecko vs Trident war, a massive percentage of the population are either forced or aren’t educated enough to be using something that’s just as free, and just as easy to use.