Size Matters
It’s probably not your problem, but if it is you’ll know what we’re talking about.
When developing multi-platform apps, we need to take into consideration not just the singular app size, but the size at scale. If the app you’ve designed and built is 600 megabytes, that means that every user who downloads your app is taking up 600MB of their hard drive to store it locally and consuming 600MB of traffic from a remote server.
Is that a big portion of their local hard drive? Maybe it is and maybe it isn’t. Regardless, we want to be inclusive of all users—even those with smaller storage capacities.
Therefore, we’re talking about thousands, hopefully hundreds of thousands, of users downloading your 600MB app. In the grand scheme of things, this is 600,000MB (600 GB!) to 60,000,000MB (60 TB!) of storage.
App Size | Unit Time (100Mb/s) | Downloads | Transit | Total Time (100Mb/s) | Electricity Use (kWh) | CO2 Produced (Ton) | Trees Needed 🌳 |
3 MB | 240 milliseconds | 1,000 | 3 GB | 24 minutes | 0.3 | 0.18 | 1 |
3 MB | 240 milliseconds | 100,000 | 300 GB | 1.7 days | 30 | 18 | 108 |
3 MB | 240 milliseconds | 10,000,000 | 30 TB | 167 days | 3,000 | 1,800 | 10,800 |
200 MB | 16 seconds | 1,000 | 200 GB | 4.45 hours | 20 | 12 | 72 |
200 MB | 16 seconds | 100,000 | 20 TB | 18.5 days | 2,000 | 1,200 | 7,200 |
200 MB | 16 seconds | 10,000,000 | 2 PB | 5 years | 200,000 | 120,000 | 720,000 |
600 MB | 48 seconds | 1,000 | 0.6 TB | 13 hours | 60 | 36 | 216 |
600 MB | 48 seconds | 100,000 | 60 TB | 54.2 days | 6,000 | 3,600 | 21,600 |
600 MB | 48 seconds | 10,000,000 | 6 PB | 14.8 years | 600,000 | 360,000 | 2,160,000 |
Sourced from Tauri 1.0 Blog Post
Let’s consider what kind of electricity is required to power the machines that have to store all that. Again, on a micro scale it’s not that much but when we widen the scope, that’s an enormous demand on energy production. Particularly at a time when energy production, and specifically the means of conventional energy production, are being scrutinized by the world at large.
So how do we start to be part of the solution? However we can. To us, this means starting small and building out from there. This is why we utilize the Tauri toolset, developed within the open-source community: to enable developers to create smaller binaries and thus, smaller apps. Because taking a 500MB app and turning it into 5MB, means turning 50,000,000MB into 500,000MB—a difference of 99.999%.
That’s a lot less energy.
How CrabNebula Can Help
While we at CrabNebula can assist developers in forging the pathway to better and smaller app sizes, the best advocates available are the users themselves, who experience the benefits firsthand. Because only then does Tauri’s possibility of transformational change become apparent, and an awareness that CrabNebula can offer guidance and security along the way.
In that same spirit of guidance and empowerment, here’s a few talking points to help consider the benefits of using Tauri with CrabNebula’s guidance next time you’re discussing the merits of your experience with others:
Point: “Developers don’t care about a couple dozen extra megabytes of their application size.”
Counterpoint: “Developers aren’t usually the users of their (successfully marketed) applications.”
To many, especially those with data constraints, application size is a serious consideration to be mindful of and can sometimes be a major deciding factor in the decision making paradigm when it comes to deciding which app to download to satisfy a specific need. Any edge over the competition can enable an app to take off or remain in obscurity.
Point: “100MB takes almost no time at all on 1Gb download speed.”
Counterpoint: “Inclusion matters. Not even most people in the so-called Global North have this kind of unthrottled speed and unlimited traffic, let alone what developing countries have.”
Throttling is prevalent throughout the world and practiced by many telecommunication companies, even in more saturated markets. In more rural areas where internet access may be much more sparse and less consistent, users are subject to the limitations of the existing infrastructure. Any benefit, like smaller sized apps which require less data and time to download, can have an immense impact on their experience and, in turn, their decision making process.
For apps that anticipate and hope for an enormous user (and thus, profit) base, it is beneficial to reach as many people as possible—this heavily includes people with data constraints worldwide.
Point: “Storage is basically free, so what’s the big deal?”
Counter-Point: “Storage is free for the privileged few, not the global many. Especially not when you are roaming outside tariff agreements.”
When users need internet access to acquire your app, they may find themselves in an area where that service is at a premium, in which case not only is the colloquialism “Time is Money” very real, but also “Size is Money.” If they have to choose between an app that requires more money to download, or your app that can be acquired with a lower tier of data purchase, the choice becomes clear and your app is quantifiably more valuable to them.
Point: “Climate change isn’t real”
Counterpoint: “While I understand that people have different perspectives, the overwhelming body of scientific evidence supports the reality of climate change. But the bottom line is we should regardless be good stewards of the Earth.”
We hope these talking points help you to articulate why using a toolset like Tauri can make a big difference moving forward next time you’re discussing your experience with someone who might be considering options for building their app. And know that experts at CrabNebula are available for guidance on design and best practices to help facilitate the change we hope see throughout the world of software development. Check us out here.
At the end of the day, you are the best advocates for change that can have global impact on multiple layers. You have the power and you can tell them—size matters.
Authors:
Daniel Thompson-Yvetot, Chief Executive Officer
Sam Kishline, DevRel
Tejas Kumar, Director of Developer Relations