In the interest of progressive enhancement, my site doesn’t force browsers to connect over HTTPS unless they demonstrate support for it.
Continue reading post "Forcing HTTPS and progressive enhancement"progressiveEnhancement posts
2784, the first HTTP port
Looking at a page discussing the code of the first web browser (WorldWideWeb), I noticed a line designating port 2784 as OLD_TCP_PORT
. After looking into it a bit more, I determined that this was the port used for the web until port 80 was officially designated in January of 1992.
Supporting HTTP 0.9
I recently added support for HTTP 0.9 to my site. I have access to no browsers that use that protocol, and it’s highly unlikely that anybody is visiting sites with one. Why support it then? It’s not that hard (for me), and it fits with the progressive enhancement related concept that all browsers should be able to use the most basic functionality of a website that they are capable of.
Continue reading post "Supporting HTTP 0.9"IE 5 Mac class attribute with space bug
Crazy Mac IE 5 bugs with the HTML class attribute: If you have a space after any class in the attribute, it will treat any CSS class selector that contains that string at its beginning as a match for the element.
Continue reading post "IE 5 Mac class attribute with space bug"10k Apart
I have spent much of my free time the last 12 days working on a project for the 10k Apart challenge. 10k Apart is a challenge to make a compelling progressively enhanced, accessible site with 10 KB or less of initial payload per page (more can be lazy-loaded). I decided to build an implementation of Conway’s Game of Life, which I had wanted to do since going to a Code Retreat a while back.
Continue reading post "10k Apart"SCSS rgba color fallback mixin
Browser support for rgba
colors is very wide, basically working in everything but IE8- and really old browsers. In the name of progressive enhancement, it’s still good to give those browsers a fallback, the simplest being the solid version of the same color. This can be done by putting the property twice, once with a solid value and once with an rgba
value. The non-supporting browsers will take the solid color and ignore the rgba
, while the supporting browsers will take both, with the rgba
overriding. As an example: color: #fff; color: rgba(1, 1, 1, 0.6);
.
To that end, I created a mixin to do this automatically, similar to my remFallback
mixin:
Line Mode Browser, or progressive enhancement all the way back
Progressive enhancement is a development strategy meant to provide older and / or less capable browsers with a working website while providing the more capable with a rich, full experience. It is often presented as a set of layers of support, with HTML at its base, then CSS added to that for styles, then JavaScript for advanced behavior. With this, it’s often posited that a well-crafted HTML experience can be used by any browser. However, for really old browsers from the early web, the new web provides many things that can make pages difficult to read, functionality unusable, or even entire sites inaccessible.
Today, I’m going to go back as far as I reasonably can in terms of browser support, to the second web browser ever made, and the first widely supported one, Line Mode Browser. I can’t look at the first, WorldWideWeb, because it was only made for NextStep and, as far as I can tell, isn’t accessible for me to test with. Line Mode is though. It was open-source by the w3c and kept available. I was able to get it with MacPorts with the ‘libwww’ package (run as www
on the command line).
Line Mode was based on WorldWideWeb, and in fact was less featured, so it is likely to have any issues WorldWideWeb has and more. I will look at some issues that Line Mode has with modern web pages, and provide some solutions that will improve the abilities of even the oldest browsers to use a page.
Continue reading post "Line Mode Browser, or progressive enhancement all the way back"