All right.
Hey, everybody.
Welcome to the Web Performance Dev Room.
I facilitated this year with Missyla and Wickey Media.
We're going to go ahead and get straight into it.
And I'm going to introduce Baz Skroten.
And, yeah, I'll pass this over.
In Yemen, the cost of a gigabyte of data is approximately 6,000.
A gigabyte of data is approximately $16.
In Chad, the cost of a gigabyte of data is around $20.
In Yemen, the average income, or the median income, is about $250 a month.
In Chad, the median income is about $60 a month.
Hundreds of millions of people in the world live in areas
where they spend a significant portion of their income on their data bundles.
Often, lack stable charging facilities,
and they can only imagine what it would be like to have the kind of high end,
or even mid-end devices that people like you, I, or anyone else in this room have.
Often, when we think about performance, we're thinking of making our websites faster.
We're looking at making them faster and more fun to use
in order to improve our conversion rates to sell more products.
I'm Bas Faldan. I am a principal engineer at Mozilla,
and I am the tech lead for Firefox Performance,
and I'm going to talk about how performance is so much more than that.
I'm sure that most of you are familiar with countless statistics
about the limited means that the poorest half of the world's population live with.
There can be no doubt that those people deserve the same access to information
as you, I, or anyone in this room.
Understanding the importance of that information equity
means understanding the importance of web performance.
When we're talking about performance, we're usually talking about one of three things.
The primary thing, and the most obvious one, is speed.
Speed is about how fast and how smooth
the results of a user's interaction with your sites or services
actually renders on their device.
Another aspect of that that sort of directly leads into that is data usage.
Obviously, before you've actually sent the data to the device,
there is no way that they're actually going to be able to see what you're about to render.
But something that's a little bit less obvious is that power usage
is also an important aspect of performance.
Not only are you going to help the environment by using less power,
but you're going to extend the lifetime of people's devices,
making their batteries last longer, but also causing them to heat up less,
have less fan spin up, keeping the devices more comfortable to use,
and decreasing the wear and tear and increasing the longevity.
And finally, you're going to reduce the amount of heat, obviously.
In the time we have together, I want to talk about how people living with more limited means
are at a disadvantage for all three of these pillars of performance,
and specifically also web performance.
We'll go over what the global landscape looks like
and the situation, particularly in the global south,
that people are dealing with when we're thinking about some of these things.
I'm confident that you will be left more motivated
to improve your sites and services,
and as a result, you'll pay extra close attention to the speakers that are here the rest of this day.
For now, the first thing I want to talk about is raw speed.
When I talk about raw speed, what I mean is the performance of the CPU
of the device that we're talking about.
This is basically how quickly, once a device has all the instructions
that it needs to render something onto the screen, how quickly can it do that?
What does that look like?
Well, over here, I've compiled a list of the most common, most popular smartphones
for Africa versus Europe.
Now, getting good public data for Africa is actually kind of hard,
but that's not too important right now.
The most important thing is that this list for the phones in Africa
is probably a lot for you like it was for me.
This high sense, what now? I've never heard of these things, right?
And the important thing here is the trend.
Most of these devices on the list for Africa, or actually almost every single one of them,
is at least 2x to 3x slower than devices we see here.
And do not let their names fool you.
That Itel S23, that cute naming trick, that device is nothing like the same model from Samsung.
So what that means is that if my LCP takes 500 milliseconds of CPU time,
delivering that same LCP in another part of the world will take at least a second.
Now, we know that LCP impacts conversion rates quite significantly.
A one-second improvement to LCP means a 27% of improvement to conversion rates.
And that does not just mean, that is not just about how fast or how likely you are to sell your products.
It's also about how likely people are to access the information that you are looking to present to them.
And of course, this is not limited to the global south.
The performance improvement that that Samsung S23 offers over that Itel S23 comes at a hefty price tag.
With a Samsung S23 costing over 650 euros and an Itel S23 costing under 150.
It doesn't take a genius to know which class of society is more likely to own one device over the other.
But obviously, the raw performance of the devices is not the only thing that is different here,
where most of us live, and in the global south.
And there are other aspects of those differences that have a much more direct impact on people living with more limited means.
And the most important one there that I'm going to talk about is data usage.
Let's take a look at what the global landscape looks like when it comes to data usage.
I've pulled a list off Wikipedia here for the countries with the slowest mobile data connections.
One of the first things you'll notice here is that the mobile speed of none of these countries exceeds 20 megabits a second,
or about 2.4 megabytes, right?
And for some of these, the landlines don't even exceed 1 megabyte a second.
But an important thing to note here is that this list from Wikipedia is built based on results from speedtest.net.
Now, we can sort of assume that people aren't likely to run speedtest.net when they're not actually trying in a good connection situation.
And we can see that because even the slowest here, 3 megabits per second, that's almost a maximum speed of 3G.
3G has a maximum speed of about 500 kilobytes per second.
And let's look at that a little bit.
Displayed here is a 4G coverage map for one of the major carriers in Nigeria, the most populous country in Africa with a population of approximately 225 million.
What you can see here is that outside the major population centers, there's not much.
And a lot of that on the really less densely populated areas isn't even 2G.
So you can assume that a lot of these people, the fastest connections that they could possibly have access to are about 500 kilobytes a second.
Now, let's compare that to a 4G coverage map by the FCC of the United States of America.
Unless you're visiting a national park, you're probably going to have 4G.
And if not, you're still going to get 3G.
That's a very different situation.
But now, of course, the speed of mobile data transfer is not the only component here, which is different between here and western countries and the global south.
A more pronounced impact your users will experience through cost.
Visualized here is the cost per gigabyte of mobile data.
If we look at Chod, the cost of a gigabyte of data is over $20.
If we look at the United States, that cost is less than $10.
And in most European countries, the cost lies even lower.
But even if we ignore the outliers, it's important to realize that the global average is roughly $4 per gigabyte.
Compare that to a global median income of about $300 a month.
Half of the population has to do with less than that.
So let's think about that for a second and think back to the introduction of the talk.
A gigabyte of mobile data in Chod costs about $20.
A monthly income in Chod is about $60.
That means that if your site ships one megabyte to the median user in Chod, that costs them about 0.03% of their income.
If your website takes about three megabytes per visit and a user visits it once a day, that will cost that user about 1% of their income.
Now, to make that even a little bit more concrete, I went to bbc.com.
I looked at about five articles and I read them.
During that time, bbc.com consumed about 17 megabytes.
If a median user in Chod chooses to read five articles a day on bbc.com, every day that consumes about 15% of their income.
Add to that the consideration that 95% of sub-Saharan Africa accesses the internet solely through mobile devices.
You can see what an immense impact the data consumption of your websites can have on the disposable income of the people living there.
And of course, when thinking about that data usage, it's not just that you're making it faster.
You're, after all, on 3G, that three megabytes to show your site takes at least six seconds to retrieve.
It's saving you and your user's money, as we already talked about, and it's going to lower the carbon impact of your sites and services.
And talking about carbon impact, let's talk a little bit more about power.
When we're thinking about optimizing power, we shouldn't just think about reducing the power usage by making our websites render faster.
Obviously, if your website consumes less CPU, it's also going to use less power.
But more impactful for power is, what are we doing when a user isn't really actively interacting with our websites?
We should be avoiding animations, videos, or animated ads when a user is just reading on our sites.
Of course, we should be minimizing the amount of JavaScript that's associated with simple interactions.
And this comes with a myriad of benefits, even though those two watt-hours a visit to your site might consume might not sound like much.
If your site has a million visitors, those two watt-hours become 2,000 kilowatt-hours, 2,000 kilowatt-hours a day for your millions of visitors.
The average power consumption per capita, or the per capita power consumption in Africa, is about 150 kilowatt-hours a year.
But when we delve a little deeper, there's a lot of other advantages.
You're going to be decreasing the amount of heat users' devices produce, particularly on slower devices.
You're going to be reducing the amount of fans that spin up, reducing the wear and tear, making them more comfortable to use.
But most importantly, you're going to be reducing or increasing the lifetime of their batteries.
And this is again the area where particularly the global south is disproportionately affected.
There is about 1.1 billion people living in sub-Saharan Africa.
By estimates of the International Energy Agency, about 40% of that 1.1 billion people live without access to electricity.
I want you to stop and think about that.
There are more people living in sub-Saharan Africa without access to electricity than there are living in the United States and Canada combined.
For many others living there, access to electricity is limited and power outages are frequent.
Of course, those people with no access to power are also going to be less likely to have mobile phones.
However, for those millions of users that do own mobile phones and do not have access to power, or more limited access to power,
and all those countless users that are going to be coming online over the next decade,
they are often dependent on centralized charging facilities to charge their devices.
Needless to say, for them, their phone running out of battery is a very different situation.
They're for most of us in this room, where your phone running out of battery means you have to grab a charger, it's a nuisance,
or maybe you grab your power bank, right?
So now that we have a better understanding of what the world looks like in terms of the internet, where does that leave us?
The internet is going to play an increasing role in everybody's lives from how you do your taxes and how you are billed by your service providers.
And the potential to do good for the internet is immense there, and that potential can particularly benefit those people and organizations with limited means
by reducing their costs for staffing, travel, and time spent for those people and organizations that are least able to afford that.
At the same time, it reiterates the role that we have as developers to ensure that we have a responsible impact on the most vulnerable communities on the planet.
Now, we're here at FOSDEM, which means that hopefully most of us are working on open source projects,
and if you're anything like me, other projects, commercial or otherwise, using your code is a great source of pride.
And that means that when we're designing our components, our code, we may not be thinking about those particular use cases.
We may be thinking about users that are not affected by these particular disadvantages.
However, we have to think about what other projects may be using the code that we're writing and what users they might be reaching out to,
and those users may be in those vulnerable positions. Thinking about them means thinking about what performance.
The great news is that the work we do to make our sites faster, make them use less data, and make them use less power isn't just good for those users.
You're going to be making your websites for your users, especially when they're riding a train through a tunnel or riding an elevator.
You're going to be keeping their devices cooler, making them more comfortable to use and making them last longer.
You're going to be helping the environment. The greenhouse gas emissions that are produced by the internet and the devices that we consume it are vastly more than all of global aviation combined.
And of course, this works the other way around as well. When you're making your websites faster for your users here, you're also going to be helping those people in more vulnerable positions.
Since you're all here at this early hour, I'm certain that many of you were thinking about web performance already, and thank you for that, and thank you for being here.
I'm confident that you're going to be even more excited to make all your websites faster, and there are a bunch of great speakers coming up the rest of this morning to help you do exactly that.
Enjoy the rest of your day.
Are there any questions?
It's an interesting question. The answer... Oh, yes. So the question is, what do we do, or what do I do? I guess that means Mozilla, right?
To make sure that Firefox works well on devices with limited CPU. I think the short answer is not enough.
I think that, like probably most of you and most developers out there, almost everyone working on Firefox is on fast devices, fast phones, many, many iPhones where we don't even chip our own engine, right?
And I think that is a hard thing to change. That's a hard mentality to change in the business of software development in general.
We do explicitly test certain low-powered devices and their performance characteristics.
But the global landscape is very diverse. I think that the reality of it is that we tend to work a lot on making Firefox faster and consume less resources on fast CPUs,
and then we hope that translates to a better experience on slow CPUs.
One day, perhaps, we'll have optimizations and work that targets very specifically the different types of CPUs and different compositions of CPUs,
in terms of heterogeneous architectures and things like that, that are more common in the global south, but we do not currently do that.
Anybody else?
The next speaker has five minutes to set up.