LiteWeb

About

LiteWeb is a set of practices for web developers to follow. The goal is to improve the quality, usability, and functionality of websites. The web has become bloated. The W3C and WHATWG seem content to keep adding to the madness. When the World Wide Web (WWW) was created, it was intended to be a platform for browsing and linking documents. It was not intended to run applications.

Web Replacements

Many would like to see a fresh start with an entirely new protocol to replace HTTP and a new format not based on SGML or XML. Although this is an interesting proposal, it would be difficult to gain widespread adoption.

Gopher is an existing protocol that is approximately the same age as the web. Both were introduced in 1991. Gopher provides a more rigid, hierarchical structure to documents. This allows consistency, simpler categorization, and makes it easier for visually impaired users who rely on screen readers. Sadly, the WWW has superseded Gopher in popularity. Browsers which used to include Gopher support have since removed it.

It doesn't seem like Gopher is going to make a resurgence any time soon, and replacing the web is an ambitious goal. Users would be hesitant to download client software and developers would be hesitant to develop for an unproven platform. As a compromise, LiteWeb simply defines a sane set of practices for web developers to follow.

The Standard

This is a work in progress. Consider this to be an alpha version of the LiteWeb standard. These are the requirements to be considered a LiteWeb page.

» No Javascript

Javascript has been widely abused. I went to the websites of two popular cable news channels in the United States. Each contained over a megabyte of Javascript across 20 HTTP requests. That measurement only includes the JS. It does not include HTML, CSS, or other resources. By comparison, the page you are viewing now is less than 10 kilobytes delivered over one HTTP request.

Bloat is not the only problem. Writing unnecessary Javascript wastes developer's time. It creates potential security vulnerabilities for users. It is incompatible with many tools such as web scrapers, archivers, and screen readers. It is often used to create confusing or annoying user interfaces.

» Pages must be served as UTF-8

The web is international. Even if you don't think you will ever display text in another language, it is still valuable to use UTF-8. Sometimes loan words become popular. Sometimes you want to talk about a foreign company or product. The English language isn't even entirely ASCII. Sometimes you want to be able to distinguish between words such as resume (to continue) and resumé (job history).

» Pages must be validated as HTML 4.01 Strict, XHTML, or HTML5

The specific DocType isn't of great concern. It is left up to the developer to decide which one they would like to use. The main requirement is that it validates properly. Pages must not rely on quirks mode to render. Use the W3C Validator to confirm that your pages are compliant.

» No proprietary plugins

Open standards are important. It is critical that content not be locked behind a proprietary technology.

» No audio, video, or canvas tags

If you wish to have media content, you can provide it as a separate link. There is little reason to have it embedded into the page itself. This also allows users to enjoy the content using the media player of their choice.

» No trackers or beacons

If you want statistics about your users, you can obtain them yourself on the server side. You don't need a third party analytical service. You also don't need "social media" buttons. Plain text links work just fine. Respect the privacy of your users.

» Images must serve a functional purpose

Do not use the img tag for backgrounds, borders, gradients, buttons, and other design aspects. Images should only be used on pages if they serve a functional purpose and are truly a part of the content. Site logos in the header are acceptable.

» Images must not exceed 500 pixels in either width or height

If you want to display larger images, then provide a text link or user a smaller thumbnail image to link to the full size picture.

» Images must not exceed 100 kilobytes in size

If one follows the pixel size requirements, then this should be easily achievable. If your picture is larger than 100 kilobytes, you are likely using the wrong format. A common mistake is to use PNG for rich, full color photographs. JPG is more appropriate for those types of images.

Examples

Apart from the page you are reading now, I don't know of any that meet all of the requirements. I was disappointed to discover that cat-v uses Google Anal-Tics and that SQLite's homepage uses a small amount of BS... I mean JS.

Conclusion

Simplicity is beautiful. The web should conform to the UNIX philosophy. Browsers should not attempt to replace the operating system. Join us, and make your website LiteWeb compliant.