Chasing Your Tail With Cascading Style Sheets
Software development may well be the closest activity to perpetual motion that can be achieved in the real world. Approaches and techniques once thought new are more often than not a bad solution to an old problem. Cascading Style Sheets is one of those ancient wheels badly reinvented.
The PDP series minicomputers’ instruction set had an indirect bit, which flagged the instruction operand to be a pointer to another memory location. The reason for this had to do with the drive for highly efficient CISC instruction sets back when silicon switches were expensive, large and glacially slow, before the Tyranny of Numbers was overcome with increasing device yields and rapidly shrinking device geometries. These became, in turn, indicators of Moore’s Law as it became elucidated, understood and exploited. This indirectness made it possible for programs to get hopelessly lost if programmers were not really careful.
Software has its own indirectness, aided and abetted by tools that addressed problems thought to be new, but which turn out to be only rediscovered old ones by developers who have no sense of history. In the WWW, cascading style sheets has become the logical successor to the PDP’s indirect bit legacy.
CSS certainly solved a problem that the PDP machines never had, although they recreated the problem that it did have, that being getting hopelessly lost and bringing forth bizarre and unpredictable results. One of the immediate consequences of this is that web site maintenance gets more complicated, another way of saying expensive in money and time.
The biggest complaint from the business side does not understand why something that once worked no longer does, and why their customer facing web sites never look the same twice, a complaint we’re hearing more of lately. The main reason for this is that each proprietary browser does not bother to reset the css defaults when moving to a new domain, so the style settings from the previous site carry into the business’ site, and seldom in a good way. Solving this problem with various css resets is more like pushing Jell-O, with new problems surfacing in mysterious and baffling ways that take time to isolate and fix.
While css may be based on an open standard, whatever that means, the actual implementation is up to the various browser manufacturers, each having their own little twist. It’s actually impossible to have two different browsers each render the same web page identically on the same workstation, regardless of the operating system. The closest way to get predictable uniformity independent of particularly browsers is to use the html as a thin wrapper to a Rich Internet Application made with Flash or Flex or, sometimes, Silverlight.
The designers may see css as a great way to, well, design, and create visual effects that help differentiate that site from other sites, and these cascading problems are too often treated as mere bagatelles. The business, which has to satisfy customers and meet payroll, among other things, sees these problems a bit differently: As problems whose costs were not included in the original project.
Which may explain why we’re seeing more and more businesses move their online presence to rich internet applications, particularly those that can be easily configured by non-techies. It may well be a trend.
© Copyright 2010 Chuck Brooks for FutureWare SCG
A Word From Our Sponser
Adding Security And Eliminating CAPTCHAs Increases Email Optin Rates with An Adobe Flex object that is yours for the asking