now | blog | wiki | recipes | bookmarks | contact | about | donate
* * * back home * * *
create simple interfaces that run anywhere
~ "An idiot admires complexity, a genius admires simplicity, a physicist tries to make it simple. For an idiot, anything, the more complicated it is, the more he will admire it. If you make something so clusterfucked he can't understand it, he's gonna think you're a god 'cause you made it so complicated nobody can understand it. That's how they write journals in academics, they try to make it so complicated, people think you're a genius." - Terry A. Davis
If you take a look around this website and any other website that I maintain, you'll notice one thing - everything is written in simple, vanilla html/css/js and follows its own theme.
I have always tried to build with minimalism and simplicity in mind. Websites that are designed with this idea in mind load quickly and are easy to read and navigate. There are no crazy animations going on, no pop-up modals taking your attention away from the content, and your browser isn't requesting hundreds of megabytes of data from some CDN to serve your browser libraries for the latest javascript framework fad.
It's just you and the content - the way the internet should be!
A lot of software and web devs seem to think that the more complex and crazy that they can make something, the better it is. I disagree with this sentiment. Let's take websites, as an example. Most people interact with several websites on a daily basis, so it is a thing that almost anyone can relate to.
Even in our current time, the majority of the people in the world don't have access to super-fast internet. The United States lead the way with 47 percent of households having access to gigabit speeds, but those kinds of speeds are only available to a tiny 5 percent of the global population. There is great value in designing your websites so that they load quickly, and aren't video/image/animation-heavy in order to serve the content you're trying to serve.
Accessibility for everyone is important! Remember that not everyone who is going to be viewing your website is going to be doing so using the fastest internet on the latest devices. Heavy websites and software have another cost, as well - users on older devices might not be able to view it, as some of these heavy websites cause spikes in memory usage on the device, which can crash the browser or freeze the loading of the page.
I can provide anecdotal evidence of my own for these ideas, as well. I live way out in the sticks in the mountains of western Arkansas, and out here, we have one option: satellite. I've used satellite-only internet for the last decade since I've been back in Arkansas, having had access to gigabit when I lived in the city in Oklahoma. I notice huge differences when loading websites such as this one, or those much heavier, bloated websites I was talking about a few minutes ago. Also, my travel laptop is my old thinkpad x200, and when loading those heavy websites, I can notice a huge spike in memory usage, and the tab often freezes.
Remember - design with your users in mind! Not only do minimal styles work for nice-looking, easily-readable websites, but they're also great for users who don't have access to the fastest internet or the newest devices with better amounts of memory! Consider some of these things before you load up your sites with animations, videos, heavy javascript frameworks, advertisements and tracking programs, and all that kind of junk. Vanilla html/css/js is a great way to go - and you can even use static site generators if you wish, to do a lot of the heavy lifting for you, if you choose.
Let's use a little one-liner to test some website connection speeds with curl
. We're going to print the time it takes to complete the request (in seconds), and the total size of the download (in bytes). This is a simple test using only a cli tool - we can do more complex testing in the browser itself - but that's beyond the scope of this little experiment.
Here's our one-liner so you can test it against other websites. We will run it against a few sites next:
curl -s -w '%{time_total} seconds\n%{size_download} bytes: total download size\n' -o /dev/null $URL
Let's test it now, where $URL
is the site we're testing.
First, we'll test against this site itself:
rav3ndust@core:~$ curl -s -w '%{time_total} seconds\n%{size_download} bytes: total download size\n' -o /dev/null https://rav3ndust.xyz
1.422790 seconds
3019 bytes: total download size
Not too shabby. Let's try now, with a news website. Modern mainstream news websites are normally quite heavy, so they're a good example:
rav3ndust@core:~S curl -s -w '%{time_total} seconds\n%{size_download} bytes: total download size\n' -o /dev/null https://www.nytimes.com
15.807601 seconds
808765 bytes: total download size
What a difference! As you can see, our request to this site (rav3ndust.xyz
) took only a second and a half with a download size of 3,019 bytes. The request to the news site (www.nytimes.com
) took almost 16 seconds, with a much bigger download size of 808,765 bytes.
Ideally, you want as many people as possible to be able to reach your webpage. You want it to be visible for people that live next door to you, and people that live on the other side of the world from you. Information wants to be available to everyone, so why make it harder for people to get the information by loading up your site full of things that are going to slow it down? You can see this point illustrated in our simple little test above.
Simple sites, like this one, load faster and are much lighter on the resources of the devices loading them. Bloated, heavy sites can slow down browsers and even crash the tab. Design with accessibility in mind, and choose to make things a little more minimal, a little more streamlined, so that everyone can access it!
html is all you need to make a website