Web design
I am not a professional web designer, just an amateur hobbyist, but have attained some experience with basic HTML and CSS over the years I have maintained my website. I seem to enjoy HTML and CSS, which are markup languages and are easy to learn, but so far have not been inclined to try actual programming languages such as Javascript and PHP; learning the latter is rather daunting and I don’t feel up to it.
I am conservative in the matter of producing a site for myself, and while I am aware of the latest design and development fads, I am not inclined to change my process in order to keep up with whatever is fashionable (yes, I am getting older). This page contains my opinions on some of these trends.
HTML 5: the next big thing – or not?
HTML5 with its new tags is the current iteration of HTML, and is mostly implemented in up-to-date browsers (Internet Explorer 8 and lower do not recognize these). But there are issues with the correct use of these tags.
I am considering going back to
<div>tags rather than some HTML 5 tags (<header>,<footer>, etc.) – usage of the latter is still confusing in some areas as is pointed out in The Truth about HTML5 website (and book). One would logically expect that the new<header>tag would be used at the top of a site for the heading, and the<footer>for the bottom part, but apparently not:Footer: The
<footer>tag is not for website footers but for footer content that relate to the nearest sectioning element (these are the four sectioning elements: section, article, aside and nav). The footer can also be used for content such as that of bylines, related documents and copyright data. It can also contain entire sections and this will then lend itself to things like appendices, indexes and licence agreements.Header: Like the
<footer>tag, the<header>tag isn’t for website headers – as you would be forgiven for thinking. It’s for introductory content relating to the nearest sectioning element. It can be used for larger-scale content such as a table of contents or foreword, but is more commonly used for headings and standfirst paragraphs.– The Web Design Book, volume 5
That is more confusing than ever! It seems to needlessly complicate HTML coding. There is also a lot of confusion over when the
<section>or<article>elements should be used. I wonder if HTML 5, or at least some elements of it, will eventually go the way of XHTML 2, which was supposed to be the next big trend in web coding in the mid-2000s, but ended up being discarded in favor of HTML 5. HTML 5 is under the control of one person, Ian Hickson, which is controversial in itself. (Journal 4/9/2015)
To quote Koshka: “HTML-wise, one need only learn HTML4 to obtain all of the necessary tools to build a great website. I still haven’t fully learned HTML5 myself because it seems to be nothing but useless bloat and confusing changes to long-held standards.” I will likewise not use the new tags as I prefer to keep my code as simple as possible without extraneous clutter. Likewise with my Cascading Style Sheet; a huge amount of selectors and rules have been (and continue to be) added, but a lot of these are more for decoration.
There is a table of all the elements here, with when they were introduced and whether they are still in use, so safe elements can be picked from this – ones that will work in browsers from at least HTML 3.2 onward up to now. I have listed the safe ones below:
- a
- abbr
- b
- blockquote
- body
- br
- cite
- code
- dd
- del
- dfn
- div
- dl
- dt
- em
- form
- h1-h6
- head
- hr
- html
- i
- img
- iframe
- kbd
- li
- link
- meta
- ol
- p
- pre
- small
- strong
- style
- sub
- sup
- table
- td
- th
- tr
- title
- ul
CSS preprocessors and site generators
Web development trends in the 2010s seem to involve making the once-simple process of creating a website a lot more complicated and obtuse.
One web development trend that has become very fashionable in the last few years is the use of CSS preprocessors to output cascading stylesheets rather than hand-code the raw CSS. The most common current processors are Sass and LESS; they require Javascript to compile the files into a CSS stylesheet. Another fashion is to use a static site generator to compile the website from various files; these may be in Markdown or some other text language rather than HTML. And simple uploading via FTP is also regarded as outdated; one must now have a Git account to which files are “pushed,” then uploaded to one’s site from there.
Using these tools involves installing many whimsically-named programs upon one’s computer in order to follow the process of generating a website. These add a layer of abstraction and complication between the site author and their webpages – and extra dependencies. The longevity of many of these programs is doubtful; they may or may not be supported by their developers into the future. Another major disadvantage is that any changes to a page means the entire site must be regenerated. Using the terminal (command prompt in Windows) to communicate with the programs rather than a GUI is also common, which do not make them beginner-friendly.
All this supposedly reduces a developer’s workload!
No Complicators
I’m still a big believer in keeping HTML and CSS as simple as possible. Therefore, I choose not to use any preprocessors or frameworks, as those take time to install and set up, are hard for non-user developers to make updates too and they include a lot of crap and unusable code. Plus I’m too OCD about my code organization to ever allow a computer to take over. I find it a sad trend lately that it’s everyone’s goal to make CSS as complicated as possible. It’s a really easy language and you shouldn’t need “helpers”, but each to their own!
I have not tried to learn these, and don’t feel inclined to as my own simple process to produce my website suits me. What I do find annoying is the reaction of many web developers to those who hold such “old-fashioned” attitudes; the comments to any articles that express doubt about using preprocessors and the like are often quite hostile – essentially, “You don’t like change, you’re bad!”. (Not surprisingly, many of the angry commenters are young.) To me, it seems more generally that these tools essentially provide shiny new objects to play with. As a society we are addicted to the new and are always on the search for the next novelty; a trait that has become an unhealthy obsession.
The beauty of simple HTML and CSS is that anyone can create webpages with only a miminum of knowledge; they are democratic languages that are easy to learn. Adding all these other tools takes that amateur-friendly aspect away from web development.
The extract below echoes how I regard my own website – the creating process is in some regards more fulfilling than the completion:
I’ve also been made aware of static site generators that can create website pages from templates after you do some coding to set them up. I don’t know if I’ll ever switch to a static site generator for a couple of reasons, though. The first is that several of them seem to require knowledge of programming languages that I don’t know. I don’t have any computer science or coding background aside from HTML and CSS. I also don’t have a particular interest in learning new languages (including JavaScript??) But more importantly: I don’t think the website itself is my goal. I think making the website by hand, page by page, is my goal. That’s why I have been so uninspired by my Wordpress sites for years and why I became so excited when I realized that I could just make my own: I’m a hobbyist website builder. I always have been. It’s just that I forgot for 20 years that this is something I enjoy doing.
CMS or static?
I maintain my site manually – that is, it is comprised of static hand-coded html files, not a dynamic database. This can get a bit tedious (and possibly rather insanity-inducing!) as the site continues to grow over the years, and I have considered using a content management system (CMS) such as Wordpress or similar at times, but there are pros and cons to both approaches. Note that my views below shouldn’t be regarded as canonical advice; my process works for me as I have the time to put into my site, but someone such as a professional web developer would likely find it inefficient.
- CMS – pros:
- They are dynamic and do a lot of coding and “work” behind the scenes so I can focus more on producing content.
- They have features such as subject tags and categories, and search and can automatically list all pages under a particular tag – something I have to do myself for static pages.
- CMS – cons:
- I am dependent upon the people who code them to maintain and update the programs.
- They require a server to function.
- Programs tend to need a lot of plug-ins just for various functions (e.g. Dokuwiki needs a plugin just to enable definition lists – a basic HTML tag). These plugins are usually written externally by others and may or may not work with updated editions of a program, and may be discontinued.
- Some require a particular markup language to enter data; wikis, for example, all have their own variations of wiki markup, which is compiled by the CMS to HTML code. I would have to convert all my pages (numbering in the hundreds by now) to a particular markup language just so the program could render them back into html-coded pages!
- They are more easily hacked for nefarious purposes than static pages.
- As noted earlier, static site generator programs have become fashionable recently, but these also require a lot of work and various programs and plugins to get pages from text to final content (rendered webpages). Too much work for me to be bothered with!
- My Journal would be an obvious candidate for a CMS/blogging platform, but with hundreds of entries from 2003, converting it all would likely take months, and is just too daunting to contemplate now. As it is, it is not too difficult to maintain as I can do a text search in my HTML editor for any topic I might want to refer back to.
- Static pages – pros:
- I am familiar with HTML and CSS, and so the coding produced is entirely mine.
- I can produce a page in any web or text editor; I am not dependent upon any one program.
- HTML is a reasonably future-proof and backwards-compatible formatting language, it is open-source and I know it well – I have been writing web pages for years.
- Markup langugage is standardized, in comparison to a language such as Markdown, which has splintered into various formats.
- A website of static pages is usually much smaller than a CMS equivalent.
- Regarding offline viewing, I can simply open up the site in whatever browser I use. A CMS needs a web server installed to operate; for me it is too cumbersome and tedious to launch every time I want to view or edit my site. I also want a static site for personal archival purposes, so the simpler it is to use, the better.
- Static pages – cons:
- Producing a site is a lot more work up-front. I have to manually create all pages and related files such as style sheets, and likewise link pages, images, etc., so mistakes and missed links can creep in. A CMS would take care of all this automatically.
- My site is static HTML with CSS and nothing else, so it is fairly basic – this keeps things simple, but does mean interactivity is limited.
Links
These are on the topic of web design, and many espouse the spirit of the “Old Web” – the hand-coded, uncensored, personal World Wide Web of the late 1990s and 2000s before the toxic walled gardens of social media, government censorship attempts, commercialization and intrusive advertising took over.
- Ada Edwards: The Web is not Fashionable
- Adam Hyde: What’s Wrong with Markdown
- Alex White: The state of the internet, 14/6/2023. “The internet has gotten complicated. Websites take gigabytes of data, complicated pipelines, frameworks and teams of engineers. […] But it wasn’t always this way, and I’m not convinced it’s better this way.”
- Amber Weinberg: Why I’m (Still) Against SASS & LESS, Just Plain Ol’ Code. Arguments against the overcomplication of website development.
- Andreas Zwinkau: The Spartan Web
- Bill Dietrich: Your Personal Web Site
- Barry Hess: HTML Only; Why I Went HTML Only
- Cheapskate’s Guide: The Joys and Sorrows of Maintaining a Personal Website; Introducing the Concept of Radical User Friendliness in Web Design, 18/4. Many more similar articles there worth reading – his favorites are listed under Cheapskate’s Favorite Articles.
- Chris Wayan: Are there lessons here about building my own site? The author of the extensive World Dream Bank site on his procedure for producing and managing his site – it (and its design) would be met with derision from arrogant professional web developers, but it is a simple process which suits him and will likely be reasonably future-proof. “Techies will notice that my Luddite approach is parallel with RISC (Reduced Instruction Set Computing). Simple code runs way faster; simple HTML pages, with everything spelled out and nothing for a poor old overworked timesharing server to hunt for or assemble or fill in, load like lightning. If things go wrong, they’re easy to fix – an amateur can read the code. The roots of my sitebuilding style weren’t RISC, but something older: Volkswagens. I grew up driving a hippie bus. It got 28 mpg and ran forever. You could fix it with pipe cleaners and duct tape. This site is a hippie bus – antique, underpowered, but simple, cheap and functional.”
- Derek Sivers: Write plain text files: “Reliable, flexible, portable, independent, and long-lasting. Plain text files will be readable by future generations, hundreds of years from now.”
- Ethan Marcotte: Let a website be a worry stone.
- Felix at Home: Plain old webpages still matter; Just another website
- Florens Verschelde: Static site generators. “Static site generators are tools made by developers for themselves and their peers.” They are not easy for casual users, requiring much technical knowledge.
- Guidelines for Brutalist Web Design
- Hacker News: A Love Letter to Personal Websites
- IndieWeb: “The IndieWeb is a people-focused alternative to the ‘corporate web.’”
- John Ankarstrohm: Writing HTML in HTML; Static versus dynamic web sites
- Jonas Downey: It’s OK not to use tools – “Today, a basic HTML/CSS site seems almost passé. But why? Is it because our new tools are so significantly better, or because we’ve gone overboard complicating simple things?”
- Jukka Korpela: The pragmatic guide to HTML
- Kiriska: Your Website is Useless. Arguing against the trend for artists to make their main web presence on social media rather than a proper website.
- Kole McRae: I’ve given up on using a CMS for my personal website.
- Koshka: My Personal Principles on Web Design
- Louie Mantia: Make a Damn Website; How to Make a Damn Website
- Mark L. Irons: Minimal HTML
- Matthew Graybosch: Personal Websites as Self-Portraiture; This Is An Actual Website
- Parimal Satyal: Rediscovering the Small Web and Against an Increasingly User-Hostile Web
- Prof. Dr. Style
- Roger Johansson: Why I don’t use CSS preprocessors – this apparently heretical viewpoint predictably got scornful reactions from where it was linked at Reddit. (A similar view by Jens Oliver Meiert.)
- Seirdy’s Home: An opinionated list of best practices for textual websites
- Making your own static web site isn’t nostalgia. It’s the future of the web, Neocities blog, 27/2/2015. An assertion that I agree with! Basic HTML “is durable, dependable, and lasts forever.” I have a lot of my personal files written in HTML; a bonus is that I can link between files.
- Stop pushing the web forward, Quirksmode. A controversial protest against the endless barrage of new browser and coding features making it hard for developers to keep up, or to decide what to use.
- Unixsheikh.com: Come full circle – back to HTML; So-called modern web developers are the culprits
- Wired.com: “HTML Is Actually a Programming Language. Fight Me,” Tim Carmody, 6/1/2025. “HTML is the most significant computing language, programming or otherwise, ever developed. Every other programming language has to grapple with how HTML has redefined computing over the past 30-plus years.”
- Words
- Yesterweb
HTML5 dissidents:
- Jason M. Knight: So what’s wrong with HTML 5? Vehement opinion on the semantic mess HTML 5 has turned out to be. “[…] style the tags as much as you can BEFORE diving for wrapping elements like DIV, don’t waste time with the allegedly semantic pointless idiotic redundant HTML 5 crap like SECTION, ARTICLE, NAV, HEADER and FOOTER instead allowing H1 … H6 and HR to do their jobs.” Also: “Minimalist Semantic Markup, Where it's at ….”
- Steven Pemberton: HTML5 is the New Flash; The One Hundred Year Web. He is critical of how many elements of HTML5 have been implemented. “HTML5 has taken a completely different path. Driven entirely by implementers, with little reference to users, predicated on procedural methods, disregarding the fundamental design principles of the web, and eschewing modularity. Essentially HTML has become a monolithic programming environment. […] The web started off as a simple, easy-to-use, easy-to-write-for infrastructure. Programmers have remodelled HTML in their own image, and made it complicated, hard to implement, and hard to write for, excluding many potential creators. Hopefully, in the not-too-distant future, the web community can come together again to try and undo the damage being inflicted on the web by the implementers, and bring it back to its declarative roots.”
- The harsh truth about HTML5’s structural semantics, Part 1, Part 2, Part 3. Luke Stevens explains the convoluted evolution and counter-intuitive use of the new tags introduced into the HTML5 spec, and why they should not be used. (He also has a book on the topic.)
Arguments against the enforcement of HTTPS encryption by browser vendors, which renders older HTTP-only sites inaccessible and is not necessary for personal, non-commercial sites that don’t collect data:
- Dave Winer: Google and HTTP. “I’ve been writing about Google’s efforts to deprecate HTTP, the protocol of the web. This is a summary of why I am opposed to it.” Also, 26/1/2026: “Zeldman found the Google and HTTP post I wrote many years ago.” (Jeffrey Zeldman: “Somehow I missed this when @scripting.com first posted it in 2020. A principled stand against Google’s efforts to deprecate HTTP, the protocol of the web.”)
- Joshua Stein: Plaintext HTTP in a Modern World
- N-gate.com: Discourse on HTTPS
- Tim Seifert: HTTP or HTTPS
Friday, 30 January 2026 at 1:52:37 pm