Blog

Building a website is like building a house

Technology

12 min read


Posted by Matteo Granara on June 22, 2021

Building a website is like building a house

I recently bought an apartment and, once I walked in as the owner for the first time, I realised how much I had to do. I am a first-time buyer with no previous experience on the matter. This thought alone can be somewhat daunting or overwhelming and, since it is supposed to be my home for quite a while, I want it done right. But where to begin? Luckily enough, the mindset and processes I use daily at work came to the rescue.

From the very beginning, as things were gaining momentum, I noticed how there’s very little difference between a house/apartment renovation project and building a website. This made me realise that the very same thought can be reversed: most of our clients have only to deal with a website renovation occasionally, sometimes for the first time. On the other hand, they may own a house already, and they are probably familiar with what buying and renovating a property entail.

The purpose of this post is to provide a different point of view on what choices, constraints and compromises you are likely to go through when renovating or building a new website in a way that may be more familiar to you.

First, let's take a step back - locations

The very first similarity I can think of is with “hosting” (yes, this is professional bias on my part). Although a website’s hosting can, most of the time, be changed at a later date, it does not mean that the choice of a hosting environment can be ignored. Whether you want it or not, when you buy a property you usually ask yourself questions such as: is the neighbourhood safe? Are there enough services nearby for my current and future needs? Is this a house or an apartment in a block? Is the condo well managed? Will the management costs increase or decrease over time?

Hosting usually comes up last in the conversations about websites re/development, but some decisions on the matter have long term effects on what can or cannot be done with the website: does the hosting provider offer enough services if we need to expand or scale at some stage? What security standards are in place? Are there any specific architectural requirements? What warranties do I get with this hosting company? What is my initial Capital Expenditure (capex)? And in five years’ time?

Once you have bought the property it is impossible to change the location unless you sell and buy somewhere else, and that requires significant investments in both time and money. Thankfully, changing hosting for a website it’s not as drastic, but sometimes legal contracts, or technical requirements and constraints may complicate things, not to mention the time and money required for such a task. The recommendation here is to consider these factors from the very beginning.

Choosing the right collaborators

For a construction project, you need a pool of people that deal with different tasks from day one: architect, project manager, electrician, plumber, interior designer, you name it. Although it depends on the nature of the project, it’s unlikely that you will find a single person that has all the experience required to do everything well on their own. So, typically, you would refer to a construction company or agency that provides the team that best matches your requirements. In a similar fashion, agencies like Arekibo offer you the team of experts that take care of these things. Wider teams, such as ours, offer more assurances in terms of competencies and delivery capabilities, so you know that you will get what you expect.

Let’s not forget, you also face choices based on your requirements and taste, such as floors, tiles, furniture, colours. That’s where the synergy with the partner of choice becomes fundamental. The same goes for your website: you need to be able to talk about your ideas and your requirements to find the solutions that best match your expectations.

Communication is always the key, and it works both ways: it’s important to clarify what the requirements are so that the final result will live up to the expectations. For people that do not deal with this experience often it can be complicated to express their ideas or requirements, and that’s where the agency needs to ensure that the right questions are asked, the right suggestions are provided, and that the client’s expectations are very clear to the entire team. This requirement is not limited to the early phases of the project: communication is required until delivery, as targets can change during the project, be it for budget, time constraints or other reasons.

The agile approach

When I started this renovation project, I had a budget in mind: I had some savings and I budgeted for future ones over short time spans. This approach gave me the total figure that I could use to plan the works with the architect and the rest of the team. But as you know, life is what happens when you are busy making other plans, and sometimes you end up being affected by unforeseen circumstances.

That’s where the agile approach and the concept of cycles came to the rescue. The ballpark estimate for deadline for delivery is always the same, but the work cycles (in my case, based on budget available) help me to shuffle things around in the short term. Budgeting correctly (and regularly!) allowed me to reassign priorities as dictated by budget and requirements. With the help of the team, I was able to buy the required components at the right time without spending money on tasks that can be postponed. Assigning budget at the wrong time would mean stopping the project and, essentially, wasting time.

