Market fragmentation

From Wikipedia, the free encyclopedia
(Redirected from Fragmentation (programming))

Fragmentation in a technology market happens when a market is composed of multiple highly-incompatible technologies or technology stacks, forcing prospective buyers of a single product to commit to an entire product ecosystem, rather than maintaining free choice of complementary products and services.

Two common varieties of fragmentation are market fragmentation and version fragmentation. Fragmentation is the opposite of, and is solved by standardization.

Market fragmentation[edit]

Market fragmentation happens when multiple competing firms offer highly-incompatible technologies or technology stacks, likely leading to vendor lock-in.

Version fragmentation[edit]

Version fragmentation happens when a firm offers multiple incompatible versions or variations of a single product, either in tandem or over time as a result of accumulated changes to product specification.

Android and iOS operating systems[edit]

Android usage fragmentation as of 10 Apr 2020.[1]

  Ice Cream Sandwich 4.0 (0.20%)
  Jelly Bean 4.1 (0.6%)
  Jelly Bean 4.2 (0.8%)
  Jelly Bean 4.3 (0.3%)
  KitKat 4.4 (4.0%)
  Lollipop 5.0 (1.8%)
  Lollipop 5.1 (7.4%)
  Marshmallow 6.0 (11.2%)
  Nougat 7.0 (7.5%)
  Nougat 7.1 (5.4%)
  Oreo 8.0 (7.3%)
  Oreo 8.1 (14.0%)
  Pie 9 (31.3%)
  Android 10 (8.2%)

iOS usage fragmentation as of 10 Dec 2020.[2]

  iOS 13.5 (2.47%)
  iOS 13.6 (4.05%)
  iOS 13.7 (4.4%)
  iOS 14.1 (5.15%)
  iOS 14.0 (5.29%)
  iOS 12.4 (6.66%)
  iOS 14.2 (60.91%)
  Other (11.07%)

A term being used in the Android development community is Android fragmentation.[3] Fragmentation within Android is when a variety of versions of the Android platform, combined with a mixture of hardware result in the inability for some devices to properly run certain applications.[3] Despite Google upgrading its Android operating system to version 4.4, also known as KitKat, users continued to use the earlier versions of the operating system, primarily Gingerbread (that's as of 2018 down to 0.3% share). The cause is primarily because hardware manufacturers of the devices are not able to upgrade to the later operating system for a number of reasons. As a result, applications written for one version will not operate consistently on the other, and vice versa.[4]

In August 2010, developers of the OpenSignal wireless crowd-sourcing app detected 3,997 distinct values for "" among users of their app.[5] This variable represents the device model, though it may be altered by adding a custom ROM. OpenSignal acknowledged that while this made it problematic to develop apps, the wide variety of models allows Android to enter more markets.

Developers have placed the blame on Google and the hardware manufacturers, while Google has blamed software developers for not staying within the guidelines of its terms and conditions.[4] The issue with fragmentation has forced Google to add a prohibition to its terms and conditions for its software development kit, which developers must accept before developing for the Android operating system.[4] For example, OpenSignal and Testdroid studies have found out that OEMs fragment Android ecosystem significantly more than Google.

You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.


  1. ^ Android Version Distribution statistics will now only be available in Android Studio
  2. ^ Mobile & Tablet iOS Version Market Share Worldwide
  3. ^ a b What is Android fragmentation
  4. ^ a b c Google targets Android fragmentation with updated terms for SDK
  5. ^ "Android Fragmentation Visualized". Archived from the original on 2018-04-17. Retrieved 2018-09-11.

External links[edit]