Reading this post harkens me back to the days when IE hacks roamed the earth and web developers spent cumulative millennia discovering and implementing ridiculous patterns in code to take advantage of bugs in browsers’ rendering engines. For those who didn’t live through the dark ages of web development, it’s basically having a single codebase be portable across 4-5 different runtime environments, and the only way to target any single environment was to exploit its quirks, most of which were undocumented.
The front-end engineer in me had always wondered about the cost of finding and implementing such hacks. In this case, controlling the right spacing and typography took a month of testing various techniques, in service of working around the lack of underline options in the current CSS spec. This could have been time spent building out other features.
Let me back up a little. Once upon a time, my philosophy on web development was simply that designs should be implemented to 100%. It ought to be the job of an engineering lead to allocate time and people to fulfill the designed vision, and the job of the engineers to build to perfection, even if it meant powering through quirks and idiosyncrasies. That is, if the front-end engineer is a bridge between the design and the backend, their value lies in ensuring their work adhered to both the specs and architectural vision.
Then again, web development has evolved. There is now less of a need for hacks, but taking its place is a tremendous lift in expectations across device UX compatibility, interactivity, and code quality. The time and mental energies that would have been spent laying out a design identically to anything that sniffs HTML is now expended on structuring code, testing for touch interactions, and optimizing animations. If there is still a bridge embodied by the modern web development, it’s one that can accommodate rush hour traffic and hundred-car trains while spanning across the sea. The domain addressable by web technologies has expanded so much that cutting images to the pixel for sliding doors tabs seems like such an antiquated misappropriation of time.
There is, undoubtedly, still value in spending the effort to scrutinize the details. For Medium, digging deep into typography equivalent small details are worth the extra effort. But, instead of selectively supporting the later versions of Internet Explorer, they are instead deciding which aspects of the interface are the most important and worth a perfect build.
- Through two decades of iteration, the front-end toolset is a powerful one, but when it misses something (hello vertical centering), workarounds trend towards the esoteric and illogical, and often through inefficient trial-and-error.↑