5 - 7 minute read

What do having too much luggage and slow websites have in common?

luggage-versus-slow-websites

My experiences with an overweight caravan and how performance optimization best practices helped me fix my upcoming holidays

At the end of our holiday this year, we weighed the caravan and the car together and realized that we had way more weight than allowed. More than double the legal limit! How did we get here? Well, the same way you end up with web app pages that are way too heavy: after every holiday (or release), we just added a few more new things without considering what was already there and whether it was needed.

How we got into this

We realized that we have been adding all kinds of handy camping gear and new features to our caravan for the last four years. We already knew that we probably didn’t need everything we took with us, but we didn’t realize how much this would slow us down. This mindset could have cost us a fine (or worse!), so we made some drastic changes.

When camping we prefer a little bit of luxury, which is probably one of the main reasons we chose a caravan. In addition, it is supposed to always be ready to hit the road. We compared a lot of different caravans and chose the one which would allow us to carry enough luggage. However, the advertised weights exclude all standard options like a fridge, a heater, a spare tire, et cetera. While we thought we could add plenty, the reality is ‘slightly’ different. To comply with all safety regulations, we can only bring 220Kg in the caravan instead of the advertised 310Kg. This number seems like you can bring about anything, so we never weighed the caravan.


With two adults and three little kids, we ‘need’ a variety of things and have collected enough nice-to-haves the past few years. We don’t really need the dining area in the caravan, so we transformed it into a permanent bed and did the same thing with the shared bed for the children. With the unpredictable weather, we wanted to have enough dry outdoor space whenever we decided to go out for more than a couple of days. For this purpose, there is a big awning with an annex, a sunroof and another sunroof to keep the bikes dry. Did I say bikes? Yes, we also bring the bikes. Five in total: two heavy electric bikes and three kid’s bikes. Of course, we also bring the child seats for all three. To take the bikes with us, we have a bike carrier on the front and back of the caravan.

So we needed to lose some weight, which got me thinking:
1. What is causing all that weight?
2. Which are the top 3 items that can make the difference?

Then we realized this isn’t something that can be reduced to three things. Instead, we decided we needed to have less of everything, leaving stuff home and replacing some items with lighter variants. This became quite a challenge! And we knew there would be some disagreements on whether something was important or not.

Performance /weight optimizations

The best way to solve issues like this is by identifying all related components and measuring their impact on the entire issue, trying to see some potential changes and starting the discussion around priorities. We applied the same approach since I’m familiar with this when fixing performance issues.

In 5 steps, we brought the weight back from 670Kg to 293Kg giving us a buffer for things we forgot or which we needed to replace when our compromise didn’t hold:

1. Measuring

The first thing is to measure all items and create various overviews in preparation for what-if scenarios. We placed everything on the scale and took notes to determine that the caravan’s advertised weight was incorrect.

This feels like choosing a front-end framework based on the total size and then realizing that there are some modules that no standard application can work without.

2. Grooming

The sheet with all the weights and legal rules becomes our backlog for the days after. It consists of 88 items/categories. With some clever columns supporting what-if scenarios. Like, what if we replace the bikes with lighter ones?

3. Negotiating

After all the insights and possible reductions, the difficult part started. Making the choices about what to keep, replace, or sell. We agreed to disagree on some things, but in the end, we made a compromise together in the end.

4. Validating

When doing exercises like this, it is prudent to keep measuring and be sure about the measuring equipment. The goal was weight reduction and to stay within the legal budget, so we wanted to be sure that we reduced enough weight. We started with a normal scale and made some educated guesses about lighter items but soon realized that we needed the kitchen scale as well, since humans are not good at measuring slight differences. For example, did you know that a cheap leather football weighs 750 grams?

5.  Setting budgets

One thing is certain; we never want to get in the same situation again since it feels like a waste of time, is unsafe and costs a lot of money. Which means that we need to periodically track and update our weight budget. One thing is for sure with growing children; the needs will change from year to year. Which again is the same with websites. Most sites/applications have ever-changing needs! So, by now we know that we can take a maximum of 30kg of clothes and need to buy the groceries at the campsite.

Performance budgets can be applied to anything!
The best performance budgets are tight budgets. Whenever you are over the threshold, it requires a conversation about priorities. Perhaps you can bring some more clothing if you take fewer groceries from home. Or have some heavier images when there is some JavaScript removed. If something like that happens, budgets should be reviewed and updated. For a caravan, this is easy since there is only one maximum load, but for websites, this is way more complex with technical and perceived performance!

Do you have the feeling that your web application is struggling with the same type of issues, and do you want to get and stand fast again? Get in touch!

Facebook
LinkedIn
Twitter

Place a suiting CTA right here

Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, link within text 

  • This field is for validation purposes and should be left unchanged.

Subscribe to our newsletter!

  • This field is for validation purposes and should be left unchanged.

Subscribe to our newsletter!

  • This field is for validation purposes and should be left unchanged.