Let me first start by saying I am one of the biggest Apple fanboys that you’ll ever meet. I have probably bought every Apple product they’ve offered more than once in the past decade.
As a developer, iOS is one of my favorite platforms to develop on. The consistency of the devices, paired with Apple’s focus on the user experience made the iPhone the go-to mobile platform for app proof of concepts and initial mobile releases for start-ups.
Although Apple makes awesome hardware, their software and service releases have been less than stellar. Do you remember Ping, mac.com or me.com? Me neither. Raise your hand if a failed time machine backup resulted in the loss of important information. <<hand raised>>
The Death of Windows Mobile
I have spent the last 15 years implementing enterprise mobile solutions for Fortune 500 companies. As part of this experience, I was very involved in the first major project where Microsoft tried to catch up to Apple and Android with Windows Mobile 7, followed shortly with Windows Mobile 8.
The requirements we gathered for this large retailer was to form the release of Windows Mobile 8 for embedded/rugged devices. What made this project fail was that Windows Mobile was controlled by Microsoft’s consumer mobile team. If this team did not agree with a requirement, then the requirement was not included in Windows Mobile.
This team was so hyper-focused on developing the next iOS that they did not care and had no industry experience with enterprise mobile scenarios. Below are some of the examples that were red flags for me.
Microsoft’s Windows Mobile team could not understand why an enterprise organization would want:
- to programmatically connect to Bluetooth devices. A user should be presented with a screen from which they can then select the device they want to connect with.
- to programmatically connect to an approved list of WIFI SSIDs
- to have device-level information such as battery strength, temperature, WIFI signal strength, and installed applications
- for installed applications to share data
These were the seeds that Microsoft planted that allowed Android to grow into the defacto standard for rugged/embedded mobile device market.
Patterns of Enterprise Neglect
I am seeing a similar pattern of specific enterprise mobile neglect from Apple. Although Apple’s market share of the enterprise mobile space is nowhere near what Microsoft historically controlled, Apple does have a considerable amount of influence with many enterprise companies choosing an iOS centered mobile strategy.
Almost anything was possible in the early days of iOS development. With the way Objective-C is constructed, resourceful developers were able to take advantage of private APIs which provided more control over the device and applications. This was great for enterprises because internal IT teams had some level of deep access to the device and did not need to worry about App Store approvals.
Ever since iOS 7, Apple has been removing the ability for private API access for developers. Removing these capabilities are a part of Apple’s strategy for being the more secure and consumer privacy-focused platform.
Apple’s enterprise strategy has focused on supporting office workers who sit at a desk and use iPhone and iPads as a BYOD (bring your own device) or COPE (company-owned personally enabled) device. Since iOS 8, Apple’s enterprise focus is supporting 3rd party software companies (such as Microsoft Office, Skype, Cisco VoIP), VPN access, and enabling MDM/EMMs adequate APIs for enrolling and managing devices.
Apple has not focused on supporting internal IT teams who are building applications on COBO (company-owned business only) devices that can be shared. Up until this point BlueFletch has been able to work around or through most of Apple’s changes in the name of consumer privacy…but iOS 13 is a tipping point.
iOS 13 Breaks Everything
Having more than 15 years of experience implementing mobile solutions, I know that with any Operating System (OS) update things will break. Typically breaks occur because an API changed, the underlining implementation is being handled differently and/or there is a device issue.
Apple’s iOS is probably the only mobile operating system that removed or significantly reduces features for developers.
What Apple giveth, Apple also taketh away…
- Since iOS 7, private API access was removed
- The ability for managed devices to indefinitely ignore OS updates
- Increased application sandboxing, limiting how apps can share data
The iOS 13 update to notifications is the straw that breaks the proverbial back of iOS for enterprise applications. To save battery life Apple will throttle and batch notifications in order to squeeze more efficiency out of the battery. Apple is also closing the loophole for using VoIP notifications for a non-VoIP purpose, thus removing the ability to send a notification and guarantee it’s delivery on a device in near real-time. So for scenarios that require immediate delivery in order to support a process (BOPIS picking in retail, notifications for airline workers, tasking updates for warehouse workers, etc.) iOS 13 will randomly break your application.
Billions vs. Millions
Apple is focusing on its core customer: the consumer user. The install base of field end-users is very tiny (millions of devices) compared to the more than 2 billion iOS devices that have been sold to consumers (*1.4 billion active). Although the install base is smaller users in the field, they are just as important as the average customer.
Organizations that have a shared device or COBO strategies should not consider iOS at this time.
The lack of device access, the continued sandboxing of applications, and not having a guaranteed delivery of notifications are core features that are needed to manage enterprise devices at scale.
Apple is really good at including ideas and features that exist in other applications or platforms, such as pull to refresh, swipey keyboard, grouping notifications, etc. Unfortunately for enterprise mobile companies, the features we need to be successful are not added, but continually removed, with every new release of iOS.
My intent with this article is merely to shed light on the fact Apple has lost touch with the enterprise. With each iOS update, we’re seeing new restrictions that limit developers…which ultimately impacts end-users and customers.
If you have any questions about which platform is most suitable for your organization, feel free to reach out at email@example.com. We’d love to share our experiences and help you find a scalable solution that meets your business needs.