How do OS updates impact apps?
Operating system (OS) updates are a regular part of the computing world, but they often have implications for the software that rides on top of them. New releases bring excitement, but they can also raise some questions.
Many of our clients rightly ask whether an update will impact the functionality of an app they built on a previous OS. The answer is, generally, “It might!”
With a new OS release, it’s always wise to review existing code to ensure it’ll work as well as it did when it was first written. Our Android and iOS developers share a few challenges a new OS version creates.
Implications of an OS Update
There are a few different ways an OS update can affect current code:
- Changes to SDKs
- Changes to UI conventions
- Changes to compatibility
Changes to SDKs
Software development kits (SDKs) are the underlying frameworks that make an OS what it is. As an OS matures, each release will naturally include changes to SDKs an app relies on to work. Those changes can cause the app code to break.
For example, some recoding is required when deprecated methods are justifiably removed from an SDK but are still used in the app. Or, if the semantics of existing methods change to accommodate long-term OS strategies, it may negatively affect a part of the app, again requiring recoding and recompiling.
Changes to UI Conventions
OS changes can also bring about new user interface (UI) conventions affecting existing apps. While the code might still work, these changes may negatively impact an old app’s visual appearance and usability.
For example, the default size and presence of navigation bars can change with a new OS, making the app look awkward if not recoded. Similarly, for Android apps, many icons and design cards can feel stale if they’re not updated with each new OS release.
Changes to Compatibility
Updates also impact developers (and thus apps) in areas like forward and backward compatibility. Development tools are interconnected, and maintaining compatibility may require code changes.
Forward compatibility refers to a design characteristic that allows a system to accept input intended for a later version. Backward compatibility is a property that allows for interoperability with an older version. When developing for both forward and backward compatibility and using several tools, developers may be forced to upgrade an app, even when they don’t want to.
For example, our developers often work with Xcode, a suite of software development tools created by Apple. If they update Xcode to build apps with the latest technologies like iMessage Apps, they may be required to also update their Swift code for other apps for those apps to compile in the updated XCode. One of our developers stated, “I felt betrayed by my tools,” when he was required to make a change he did not desire to make.
Managing an OS Update
Fortunately, the time between the beta release and the public release of a new OS is long enough for developers to start using the new features before users are typically affected. Developers are generally given 3 to 5 months to install the beta version of the OS and begin tinkering on it before that release is publicly available. The beta provides an opportunity to understand where the new OS has the potential to cause a current app to break.
All of our developers spoke about the need to do testing, testing, and more testing to ensure the apps are functioning superbly on the new OS. One of our Android developers stated, “Ideally, I would build a test platform that pulls code from all of our projects and runs it on different virtual devices at different OS levels, taking screenshots and notifying us of any failed tests.”
When time does not allow for that ideal scenario, we rely on regression tests to test all the code in the app. Apple and Google provide release notes detailing the changes in the new OS so that we can focus our tests on the areas with the most change. With a whole new OS, though, the list of changes is so long that it makes more sense to run a complete regression test.
The Bright Side
Transitioning to the new OS and overcoming the abovementioned challenges takes some forethought. However, the changes can also provide opportunities for clients to upgrade the functionality of their apps, incorporating new features that weren’t previously possible.
For example, Apple just released a powerful weather framework. Such new functionality could be a perfect enhancement to fitness, travel, real estate, or even mental health apps. On the Google front, ultra-wideband antennas for third-party Android apps appear to be in our future. Android phones could be used as a key fob, serving as an ID for building system entry and other potential new features.
If you want to talk more about possibilities for changes to your app or concerns you have about how it functions now, please contact us. We’d be happy to take a look.
Let’s build something together
If you’re looking to build a custom application, there are many different questions to ask an iOS app development company. Still, one of the most common questions we receive about the development process is whether we recommend building both iOS and Android versions of an app simultaneously or just one at a time. And if app development for each platform occurs at different times, should iOS development or Android development come first? We touch on this question in Chapter 3 of our book InspiringApps: A Business Perspective on Building Mobile Apps, but we will provide more insight on this debated topic here. Should we develop iOS & Android at the same time? When feasible in mobile app development, we recommend picking a single platform to start with rather than developing for both simultaneously. You may not have that luxury if you’re developing an app to release to consumers who all need to have the mobile app at the same time—perhaps in conjunction with a film or other product release. If it’s possible, though, we think one at a time in the development process is better because it will enable you to learn from your customers on the first platform. Unless a mobile app is extremely simple, it will go through several iterations before it offers the desired experience. Trying to manage learnings across both iOS devices and Android devices is cumbersome. Instead, the feedback and refinements from the first platform can be leveraged to speed mobile app development on the second platform, saving both time and money in producing across mobile devices. What factors should we consider in picking an OS? When advising customers whether to focus on Android development or iOS app development first, we consider these factors to help guide the decision. Industry & Demographics You may find an industry bias for operating systems (OS) that affects your project. For instance, we found iOS devices more prevalent in medical applications, while Android app development seems more prevalent in construction. If you don’t have industry insight, try checking your website’s analytics to determine user platforms. Trends might help decide what type of platform may be best suited. You can also use sites similar to Mixpanel to discover applications and software that would be more suited to that platform. If one platform is used far more than the other, you know a preference exists and should develop accordingly. Likewise, depending on the market you are serving, you may also find that age-related differences affect whether you should focus on iOS app development or Android app development first. Market Share For app developers who intend to produce mobile applications for the general public and do not know the OS preference of their target audience, these market considerations may provide some guidance: In the United States, the market share of both iOS and Android has stayed just about constant over the past year, hovering at or around 60% and 40%, respectively. In Europe, the UK, Asia, and many other countries, Android has had a higher market share than iOS. Android maintained its lead in global market share capturing around 70% in August of 2022. Android devices have captured most of the global market share for many years. Google provides free, open-source software that manufacturers can install on their smartphone devices. Because of the large number of Android users and the lower cost of Android devices to consumers, Android developers are at an advantage in many markets. Unquestionably, Android is the world’s most popular smartphone OS. However, Apple has a powerful brand, particularly in the US, where Apple's ecosystem, stable OS, and device durability enable iOS to keep large numbers of active and premium smartphone users. OS Adoption Rates & Upgrade Complexity Apple has a remarkable track record of getting iOS users to upgrade to current versions of its OS, whereas Android adoption is much slower: As of May this year, 89% of users are on the current iOS. As much as 60% of users keep older versions of Android on their phones. Apple handles the distribution of its iOS updates exclusively. Developing for and supporting a smaller number of OS versions on Apple devices leads to quicker builds, faster testing, and more straightforward support in the long run for iOS developers. Google only gives direct updates to its products, like the Pixel series. Other manufacturers like Samsung must first get the update from Google and optimize it for Android devices before they can send it to Android users. Some mobile carriers also go through updates before distribution, too. Android developers may have to deliver more app fixes as a result. Speed & Ease of Development & Publishing Speed and ease of development and publishing are not as cut and dry in terms of pros and cons. Android pros include: The Android platform enables a more flexible development environment. Because Windows, Mac OS, and Linux all support Java—which Android relies on—Android developers can build Android apps on various machines. Google Play allows developers to publish multiple versions of the same app (alpha and beta) to ensure developers can test the app live, fix bugs, and launch it to a broader audience. However, developing and maintaining apps is generally more time-consuming for Android than for iOS: Whereas iOS developers build for a limited type of device (iPhone, iPad, and Apple Watch), Android accessibility to a wide range of devices means more devices to test and support. Google has become less lenient and more time-consuming towards apps that developers want to post on Google Play, narrowing the line between ease of publishing on Google Play vs. the App Store. And through TestFlight, Apple does support previewing versions of an app with up to a thousand beta testers before releasing it for wide distribution in the Apple App Store. Development Cost & Profit Opportunities Cost and profit will vary depending on the type and complexity of the app you’re developing; still, Android apps are generally more expensive to create than iOS apps are for iPhones. Overall, Android users tend to favor free apps and spend less on in-app purchases than iOS users, which can lead to higher sources of profit on iOS, not accounting for market differences. Should we develop for iOS or Android first? If you’ve considered all the above factors, and neither platform is the clear winner, we’d recommend starting with iOS for a US-focused app. Our reasons are speed to market, lower development cost, and revenue generation potential. Please contact us if you’d like to discuss your particular situation or have other questions on this topic. We’d love to hear from you.
in 6 hours
Boulder, CO—InspiringApps, a premier web and mobile app development company, is proud to be Certified™ by Great Place to Work® for the second year in a row. The prestigious award is based entirely on what current employees say about their experience as part of InspiringApps’ team. This year, 92% of employees said it’s a great place to work—35% higher than employees at a typical US-based company. InspiringApps recently celebrated its 15th birthday. Over the years, its leaders have rolled out various initiatives to boost employee engagement and retention. Listening to employee feedback is a big part of that. For example, team feedback as a result of last year’s Great Place to Work survey created IA Commits, pairing inspiring not-for-profit clients with developers who can use a hand-up early in their software career. “InspiringApps wouldn’t be what it is today without our amazing people,” said Brad Weber, CEO and President of InspiringApps. “InspiringApps is better because of the people who work here. We are all passionate about our craft and united in our goal to make a real difference in the world.” According to Great Place to Work research, job seekers are 4.5 times more likely to find a great boss at a Certified great workplace. Additionally, employees at Certified workplaces are 93% more likely to look forward to coming to work and are twice as likely to be paid fairly, earn a fair share of the company’s profits, and have a fair chance at promotion. “Great Place to Work Certification™ isn’t something that comes easily—it takes ongoing dedication to the employee experience,” said Sarah Lewis-Kulin, Vice President of Global Recognition at Great Place to Work. “It’s the only official recognition determined by employees’ real-time reports of their company culture. Earning this designation means that InspiringApps is one of the best companies to work for in the country.” About InspiringApps App development that makes an impact. InspiringApps builds digital products that help companies impact their employees, customers, and communities. Yes, we build web, mobile, and custom apps, but what we offer is something above and beyond that. What we offer is inspiration. Our award-winning work has included 200+ apps since the dawn of the iPhone. Our core values: integrity, respect, commitment, inclusivity, and empathy. Our guarantee: finish line, every time, for every project. About Great Place to Work® Certification™ Great Place to Work® Certification™ is the most definitive “employer-of-choice” recognition that companies aspire to achieve. It is the only recognition based entirely on what employees report about their workplace experience—specifically, how consistently they experience a high-trust workplace. Great Place to Work Certification is recognized worldwide by employees and employers alike and is the global benchmark for identifying and recognizing outstanding employee experience. Every year, more than 10,000 companies across 60 countries apply to get Great Place to Work-Certified. About Great Place to Work® Great Place to Work® is the global authority on workplace culture. Since 1992, they have surveyed more than 100 million employees worldwide and used those deep insights to define what makes a great workplace: trust. Their employee survey platform empowers leaders with the feedback, real-time reporting, and insights they need to make data-driven people decisions. Everything they do is driven by the mission to build a better world by helping every organization become a great place to work For All™. Learn more at greatplacetowork.com and on LinkedIn, Twitter, Facebook, and Instagram.
18 hours ago