Users come to the website with a goal. Your website must answer that goal. Users
don't like to be annoyed, their time wasted, tracked, spied, slowed down,
infected, used. You don't like to be used like that also, right?
Use as little resources as possible
A well thought out, user centric website simply does not need a bunch of
frameworks and bootstraps to serve its purpose. It does not need to use a big
chunk of the CPU during idle or otherwise non-interaction from the user. Always
look for the plain, minimalistic ways of doing things, particularly when it
comes to JavaScript, do you even need that particular JavaScript function? There
are people loading various frameworks to do very basic things which can be
achieved far more effectively otherwise.
Design for slow devices with slow internet
Design as if the user has a slow device with slow internet. That way, while you
ensure a good experience for your user with slow device and internet, you have
automatically created a lightning speed website for the ones with fast computers
and internet. What's not to love?
Jumping content
Avoid designing your website in such ways that content jumps around many times
until the page finishes loading various assets. This typically goes hand in hand
with the bloat, some of the culprits being improper use of external fonts, no
arbitrary size set to various elements such as the img tag and so on, follow #6
and you should notice any issues.
Less is more, keep it simple
Think more along the lines of "what can I remove or consolidate so the user can
achieve their purpose more effectively" rather than "what features will I add up
today to look like we are improving and get in the way of the user". Design is a
language and on your website, the user should be able to quickly create a basic
mental map of your website's structure and where a certain option might be
found.
Use the product everyday as a regular user
Usually people only take action when a problem becomes their problem. Case in
point, use your website daily and see what annoys you and fix that. Use it on a
slow device with slow internet. If you don't have such conditions, Chrome
browser can simulate slow connection and CPU, you can also simulate by
throttling the actual CPU and internet connection.
Get as stateless as possible
This one is ahead of times since the attention economy is in full swing. Design
your website to be as stateless as possible, that is, to serve the user's
purpose as fast and effectively as possible. If it's to inform then present the
information clearly, visibly, unobstructed, fast and without distractions. Only
the user should decide if to explore further. If it's to take some input and
provide an output, then do it as effectively and straightforward as possible
without unnecessary signups and other friction designed to collect data and
annoy the user. The list can go on, you get the idea.
Ads can be good
If you are in a line of business where ads are part of it such as news
publishing for instance, do it in a non intrusive way and avoid distracting ads,
avoid ads that cover the content for which the user came to your website, avoid
making the user doing extra unnecessary clicks to hide the said ad in order to
access the content, avoid ads that track and consume resources with a heavy
payload slowing down the user's computer. Think of newspapers ads, they are
typically well designed and they don't interfere with the reader's activity.
Adblockers did not raise because of ads, but because of intrusive ads, there is
a difference, find that balance and ads can put to good use.
The internet is fast, we've come a long way since the days of dial-up, where one
would have to wait several minutes for a page to load, guess what, in some cases
we still do to this day. The problem is that today's websites have grown
unreasonably large, bloated, even for displaying a few paragraphs of text,
making the internet feel much slower than it really is, wasting time and data
while putting the users privacy at risk. We have very useful technologies, both
server side and client side yet in many cases they are used in a wasteful and
unproductive way.
That's where leanternet comes in. leanternet (portmanteau of Lean + Internet)
is a set of principles for user centric, fast and lean internet.
Bloated websites are those that collectively download several MB of
frameworks and ads only to display a few paragraphs of text while using an
enormous amount of CPU during use (just one example out of many: studyfinds.org,
open the site with JavaScript enabled, load an article page on the website, open
the console then check Network, just watch and count what happens while you are
not even interacting with the site).
These kind of websites:
Cause considerable consumption of electricity both at the end user side
through higher CPU usage and bandwidth and at ISP side, increasing the
electricity consumption overall particularly at Cell Towers on mobile data
connections. At macro scale this adds up massively
The bloat causes reduced performance and a bad user experience
Consumes data at much faster rate in relation to the actual user readable
content, a big issue on limited data plans which are a part of most of the world
Time waste
Foster development metrics that are not efficiency and user oriented
Increased risk of malicious code injection
Loss of reputation and goodwill
Loss of sense of community
Increased server and server related costs (bandwidth, power etc) making this
not just a user problem, which further exacerbates the bloat (more ads to pay
for the costs, more ad blocking, more ads, a vicious cycle)
Helps Google's grip on the internet through Google AMP
All these are happening without adding value commensurate with the extra
resources consumed.
I don't ever remember being bothered by newspaper or magazine ads, they were
generally well designed, they would not track, they would not send or sell data,
they would not hog system resources and they would not cover the article
content. Autoplay would be out of question. Yet they brought great revenue for
the publications! There is a way to balance this out on the internet. Let's make
the internet user centric, the way it should be.
A website following the leanternet philosophy should function fine with
JavaScript disabled. Dynamic content can very well be addressed through server
side scripting of choice such as PHP, among others. We recommend a minimal
JavaScript and CSS mindset.
Something has gone terribly wrong if so many websites that are not web apps,
present the user with a blank page or a spinner if the JavaScript is disabled.
These are websites that would normally display a few paragraphs and some
pictures, things that clearly do not require forcing the user to enable
JavaScript.
It's time to focus on a user friendly approach in designing websites,
web apps and apps in order to fully realize the internet's potential.
Here are a couple of websites that follow the leanternet principles: