Khamosh Pathak, a Vadodara-based technology writer, spends more than 10GB of Internet data per month on his iPhone for simply downloading new apps and updates. He says the amount of data he ends up consuming with this "less essential" chore has increased significantly over the years.
Pathak's views represent a growing concern among many iPhone and iPad users who say that apps on the App Store are getting bulkier by day. You can see, for instance, that both the Facebook app and Uber app, are listed at over 250MB. Update sizes, as listed on the App Store Updates tab, are often worse, with Facebook standing north of 300MB.
In contrast, downloading Facebook on Android uses under 70MB data, and the update files are usually not more than 30MB. Uber's app is another 30MB download. On the App Store, Microsoft Excel is listed at 219MB, but it's under 60MB download from Google Play.
Similarly, according to the listing on App Store, Pokémon Go app is 244MB, while its listing on Google Play is under 100MB. Gadgets 360 confirmed the sizes on several different Android smartphone models.
Apple remains tight-lipped on the matter, and hence we're not sure if Apple is working to address this problem, or if it even sees it as a problem at all, though it does offer developers tips to reduce app sizes.
But do these claims actually hold water? Gadgets 360 spoke to several developers to find out.
Why does this matter?
Larger apps means more data consumption and less space on your device. This could make it challenging for Apple to market its products in emerging places such as India, which the Cupertino-headquartered company is increasingly hoping to develop as the next major iPhone market.
Part of the problem, as we realised when downloading and checking the sizes of apps, is that Google Play lists the size of the download. If you look in the information about an app, you'll see a heading for Download Size. On the App Store however, the section is called Size, and it seems to refer to the amount of space that app will take on your device. The files that you download from these stores are unpacked on your phone or tablet and end up taking up more space than just the download. There are pros and cons to both approaches.
Google's showing you how much data you'll use to get the app on your phone, which is an important factor in countries like India, which are still sensitive to data costs. On the other hand, Apple's figure tells you how much space is needed on your device, which matters if you're worried about running out of storage.
Even beyond this though, there's a real problem of app sizes, several developers told Gadgets 360. Apps are getting bigger in size, they say, in part because developers add new features, something their users obviously appreciate.
"Apps are getting bigger because iOS devices are more powerful, and developers are building more and more complex things for them without considering the impact the size will have around the world," developer Stephen Troughton-Smith tells Gadgets 360. Smith is one of the most high-profile iOS developers, perhaps best known for digging into Apple devices' firmware and unearthing facts before Apple announces them to the world, most recently spotting a wireframe for the upcoming iPhone in HomePod firmware.
But in part, it is also happening because developers are being careless, and adding more than one instance of files, Troughton-Smith added. "So Facebook, Twitter, and other large companies have perhaps tens or hundreds of people building their iOS apps. A lot of the components for these apps are developed independently as components, or frameworks. For each additional component you glue together into an app, there is some overhead," he explained. "Some of the teams will duplicate functionality some other team wrote. Images and other resources end up being duplicated."
The high-resolution image assets that developers are required to add also contributes to the size of an app, two India-based developers (who didn't want to be identified), and Peter Steinberger, founder and CEO of PSPDFKit, a dev kit that is used by several popular PDF apps, told Gadgets 360.
Apple can itself take some blame, too. Developers using Apple's Swift language, which the company introduced in 2014, are required to add several components to their apps that make them heavier.
"Apple's new Swift language, for example, requires a bunch of components to be embedded each time it's used, because it's not yet 'ABI stable'," Troughton-Smith explained. This means developers need to embed the versions of libraries they've developed against, and not count on the one available on the system.
Another developer who didn't want to be identified said a typical app built with Swift language requires as many as 30 Swift runtime libraries to be stuffed within the app. On top of this, he added, "you will be surprised at just how many apps use common code found at places like GitHub."
"Developers often don't care about removing the bits that wasn't relevant to their app," he added.
Sunil Gandham, a Washington-based developer who works at Amtrak, reiterated claims made by the other developer.
Apps have grown in size by 1,100 percent
In a blog post published in June, marketing and research firm Sensor Tower wrote, "The total space required by the top 10 most installed US iPhone apps has grown from 164 MB in May 2013 to about 1.9 GB last month, a 12x or approximately 1,100 percent increase in just four years." The phones' storage capacity has not changed at anything close to the same rate, with the base iPhone version only recently going up from 16GB to 32GB of storage.
Speaking to Gadgets 360, Randy Nelson, the head of mobile insights at Sensor Tower said iOS apps continue to "contain multiple versions of assets [images, buttons, etc.] built to look their best on different screen sizes [iPhone 7, iPhone 7 Plus, iPhone SE, for example] or for iPhone vs. iPad, which greatly impacts their storage footprint."
This is different from how things work in the Android world where, even as there are far more different kind of devices, varying on specs and screen sizes, one set of assets is commonly scaled up or down, Nelson explained.
"Another contributor is the number and type of libraries and SDKs necessary for these apps on iOS vs. Android," he added. "Another is that the app code on iOS is encrypted, and results in binaries that are considerably larger than on Android. Ultimately, there are just so many different aspects to engineering an app for iOS vs. Android that it's impossible to point a finger at one reason for the size differences, but those are three major reasons."
Big apps - with large app download sizes and storage on the phone - might be a minor annoyance to people like Pathak, or be a complete non-issue to the users residing in Western markets, but it is certainly a pain in places like India, where much of the population still gets by with patchy networks and limited data plans, and where the 16GB iPhone 5s was the most popular iPhone model last year, according to marketing research firm Counterpoint.
San Francisco-based developer Ben Sandofsky, who was part of the team that made Twitter's iOS app and has served as a consultant on HBO's Silicon Valley show, resonated our concerns and said often "employees at these [Western] companies live in an 'early adopter bubble'. They have LTE connections, fast Wi-Fi at home, and phones with 64 gigs of storage. This creates a huge blind spot around your average user."
Sandofsky, who recently developed popular third-party Halide camera app for iPhone, added, "another issue is advances that have made the lives of engineers and managers easier, without understanding the burden on users. It's gotten easier than ever to reuse code between iPhone apps. With a few keystrokes, an engineer can add thousands of lines of code to an app. In theory that's good, because engineers shouldn't reinvent the wheel. Unfortunately things have gotten crazy in the last few years, with engineers pulling gigantic libraries that add megabytes to their app's size, when they could build something much smaller to solve the task at hand in under an hour."
But that's not all. Companies, Sandofsky said, often add A/B tests to drive product development. "That means they put small, experimental changes in an app- like changing the colour of a button - and then watch analytics to see if more people click on it. This leads to a bunch of tracking code that delivers no value to end-users. The real problem is the abandoned experiments often languish in the code, unused. Many companies fail to remove them, and so the codebase grows with unused code every day."
"Too many companies use metrics to drive all decision," he added. "You can measure when more people click on a button. It's hard to measure why a user gave up on an app, or why a user never downloaded an app in the first place."