Market fragmentation

From Wikipedia, the free encyclopedia
  (Redirected from Fragmentation (programming))
Jump to: navigation, search

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[edit]

Android (operating system) usage fragmentation as of 30 Aug 2014.[1]

  GingerBread 2.3.3 (0.24%)
  Gingerbread 2.3.4 (0.56%)
  Gingerbread 2.3.5 (0.55%)
  Gingerbread 2.3.6 (2.41%)
  Gingerbread 2.3.7 (0.21%)
  Ice Cream Sandwich 4.0.3 (2.13%)
  Ice Cream Sandwich 4.0.4 (5.34%)
  Jelly Bean 4.1.1 (3.21%)
  Jelly Bean 4.1.2 (18.96%)
  Jelly Bean 4.2.1 (1.33%)
  Jelly Bean 4.2.2 (16.22%)
  Jelly Bean 4.3 (10.21%)
  Kitkat 4.4.2 (32.01%)
  Kitkat 4.4.3 (0.71%)
  Kitkat 4.4.4 (5.06%)
  Other (0.85000000000002%)

IOS usage fragmentation as of 30 Aug 2014.[2]

  iOS 5.1.1 (0.95%)
  iOS 6.0.1 (0.41%)
  iOS 6.1 (0.27%)
  iOS 6.1.2 (0.38%)
  iOS 6.1.3 (1.89%)
  iOS 6.1.4 (0.35%)
  iOS 6.1.6 (1.64%)
  iOS 7.0 (1.19%)
  iOS 7.02 (1.29%)
  iOS 7.0.3 (1.40%)
  iOS 7.0.4 (6.40%)
  iOS 7.0.6 (2.53%)
  iOS 7.1 (6.18%)
  iOS 7.1.1 (15.43%)
  iOS 7.1.2 (58.81%)
  Other (0.88%)

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 continue to use the earlier versions of the operating system, primarily Gingerbread. 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 "android.build.MODEL" 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.

References[edit]

External links[edit]