Make a website that doesn’t suck
I’ve complained before about overly-complicated websites and programs. To paraphrase Jurassic Park, “web developers were so preoccupied with whether or not they could, they didn’t stop to think if they should.” I’m trying more and more to think about whether or not I should; here are some rules I’ve come up with for myself to try and keep things sane:
- Format content semantically; most things fit pretty well into the title-heading-paragraph paradigm and it allows for automated processing of the page.
- Manage presentation solely through CSS; do not depend on HTML formatting directives. Make a nice-looking, readable CSS style but understand that users may apply their own stylesheet instead (see this article).
- Test the site on a slow connection. Chrome’s developer tools now allow you to throttle speeds (Hit F12, then go to the Network tab), try it on GPRS speed to see how a sizeable chunk of the world receives your site. When I tried this on my front page, I realized I had a 75K 128x128 JPG up there… a quick call to Imagemagick had that down to 4K with no obvious loss of quality.
- Check out the site using a text-only browser like Lynx, or find an old/cheap cellphone with a limited browser. Is it readable? Look at Reddit in Lynx sometime, it’s awful. This doubles as a rough impression of how well your site will work for vision-impaired people using screenreaders.
- Keep it readable. Text that stretches all the way across a fullscreen browser on a 4K monitor is pretty hard to read, so set a maximum width for your text. On the other hand, sometimes people are browsing on a really small screen, so make sure your text will re-align to display properly on a narrow window too. I’m pretty happy with how the CSS on my page handles this.
These rules are why there’s no Google Analytics on the site any more. There’s no Disqus commenting now, because it took many seconds even on a fast connection to load the stupid commenting system. I even got rid of the .ttf file I was using for the title/header font, because I realized standard system fonts do a fine job of legibly transmitting information. I’ve gone through and made my site conform to the dictates I laid out above, and guess what? It looks pretty good in every browser I’ve tried.
Any additional suggestions for how to make a sane and usable website are welcome via email to ‘john’ at this domain (jfloren.net).