Table of Contents

  1. Target a Lot of Devices
  2. Keep It Simple
  3. Think Safety
  4. Other Things
  5. Conclusion

I won't insult your intelligence by taking too much time here. Web design really should be simple: get your information across to as many people as possible. However, people sometimes lose track of this. The following are my bullet points for good web design.

Target a Lot of Devices

Your design should be viewable on any device.

A lot of people get bogged down here, using things like CSS media objects, and other HTML5/CSS3 magic to create a separate view for each device.

However, by making your template and style lightweight and flexible enough, this can be built into the design of your webiste from the beginning.

Start off like this:

Keep It Simple

A good framework to start with, and build upon:


These elements can obviously be styled however you want, but they should be laid out in a sane order in your HTML. Again, refer to the first header on this page.

This may seem crazy for the designers who insist on targeting the majority of users browsers. The problem is, these people ignore people who can't see. This is roughly how a screen reader will see your web site. It's also how your site will roughly be displayed (minus styling) without JavaScript (which you should never use for templating/style anyway).

Think Safety

Your website can be quite literally used as a tool for hacking if user content is allowed.

Use Content Security Policy headers for locking it down, and of course, sanitize information before displaying on your website.

The secure design of interactive websites is something much beyond the scope of this article. A good website to start at is Paragon Initiative. While they seem to target the new-age OO PHP/MySQL/MVC hoo-hah, their security advice is pretty much spot on.

The one step I will discuss here from the above site: use HTTPS everywhere.

With the existence of services like Let's Encrypt these days, there's no excuse, and you are preventing a lot of trivial attacks like packet sniffing out login information, and simple things like not having your website's display changed on public wifi without the user knowing.

Other Things

Consider what you actually need to accomplish with your website.

For instance: I don't really need feedback on most of these articles, as I've posted/shared the content in forums/etc. I certainly don't want to babysit a forum full of freeloaders, or other similar user-space hosted on my website either.

Therefore, this site serves static HTML.

Use the minimal framework possible for accomplishing what you need. Don't install a complete LAMP stack (indeed I would avoid Apache altogether) just to serve some HTML or provide something simple like a guestbook.

Of course, a lot of people don't have control over this using shared hosting.

The following can be enumerated on slightly more on my other page The Decline of Web 1.0, if you feel like reading a little more.


At the end of the day, make sure to do what track #8 on Straight Outta Compton says, without getting bogged down with implementing every flavor of the day.

Have a nice day.