The Unreasonable Effectiveness of Simple Websites

Posted on Sun 11 February 2024 in general

Simple websites are better than beautiful ones.

I'll repeat that for the folks in the back.

Simple websites are better than beautiful ones.

Let me be clear what I mean by a simple website. I don't mean a Wordpress site with a minimalist theme. I also don't mean a Substack, a Medium, or a Blogger site (remember those?).

No, what I mean is an old-fashioned Web 1.0 website. For style examples, take Paul Graham's site, Hacker News, madhadron's blog, and this site. (To my lasting regret I have not achieved the spare minimalism of pg's blog.)

These sites have two things in common:

  • They look like they're from the 90s. They suck.
  • They're created by experienced developers.

Paul Graham, being one of the most successful investors in the Valley, easily has the resources to have a modern site with animations, beautiful photography, and fancy scrolling-in pieces of text.

So why doesn't he?

Modern frameworks like React make it very easy to create aesthetically pleasing websites. There are component libraries like Flowbite which let you add fancy widgets and doodads galore to your modern Next.js stack with 10,000 node_module dependencies.

As any experienced web developer will tell you, though, these create other problems:

  • To have a good user experience, you need to spend a lot of time working on your design.
  • You can't just write content: you need a CMS, which is a separate app.
  • If you make your site render client-side (the default with React) it will have no search engine presence.
  • You probably need to deploy one instance of your site for every region you want to serve. If you're going global, that means at least 7 servers. Otherwise you'll experience slow load times in many parts of the world.
  • Also, your framework inherently adds a lot of overhead to load time.

All of this costs time and money that could be spent creating content.

Of course, there is one advantage to your complex, modern site:

  • It looks nice.

Most sites that we interact with are either web apps, for which complex frameworks are often a good choice, or advertisements of some sort, for which aesthetics matter a lot more than functionality. Unfortunately, this gives most of us the impression that we should use heavyweight frameworks for all our projects.

I'm here to tell you that this is not the case. Here are some advantages of simple sites:

Simple sites give primacy to content and are easy for readers to navigate. PG's blog might look outdated but it's super easy to find what you want. With a simple design it's trivial to follow visual hierarchy principles.

They are simple to write and compose content for. By using a site builder such as Pelican, Hugo, or Jekyll, you can get content up in a fraction of the time it'd take to do it on a platform like Wordpress. This site is built on Pelican. If you want to get spicy, you can even use something like Astro which lets you integrate JSX components into your simple website.

They are more optimised for SEO than complex sites. Simple sites consisting mostly of text are very easy for search engines to understand, which translates into higher search rankings for your site. You can also get addons for most site generators which help optimise your site even further.

They load quickly. This also helps with your SEO. One way that search engines judge the quality of content is to look at the time to first response (when the server replies) and first contentful paint (when content actually appears). On simple websites these take a fraction of the time than with modern frameworks.

They're easy to maintain and deploy. Infrastructure providers like Vercel and Netlify make it easy to deploy a simple site in a matter of seconds. Even if you choose to deploy the site yourself, writing the CI/CD logic for a static site is pretty simple.

They can easily be distributed via CDN. This means that you can put your site on over 100 servers globally for less than the cost of a single React app.

Conclusion

What we often forget is that modern web frameworks aren't designed to be easy or optimal for solo developers or freelancers. They're designed to be scalable for large organisations. React originates from Facebook, Angular from Google. Tellingly, Vue.js, the simplest of the mainstream frameworks, was created by an individual, not a company.

Next time you're tempted to reach for a heavyweight framework, then, take pause. You might be missing an opportunity to make your life much simpler.

If you're interested in tutoring, click here.