Thoughts on Engineering, Photography, and Design.

Hey, I'm Ryan Heath. I design & develop things for a living and play with cameras for fun. This is where I share my thoughts on all of that — and probably more — along the way.

How to continue making kerosene lamps on the eve of electricity

I don’t think I fully believed in AI building software until fooling around with ChatGPT. Maybe it won’t affect software development like it feels like it might, but I don’t think it can be ignored any longer.

I like to imagine that all of us in software development, as it looks today, are busy making beautiful kerosene lamps in all shapes and sizes. We’re improving the burn efficiency. We’re finding ever clearer forms of glass to let the light through. We’re tinkering with a formula that’s been around for a long time. But as we do, Edison and Tesla are busy inventing electricity in the other room.

Progressive Enhancement Is Backwards

Progressive Enhancement is a well-known idea that web design should be a layered process, meaning a design should satisfy the least common denominator first and foremost (Internet Explorer), and then layer on enhancements for the browsers that support them. This was how I worked for a long time. But over the last couple of years I’ve been questioning it and actively doing the polar opposite. In fact, I now feel that Progressive Enhancement is backwards.

In no way am I saying that ignoring Internet Explorer is the proper approach. It’s not, as much as I’d love that. I’m saying that Internet Explorer doesn’t deserve “first dibs” on a design. It bakes in limitations and locks up the mind from the very beginning. And aside from that, Chrome, Safari, Firefox, Opera (and probably a few others I’m not aware of) are doing amazing work trying to push the web into the future via great performance and great support for HTML5 and CSS3. So why, when they are the browsers leading the way, should a design first go back in time to Internet Explorer, who is lacking in all of the areas in which the others are exceeding? It doesn’t seem fair, nor does it make much sense.

I’m of the opinion that a better design will come out of working in a cutting edge environment first and dealing with lesser environment(s) second, than working in lesser environments first and “enhancing” a restricted design second. Now, that may sound like graceful degradation, but it’s much more than that–it’s a shift in the way a designer thinks while designing, which I believe results in a much better outcome.

A freed mind can creatively take advantage of what’s possible, and only then can the full design potential come to life. I personally find it far more rewarding to be thrilled with the enhanced version than to be just happy with all versions.