Performance in web-apps: the basic
Why is it a good idea to think about performance when building web-apps? Read on and find out!
Hey all, let's talk about performance in webapps.
Why? Because I've recently run an analysis for the project I'm currently working on and I realized while preparing the findings that many pines were interested in the theory behind that, so I ended up preparing a 30' talk for the 10Pines-conf. Surprisingly for me, the room was crowded, so now I think that it is a good subject to write about.
In addition, I want to learn more about performance and writing is a good way to organize ideas and this might help someone else in the process.
"I feel the app quite slow, don't you?"
Our PO said that during a retro and all the team was surprised, or at least, I believe we were acting surprised. Why? Just because we work with the app everyday (all day) and you know that it takes seconds to load because you are constantly waiting for those annoying seconds.
If your app takes seconds to load in your local environment, at production, probably, that would only be worse.
Despite that, we finished with some awesome starting questions that we answered in the team:
- Why is performance important in OUR business?
- Which is our goal?
- What do we NEED to measure for real?
- Which are our app’s current pains?
- How can we automate the process?
- Is there something we can do?
Why does performance matter?
Performance is UX, because a slow app is a bad experience and if you provide a bad experience you are losing users. There is plenty of material to support that statement. I found this site particularly interesting, which provides a good number of cases of study about the impact in the business.
Also, more than 70% of the world wide internet traffic is from a mobile device, and the mobile networks are definitely not as reliable or even have half the speed you have at your home-connection.
When you are in mobile you are having the problems from "the past" and in the past we used to do a lot of tricks to avoid clients processing big amounts of data, something that usually modern frameworks don't do (by themselves) anymore.
In the case of our app, 90% of the traffic is from a mobile device! So, welcome the mobile first mantra.
We even know that after 3 seconds our probabilities of getting users bouncing are more than 30%, and if you are a massive solution you will want to increase the number of users in your site (not decrease it).
If you are interested in the whole picture, I recommend you this brief publication made by Google at 2017, where you can find interesting information like the one below.
Maybe by the time you read this you have already performed a speed test and found that you are very far away from that goal. Don't worry, this is only the post's introduction. You can start worrying about it once you've finished reading the whole saga.