For example, my budget did not allow me to immediately buy radiators. Or better, it did, but they would be sitting there unused for months while other tasks need to be performed first (e.g. wooden floors need to go in), and these other tasks, in turn, would be delayed by the budget running low. So I chose the radiator types in order to allow the plumber to work with the technical specifications in mind, but I won’t purchase nor install them until next summer when budget and the building’s management will allow me to (for clarification, the radiators are water powered and centrally managed in my building). Since I will not move in until spring next year, it makes no sense to concentrate the efforts on this task at this time, as radiators will not be required until the end of next summer. The same concept can be applied to a feature of the website, such as a members’ area, a blog, or an online shop: unless you have a real need for such feature immediately, you’re better off redirecting your budget to things that have higher priority in the short term.

Natural evolution

Projects tend to change and adjust over time, and not necessarily just due to budgeting. When I started this journey, I had an idea in my head (and in the form of a 3D model proudly designed by yours truly), but as things progressed and the more I interacted with the team of experts, tweaks were applied here and there. Some were due to constraints that I was unaware of, some were due to best practices, some due to compliance requirements, and some naturally evolved as I was getting a clearer and clearer vision of the end result. However, the target of the project did not change by much, we simply adjusted a few things and worked around others.

While the builders were knocking down walls to resize the rooms, we discovered a couple of load-bearing beams that were originally contained within, and therefore invisible. In a couple of occasions that meant that the shape of the room would have become different from the original redesign plan. I cannot deny being concerned during the discovery phase, but eventually we found clever solutions to circumvent these issues. In the web development world, this would be the same as finding out that a legacy piece of functionality that you need to preserve, for example a bespoke authentication system, cannot be changed nor rebuilt for technical reasons, and the only option is to find a way around the problem with some clever solution. Believe me, this happens more often than not. So, the overall plan is still the same, just sometimes I had to make few changes or compromise a little, but because it’s quite a common occurrence in my line of business, I did not get discouraged and neither should you.

Behind the scenes

Every modern functional environment has some basic features that you expect such as, for example, plumbing and electricity. You probably see just what in IT are called “endpoints”, such as taps and plugs or switches, yet the pipes or wires they depend on are all around you and very much required.

A website has a lot of “wiring” and “plumbing” working in the background to make it functional. Like in the case of a light switch, what looks like a simple button on a page can do a lot of damage if not wired properly. A properly designed system, with its various failsafe systems, is fundamental to ensure that everything works optimally at all times.

Compliance is becoming stricter and stricter over time, and the same is true for both web development and houses. For instance, today houses are measured for energy standards, and the electrics are certified for safety. The same concept can be applied to coding practices and frameworks, that are typically compliant with various standards.

One more similarity on the subject, relates to ease of maintenance. My apartment has a good few plumbing junctions and electrical joints that might require maintenance over time. So as part of the design, I made sure that these are easily accessible without being noticeable. This concept can apply to website functionality too: eventually someone will have to carry out updates, upgrades, or even just generic maintenance. If everything is monolithic, the process is going to be a painful experience. If, on the other hand, the architecture is more decoupled and service oriented, it will be much easier to isolate a problem or to perform maintenance without having to redevelop entire parts.

The importance of the design and usability

Designing an apartment or a house is not that far, as a concept, from designing a website. Each element must be in the right place, otherwise it just will not function properly, or it will simply look bad.

Now picture a wardrobe in the kitchen, or a tap with no sink, or toilet in the sitting room, or even just a very cluttered entrance hall. See where I am going with this? The same concept applies to websites and web design: each element needs to be where it is a natural fit and, sometimes, even negative space is better left alone rather than filled for sake of filling up space.

As a house needs to be visually pleasant and usable to be at its best, so does a website. It is also important to note that graceful designs improve the overall experience of things. If you like the space, it is likely that you will enjoy more your experience and you will spend more time using it.

