Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-119670

Navigating the Complexities of macOS and iPadOS Convergence

    XMLWordPrintable

Details

    • Suggestion
    • Resolution: Done
    • Not Evaluated
    • None
    • 6.6.1
    • Core: Other, GUI: Other
    • None
    • iOS/tvOS/watchOS, macOS

    Description

      After the successful unification of the microprocessor architecture on Arm, Apple is now converging the macOS and iPadOS. Even if the convergence is taking place, Apple is almost not communicating about the convergence and in some cases also denying that is taking place. Apple also seems to not carry to much to the compatibility with existing applications, especially the multi-platform one. For software developers it has become challenging to continue offering, next to Windows also a version of the Applications that works flawlessly on macOS. We offer a macOS and iPadOS version of our main application using the Qt framework. We can see that for the Qt teams it has become increasingly difficult to keep pace with the continuous breaking changes introduced by Apple without information. We have thoroughly discussed this topic and believe that our insights could be beneficial to other developers working with Qt, as well as to the Qt maintainers.

      Understanding the Convergence

      In recent years, Apple has successfully transitioned Mac computer to the new, internally developed Arm processors. This transition aligns the microprocessors of Macs with those of iPads and iPhones, though their operating systems remain distinctly different. MacOS is a powerful UNIX-derived OS developed for desktops, while iPadOS, derived from the iPhone OS, is intended for mobile devices.

      These two operating systems are now undergoing convergence. iPadOS is acquiring features typically associated with desktop computers, such as multitasking, mouse support, and a file manager. Meanwhile, macOS is integrating more into the mobile world, with its user interface becoming increasingly similar to iPadOS, most notably allowing iPad apps to run on Mac.

      Although technically the two operating systems are becoming more alike, Apple management does not acknowledge this convergence, leaving developers without clear explanations of the process.

      We observe that our application, developed with the Qt Framework, frequently faces challenges with each new release of macOS, requiring us to investigate and resolve these issues. Similarly, the iPadOS version of our app, which had been stable for over a year, unexpectedly stopped working after a recent update to the operating system.

      Negative Consequences

      Apple remains primarily focused on introducing new features and addressing technical challenges in both operating systems. However, their lack of communication and support for multi-platform developers has resulted in negative consequences for many stakeholders.

      • For Apple Customers: Particularly those in business and education sectors, there is a loss of time and, sometimes, complete loss of access to vital applications and data.
      • For Developers: Valuable time that could be spent on new feature development is instead consumed by troubleshooting issues caused by new OS versions.
      • For Software Publishers: The costs of offering multi-platform applications are increasing.
      • For Apple's Mac Products: Despite their technical excellence, they become less appealing, particularly to business customers.

      A Call for Support from Apple

      Beginning with Sonoma, Apple has started integrating WebApps directly into macOS, demonstrating a clear intent to ensure that all applications, even those not adhering to Apple's guidelines, are available on Mac. As the convergence of operating systems becomes a reality, it's crucial for Apple to acknowledge this shift and provide support to both users and the wider community.

      • Information on future evolution plans, at least for the near future.
      • Details about potential breaking changes that could occur in macOS or iPadOS.
      • Increased attention to compatibility issues with existing applications.
      • Technical and financial support, particularly for developers of frameworks enabling software to work across multiple platforms.

      Supporting Qt in meeting the Challenge

      Since 1992 Banana Accounting software has been developed with C++ and OWL. In 2008 we moved to the Qt framework, first with the LGPL an then with the commercial license. Qt is a high-quality framework for multi-platform application. Thanks to Qt, we've successfully extended the availability of Banana Accounting software to Windows, Linux, and macOS. Additionally, Qt's versatility has allowed us to develop a version for Android, iOS, and iPadOS. While the mobile experience is somewhat limited compared to the full desktop version, it remains highly valuable for customers due to its ability to provide access and facilitate limited modifications to their accounting data on mobile devices. In recent years, we've also introduced a webassembly WebApp version, which shows great promise in enhancing customer onboarding.

      Qt, boasting a large user base, has been an invaluable asset for us as a small company. It stands as a comprehensive and stable framework, supporting a wide range of platforms with both LGPL/GPL and commercial licenses. The Qt Company is responsible for major maintenance, development, and improvements, rolling out two main releases annually along with multiple fixes every two to three months.

      Like many developers, we also utilize various open-source libraries. While building the Qt libraries from source is feasible, using the Qt binaries provided with each release simplifies development across different platforms.

      The existing Qt organization and its release strategy effectively keep pace with standard OS evolutions. However, this approach falls short in the face of the continuous and significant changes occurring in macOS and iPadOS. During this period of convergence, adopting a more targeted approach would greatly benefit our development process.

      • Qt Convergence Project: The Qt company needs to transparently communicate its proactive measures to address the challenges of operating system convergence. It is essential to garner increased support from the wider Qt community to effectively navigate these changes.
      • Qt Daily Binary Build: To facilitate a more efficient development process, the Qt Company should consider releasing a daily binary build for the development branch. This would allow developers to promptly test code modifications without the need for comprehensive setups, streamlining their workflow.
      • Reinforcing macOS and iPadOS Qt Development Teams: It is imperative to bolster the teams responsible for macOS and iPadOS within Qt, particularly during this convergence period. Additional developers would help ensure a smoother adaptation to the evolving needs of these operating systems.
      • Seeking Apple Support: The Qt community is encouraged to engage with Apple, presenting a strategy to enhance support for macOS and iPadOS throughout this convergence period. This plan should include a request for improved assistance from Apple, potentially extending to financial support. Both Apple customers and the brand itself stand to gain significantly from this collaboration.
      • Seeking Community Support: The additional efforts to maintain compatibility and functionality in the face of ongoing changes will necessitate extra resources and funding. Publishers invested in macOS could stand to benefit from an intensified effort by Qt. It’s conceivable that they would be willing to contribute to and support these endeavors.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            vminenko Vladimir Minenko
            domezuk Domenico Zucchetti
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes