Logo

Design

On this page I explain my design principles.

Go to:
Introduction Mobile-first Simplicity Lightweight Order Colors Languages

Introduction

Nowadays, to create a good website, you must have solid principles that must be respected: every single decision can impact positively or negatively the user experience. In this page I list the various fundamental elements to consider, so that you may stand out from the competition

Mobile-first

One of the main factors to consider is the compatibility with mobile devices (phones, tablets): nowadays most people browse the web with their phone, rather than using a computer. For this reason, it's fundamental to design a user interface that primarily targets devices with small screens, without obviously forgetting about computers. Often I see websites that, despite having a user interface made for mobile devices, have elements that 'overflow' from the screen dimentions, making horizontal scrolling necessary, or interactive elements (like some menus) that don't work, making me visit the website in 'desktop mode'. Together with this philosophy is Responsive Design, that is the automatic sizing of the elements, in order to obtain the best possible view for any size requested.

Simplicity

Another important factor to consider is the simplicity of navigating a website. If I open a website, I don't expect to find a labyrinth to get a simple resource: it must then be easy to get, in a fast way. Example: if I open Wikipedia, I can search directly what I need. Imagine having to skim through Wikipedia's whole catalog, before finding what you need? You must then design easy to navigate user interfaces, following familiar structures.

Lightweight

The resource lightweightness is another important factor. In 2024 we're used to ultra-fast fiber optic connections, capable of reaching >1Gbps. However, not many places have fast connections, especially in rural areas. Lowering the resource size is a benefit for everybody, both for who's 'serving' the resources, and for the end-user: we lower the load times, the bandwidth used, and the computational complexity, requiring fewer resources, increasing performance. Sadly, not everyone cares about how many resources are actually requested from a website, preferring the simplicity of programming, at the cost of the end-user experience. Also, implementing a CDN (Content Delivery Network) helps with lowering resource load times, especially if they're closer to the end-user.

Order

No less important are the order and the consistency of a website. Placing random elements definitely isn't a good strategy to obtain a good workflow, linking back to simplicity. Having a well-ordered website helps both the website designers, and the end-users, by being able to browse it without any major complication. Remember to also provide the users with an easy navigation: look at the top-right corner, you'll find a menu to navigate this website, without having to go back to the index. It's important to also think about how to structure the text: pay attention, the text you're reading right now is divided in different sections, with headings and paragraphs, to make it more legible; the keywords are bold. Also, the headings are links that can be shared, to find a piece of information more easily.

Colors

Choosing colors with a good contrast helps a lot to increase legibility and the recognition of a website. For example, I chose blue as a primary color, and white as a secondary color. Often, there are websites that implement a third color, depending on designer needs and/or preferences.

Languages

Last but not least, supporting multple languages helps your website to be understood by many more visitors, without them having to use a translator. Obviously, this depends on your desired targets: a website that promotes a big business will have much more interest to translate its contents, compared to a business that operates in a small territory and/or a niche sector. It's important to also implement a language selector, to make sure your translations effectively reach the end-user: on my website, the language is chosen automatically (between italian and english, which is the default language), based on the user's browser. In any case, the user can always manually choose the language, keeping the preference in every website page.