The content strategy

The comparison with content strategy between property and website has been suggested to me by a colleague (thanks Gerard), and it is a good fit for the topic at hand. When designing a room, you need to have in mind what purpose that room will serve, and the same is true for the sections of a website. On a bigger scale, you need to have a clear idea of what kind of furniture you want, where and when it’s too much or too little (did you notice how the content strategy goes hand in hand with design?).

Sometimes the budget might not be enough to furnish the second bedroom, so you may want to leave that until later. The room can be prepared over time and eventually become what it is meant to be. Similarly, if a section does not have enough content, it could be worth postponing the effort until a later stage. The most important thing is that you have a clear idea of the scope of each room and that, basically, you have a clear content strategy from the beginning.

How much would you invest on peace of mind?

My apartment is at ground floor level, and I want to make it as secure as possible from potential break-ins. So naturally the first thing I’ve looked at are the potential entry points: windows and main door. The windows are quite big (1 or 2 metres wide - depending on the room – and 3 metres tall), and that means a big surface area. If we consider that these surfaces will be entirely made of glass, they are quite easy to exploit. So I decided to go for reinforced glass. If it were a third floor or higher, I probably would not have to spend that money, but that’s not a risk I’m willing to take on a ground floor apartment. In any case, the main door has to be reinforced regardless of the floor, as it can be accessed by virtually anyone that has access to the building.

The “surface area”, or “attack surface”, is a concept that also applies to IT security in general, and the best practices involve minimising this area as much as possible while reinforcing the exposed parts with multiple security mechanisms or checks. In this context, you can think of the main door as a login form on your website, while the windows could be as simple as a contact form that saves information to a database or even a more complex system such as the full website itself.

While I was looking at the different models of reinforced doors, I read a rather simple but interesting take on the matter: how much [budget] is enough for a safe door? The answer was less obvious than I thought, to be honest: it depends on what are you protecting. The amount of budget that you want to spend depends mainly on two factors: how much security is required and what do you want to safeguard. In the case of my apartment, it’s all about my own safety and my family, perhaps some valuables, but overall, the peace of mind of feeling safe in my nest - even when I’m not around.

So how much security is too much on your website? Truth is, there is no definitive answer. My preference is to slightly overdo it rather than falling short. Again, considerations need to be made on a case-by-case basis depending on what you are protecting. In the case of a simple static HTML website (these are mostly a thing of the past) there is probably not much to worry about besides the security of the perimeter (i.e. hosting). But modern websites are more complex pieces of software whose attack surface varies depending on several factors. It is always important to assess all possible entry points and what you need to protect, be it accounts, content, or credit card details.

I could go on for hours talking about security, its extreme importance and making comparisons (e.g. security in a house where you have kids or flatmates), but I’ll spare you the suffering. I’ll leave you some food for thought, though: it’s very unlikely that you will give your house keys to someone else, so think about that when you are tempted to hand out your password or, in general, when you want to grant access to your website someone else.

Alarm

I originally intended to mention alarms as part of the security, but in reality this is a topic on its own. My apartment will be fitted with an intrusion detection system that acts both as a deterrent and an informative tool. Guess what? You can find a counterpart in the web world.

For example, all websites and services we mange are monitored for vitals and the staff are immediately alerted in case anything is wrong. Once again, the level of detail and control depends on the requirements of the individual projects: sometimes a simple smoke detector is enough, other times more complex intrusion detection systems are required.

Conclusion

As you can see, the similarities between a property renovation project and a website build are many, and the processes are very much compatible. I hope this comparison can help you to get an idea of what to expect, what to look for, and what questions to ask when you engage in a website build project. If you have any interest on the subject, please feel free to contact our team.

About the Author

Matteo Granara
Matteo Granara

Matteo is a certified Azure Cloud & SQL Server specialist. He has worked in Arekibo for over 10 years and is Head of Cloud Hosting Solutions at Arekibo.