Firefox for mobile

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Firefox for mobile
Mozilla Firefox logo 2013.png
Firefox for mobile 45.0 (en) on Android.png
Firefox for mobile 45 on Android 2.3
Developer(s) Mozilla Corporation
Mozilla Foundation
Stable release 43.0 (December 15, 2015; 8 years ago (2015-12-15)[1]) [±]
Preview release
Beta

44.0 Beta 8 (January 12, 2016; 8 years ago (2016-01-12)[2][3]) [±]

Aurora

45.0a2 (December 18, 2015; 8 years ago (2015-12-18)[4]) [±] daily release

Nightly
46.0a1 (December 14, 2015; 8 years ago (2015-12-14)[5]) [±] daily release
Written in C++, XUL, Java, JavaScript
Operating system Android 2.3 and above[6][7]
Type Mobile browser
License MPL
Website www.mozilla.org/firefox/android/

Firefox for mobile (codenamed Fennec) is the build of the Mozilla Firefox web browser for devices such as smartphones and tablet computers.

Firefox for mobile uses the same Gecko layout engine as Mozilla Firefox. For example, version 1.0 used the same engine as Firefox 3.6, and the following release, 4.0, shared core code with Firefox 4.0. Its features include HTML5 support, Firefox Sync, add-ons support and tabbed browsing.[8]

Name

The codename used for Firefox for mobile is Fennec. It comes from the fennec fox, a small desert fox (just as the Fennec browser is a small version of Firefox browser). Firefox for Maemo Beta 5, released in 2009, was the first release to have official Firefox branding, with Firefox name and logo.[9]

History

Plugin support was initially disabled by default, removing compatibility with popular web content types such as Adobe Flash.[10] In September 2011, Flash support was implemented in pre-release builds for pre-Honeycomb versions of Android.[11] Flash support for Android 2.x and 4.x has been enabled for most smartphones in version 14.0, while support for Android 3.x may come in a later release.[12]

The browser's version numbering was bumped from version 2.0 to version 4.0 to more closely match desktop releases of Firefox since the rendering engines used in both browsers are the same.[13]

Platforms

Firefox for mobile is available for Android devices running Android version 2.3 and above.[6] Support for Android devices that run Intel x86 processors was added in December 2013.[14]

Official support for the Nokia N900 Maemo device ceased with version 7.[15]

Firefox mobile is available for MeeGo through the third party OpenRepos repository.[16]

An alpha of version 1.1 (1.1 Alpha 1) for Windows Mobile, released on February 19, 2010, is the last build for this operating system.[17][18] Following the Windows Phone 7 announcement and Microsoft's decision not to release a native development kit, as with Android and other systems, development for Windows Mobile was put on hold.[19] If Microsoft releases a native development kit in the future for its Windows Phone OS, then Mozilla will consider again developing Fennec for the platform.[6]

In April 2013, then-Mozilla-CEO Gary Kovacs said that Firefox would not come to iOS as long as Apple required the use of the WebKit layout engine to do so. However, in 2015 Mozilla announced it was moving forward with Firefox for iOS, with a preview release made available in New Zealand in September of that year.[20][21][22]

Tristan Nitot, president of Mozilla Europe, has said that it's unlikely that a BlackBerry OS version will be released, citing BlackBerry's limited operating system as the reason.[23] Mozilla has no plans to develop Firefox for the Symbian platform,[6] or webOS.[6] An unofficial port to WebOS was made, but is no longer maintained as of 2011.[24]

An unofficial port is available for the OpenPandora handheld console.[25]

While desktop versions are not supported, versions for Microsoft Windows, OS X and Linux were available; these versions were intended as a way to give people who do not have a supported operating system the ability to localize, experiment and build add-ons. Firefox Mobile 10.0.2 was the last version available for desktop systems.[26]

Firefox for mobile platform compatibility
Android 4.0 and newer 46.0.1[27] 2011–present
Android 3.0 45.0.2[27] 2011–2016
Android 2.3 46.0.1[27] 2011–present
Android 2.2 (and ARMv6) 31.0,[28] 31.3.0esr 2011–14
Android 2.1 19.0.2 2011–13
Android 2.0 6.0.2 2011
Maemo 7.0 2010–11
MeeGo 15.0 2011–14
Firefox OS 2.2 35/36/37 2015–present
Firefox OS 2.0 31/32.0 2013–15

There are versions for "modern devices" (Android 4.0 and later) and "legacy devices" (Android 2.3).[29]

Add-ons

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Firefox for mobile allows installation of themes and extensions.

Reception

Usage share of lesser-used mobile browsers since 2013. Firefox usage share grew through March and April 2014.

The main criticisms[by whom?] of the browser pre-version 14 were slow browsing speed, lack of plugin support and performance issues.[30][31] To address these concerns, Mozilla redesigned the browser in version 14.0, adding Flash support, improving start-up speed, as well as other enhancements.[32] This update dramatically improved Firefox for Mobile. As of September 2014, the average user rating of Firefox for mobile on the Google Play Store is 4.4.[33]

Compared to stock Android browser and Chrome on Android, Firefox has a small market share; for the month of November 2015, Firefox for Mobile usage share of all mobile/tablet browsers was just 0.81%.[34] Despite that, Firefox for Android enjoys a high Play Store rating, has over 100 million downloads,[35][36] and continues to be developed, such that the latest version still supports Android 2.3.[37]

In its 2015 Android browser comparison, Spanish software news and reviews site Softonic.com awarded Firefox version 37.0.1 the Best of 2015 nod, with reviewer Fabrizio Benedetti citing good design, efficient memory consumption, the browser's open source nature, and independence.[36]

Security advantages

For various reasons, a number of devices run older versions of Android: some would not be upgraded to newer versions because of insufficient technical knowledge by users, or their lack of access to mobile data; some devices cannot be upgraded because of low system resources, or the manufacturer and telecoms operator have failed to provide an update.[38] People in developing countries and low-income people in advanced economies[38] are less likely to upgrade to newer smartphones with newer built-in Android versions, which may entice them to choose Firefox as the more secure browser, thus contributing to Firefox marketshare.[39]

As of early 2015, Google has stopped issuing its own patches for Android 4.3 and earlier to the WebView browser component and the WebKit rendering engine therein, which are used by the native/stock and often default AOSP browser in a large number of Android devices — thereby shifting the patching responsibility to device manufacturers.[40] In time, the native browser or browser components become outdated, increasingly insecure, and unable to properly render modern websites.[41]

As a workaround, a Google engineer suggested using the separately-installable and updateable Google Chrome or Firefox browsers.[40] In case of Ice Cream Sandwich (4.0.x), a relatively modern major release, Google is to stop supporting that branch of Android with updates to its Chrome browser after Chrome 43, and move up to Android 4.1 as the oldest release supported by Google Chrome.[37][41]

The open-source nature of Firefox has made it possible to maintain its development for operating system versions that are past their product support lifecycle, and has resulted in Firefox having stronger security and better support for modern web standards.[41] This in effect extends the useful lifetime of devices stuck on older major versions of Android.[42]

Comparison of stock browser and Firefox 38 on Android 2.3 showing Wikipedia mobile
Android Browser showing faulty render of Wikipedia page
Stock browser. The search box is somewhat narrow, with instruction text cut off.
Firefox 38 showing proper render of Wikipedia page
Firefox 38: The search box is at full width.
Firefox 38, Wikipedia search suggestions
Search suggestions also work in Firefox.

Forks and code reuse

Fennec FDroid

On 1 February 2015 and beginning with version 35.0,[43] the open-source F-Droid app repository hosts the Fennec F-Droid package. This is a FOSS-only version of the browser, pulled from the unbranded Firefox source code, licensed under MPL2, and based on the latest Firefox releases. Part of the package's name comes from the mobile Firefox's Fennec code name.

Maintainers of this version strive to keep out all proprietary binaries used in Firefox. As of version 38.0.5, the following items have been removed:[44]

  • Tests;
  • Crash reporter;
  • Health reporter;
  • Media streaming (requires the non-free play-services library);
  • Updater;
  • Encrypted Media Extensions (EME) / DRM.

This build was later discontinued.[45]

Adblock Browser

On 20 May 2015, Eyeo GmbH, the maintainers of Adblock Plus, released Adblock Browser 1.0 beta, which is based on Firefox for Android.[46] The browser uses a similar blocking/permitting model as Adblock Plus, wherein acceptable ads are allowed. A major drawback compared to Firefox for Android is Adblock Browser's lack of support for Firefox Sync.

Initial reviews have been mixed: On one hand, users would be happy to have less ads and resource consumption on their devices; on the other hand, web services, publications, content creators and bloggers rely on advertisements for their revenue and income.[47][unreliable source?]

Adblock Browser 1.0 was released on 7 September 2015. It's compatible with Android 2.3 or greater, and has about the same system requirements as Firefox for Android.[48]

Orfox

On 30 June 2015, The Guardian Project announced a stable alpha of Orfox, the new mobile counterpart of the Tor Browser. Orfox is built from Fennec (Firefox for Android) code and the Tor Browser code repository, and is given security hardening patches by the Tor Browser development team. Some of the Orfox build work is based on the Fennec F-Droid project.[49]

The project removed in Orfox the WebRTC component and Chromecast connectivity, and app permissions to access the camera, microphone, contacts (address book), location data (GPS et al.), and NFC.[49][50]

Orfox is to supersede the Orweb browser project, which used the WebView engine.[49]

LibreOffice

LibreOffice on Android

Firefox for Android (Fennec) front-end code was taken as a base for the new development in the LibreOffice project for Android (along with the pre-existing cross-platform LibreOffice document engine).[51][52] Further work made that Fennec code the core component of LibreOffice Viewer for Android,[53] which was released on 28 May 2015[54] for Android 4.0 or newer.[52]

Release history

Release dates (Latest release on FTP):

<templatestyles src="Div col/styles.css"/>

  • Version 1: January 28, 2010. For Maemo.[55]
  • Version 4: March 29, 2011. For Android and Maemo; version number matched with the desktop version.[56]
  • Version 5: June 21, 2011. For Android,[57] supports Android 2.0 and higher.[58]
  • Version 6: August 16, 2011.[59]
  • Version 6.0.1: August 30, 2011.[60]
  • Version 6.0.2: September 6, 2011, last version for Android 2.0.[61]
  • Version 7.0: September 27, 2011.[62] Supports Android 2.1 and higher and last version for Maemo.[63]
  • Version 7.0.1: September 30, 2011.[64]
  • Version 8.0: November 8, 2011.[65]
  • Version 9.0: December 21, 2011.[66]
  • Version 10.0: January 31, 2012.[67]
  • Version 10.0.1: February 10, 2012.[68]
  • Version 10.0.2: February 17, 2012. Last version available for desktop systems.[69]
  • Version 10.0.3: March 13, 2012.[70]
  • Version 10.0.4: April 24, 2012.[71]
  • Version 10.0.5: June 5, 2012.[72]
  • Version 14.0: June 26, 2012, version number matched with the desktop version.[73]
  • Version 15.0: August 28, 2012.[74]
  • Version 15.0.1: September 10, 2012.[75]
  • Version 16.0: October 9, 2012.[76]
  • Version 16.0.1: October 11, 2012.[77]
  • Version 17: November 19, 2012.[78]
  • Version 18: January 8, 2013.[79]
  • Version 18.0.2: February 7, 2013.[80]
  • Version 19.0: February 19, 2013.[81]
  • Version 19.0.2: March 7, 2013. Last version to support Android 2.1.[82]
  • Version 20.0: April 2, 2013. Supports Android 2.2 or newer.[83]
  • Version 20.0.1: April 11, 2013.[84]
  • Version 21.0: May 14, 2013.[85]
  • Version 22.0: June 25, 2013.[86]
  • Version 23.0: August 6, 2013.[87]
  • Version 24.0: September 17, 2013.[88]
  • Version 25.0: October 29, 2013.[89]
  • Version 25.0.1: November 15, 2013.[90]
  • Version 26.0: December 10, 2013.[91]
  • Version 26.0.1: December 20, 2013.[92]
  • Version 27.0: February 4, 2014.[93]
  • Version 28.0: March 18, 2014.[94]
  • Version 28.0.1: March 24, 2014.[95]
  • Version 29.0: April 29, 2014.[96]
  • Version 29.0.1: May 9, 2014.[97]
  • Version 30.0: June 10, 2014.[98]
  • Version 31.0: July 22, 2014. Last version to support Android 2.2 and ARMv6 chipset; security updates were released through January 2015.[99]
  • Version 32.0: September 2, 2014, added support for Firefox OS.[100]
  • Version 32.0.1: September 10, 2014[101]
  • Version 32.0.3: September 24, 2014[102]
  • Version 33.0: October 13, 2014[103]
  • Version 33.1: November 10, 2014,[104] celebrating Firefox's 10-Year Anniversary.[105]
  • Version 34.0: December 1, 2014[106]
  • Version 34.0.1: December 19, 2014
  • Version 35.0: January 13, 2015[107]
  • Version 35.0.1: February 5, 2015[108]
  • Version 36.0: February 27, 2015[109]
  • Version 36.0.1: March 6, 2015[110]
  • Version 36.0.2: March 16, 2015[111]
  • Version 36.0.3: March 20, 2015[112]
  • Version 36.0.4: March 21, 2015[113]
  • Version 37.0: March 31, 2015.[114] Split releases between API levels for Android 2.3 / 3.0 and newer.[115]
  • Version 37.0.1: April 3, 2015[116]
  • Version 37.0.2: April 14, 2015[117]
  • Version 38.0: May 12, 2015[118]
  • Version 38.0.5: June 2, 2015[119]
  • Version 39.0: July 2, 2015[120]
  • Version 40.0: August 11, 2015[121]
  • Version 40.0.3: August 27, 2015[122]
  • Version 41.0: September 22, 2015[123]
  • Version 41.0.2: October 15, 2015[124]
  • Version 42.0: November 3, 2015[125]
  • Version 43.0: December 15, 2015[126]
  • Version 44.0: January 26, 2016[127]
  • Version 44.0.2: February 11, 2016[128]
  • Version 45.0: March 8, 2016[129]
  • Version 45.0.1: March 16, 2016[130]
  • Version 45.0.2: April 11, 2016[131]
  • Version 46.0: April 26, 2016[132]
  • Version 46.0.1: May 3, 2016[133]

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. 6.0 6.1 6.2 6.3 6.4 Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. 27.0 27.1 27.2 Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. https://nightly.mozilla.org/
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. Lua error in package.lua at line 80: module 'strict' not found.
  36. 36.0 36.1 Lua error in package.lua at line 80: module 'strict' not found.
  37. 37.0 37.1 Lua error in package.lua at line 80: module 'strict' not found.
  38. 38.0 38.1 Lua error in package.lua at line 80: module 'strict' not found.
  39. Lua error in package.lua at line 80: module 'strict' not found.
  40. 40.0 40.1 Lua error in package.lua at line 80: module 'strict' not found.
  41. 41.0 41.1 41.2 Lua error in package.lua at line 80: module 'strict' not found.
  42. Lua error in package.lua at line 80: module 'strict' not found.
  43. Lua error in package.lua at line 80: module 'strict' not found.
  44. Lua error in package.lua at line 80: module 'strict' not found.
  45. Lua error in package.lua at line 80: module 'strict' not found.
  46. Lua error in package.lua at line 80: module 'strict' not found.
  47. Lua error in package.lua at line 80: module 'strict' not found.
  48. Lua error in package.lua at line 80: module 'strict' not found.
  49. 49.0 49.1 49.2 Lua error in package.lua at line 80: module 'strict' not found.
  50. Lua error in package.lua at line 80: module 'strict' not found.
  51. Lua error in package.lua at line 80: module 'strict' not found.
  52. 52.0 52.1 Lua error in package.lua at line 80: module 'strict' not found.
  53. Lua error in package.lua at line 80: module 'strict' not found.
  54. Lua error in package.lua at line 80: module 'strict' not found.
  55. Lua error in package.lua at line 80: module 'strict' not found.
  56. Lua error in package.lua at line 80: module 'strict' not found.
  57. Lua error in package.lua at line 80: module 'strict' not found.
  58. Lua error in package.lua at line 80: module 'strict' not found.
  59. Lua error in package.lua at line 80: module 'strict' not found.
  60. Lua error in package.lua at line 80: module 'strict' not found.
  61. Lua error in package.lua at line 80: module 'strict' not found.
  62. Lua error in package.lua at line 80: module 'strict' not found.
  63. Lua error in package.lua at line 80: module 'strict' not found.
  64. Lua error in package.lua at line 80: module 'strict' not found.
  65. Lua error in package.lua at line 80: module 'strict' not found.
  66. Lua error in package.lua at line 80: module 'strict' not found.
  67. Lua error in package.lua at line 80: module 'strict' not found.
  68. Lua error in package.lua at line 80: module 'strict' not found.
  69. Lua error in package.lua at line 80: module 'strict' not found.
  70. Lua error in package.lua at line 80: module 'strict' not found.
  71. Lua error in package.lua at line 80: module 'strict' not found.
  72. Lua error in package.lua at line 80: module 'strict' not found.
  73. Lua error in package.lua at line 80: module 'strict' not found.
  74. Lua error in package.lua at line 80: module 'strict' not found.
  75. Lua error in package.lua at line 80: module 'strict' not found.
  76. Lua error in package.lua at line 80: module 'strict' not found.
  77. Lua error in package.lua at line 80: module 'strict' not found.
  78. Lua error in package.lua at line 80: module 'strict' not found.
  79. Lua error in package.lua at line 80: module 'strict' not found.
  80. Lua error in package.lua at line 80: module 'strict' not found.
  81. Lua error in package.lua at line 80: module 'strict' not found.
  82. Lua error in package.lua at line 80: module 'strict' not found.
  83. Lua error in package.lua at line 80: module 'strict' not found.
  84. Lua error in package.lua at line 80: module 'strict' not found.
  85. Lua error in package.lua at line 80: module 'strict' not found.
  86. Lua error in package.lua at line 80: module 'strict' not found.
  87. Lua error in package.lua at line 80: module 'strict' not found.
  88. Lua error in package.lua at line 80: module 'strict' not found.
  89. Lua error in package.lua at line 80: module 'strict' not found.
  90. Lua error in package.lua at line 80: module 'strict' not found.
  91. Lua error in package.lua at line 80: module 'strict' not found.
  92. Lua error in package.lua at line 80: module 'strict' not found.
  93. Lua error in package.lua at line 80: module 'strict' not found.
  94. Lua error in package.lua at line 80: module 'strict' not found.
  95. Lua error in package.lua at line 80: module 'strict' not found.
  96. Lua error in package.lua at line 80: module 'strict' not found.
  97. Lua error in package.lua at line 80: module 'strict' not found.
  98. Lua error in package.lua at line 80: module 'strict' not found.
  99. Lua error in package.lua at line 80: module 'strict' not found.
  100. Lua error in package.lua at line 80: module 'strict' not found.
  101. Lua error in package.lua at line 80: module 'strict' not found.
  102. Lua error in package.lua at line 80: module 'strict' not found.
  103. Lua error in package.lua at line 80: module 'strict' not found.
  104. Lua error in package.lua at line 80: module 'strict' not found.
  105. Lua error in package.lua at line 80: module 'strict' not found.
  106. Lua error in package.lua at line 80: module 'strict' not found.
  107. Lua error in package.lua at line 80: module 'strict' not found.
  108. Lua error in package.lua at line 80: module 'strict' not found.
  109. Lua error in package.lua at line 80: module 'strict' not found.
  110. Lua error in package.lua at line 80: module 'strict' not found.
  111. Lua error in package.lua at line 80: module 'strict' not found.
  112. Lua error in package.lua at line 80: module 'strict' not found.
  113. Lua error in package.lua at line 80: module 'strict' not found.
  114. Lua error in package.lua at line 80: module 'strict' not found.
  115. Lua error in package.lua at line 80: module 'strict' not found.
  116. Lua error in package.lua at line 80: module 'strict' not found.
  117. Lua error in package.lua at line 80: module 'strict' not found.
  118. Lua error in package.lua at line 80: module 'strict' not found.
  119. Lua error in package.lua at line 80: module 'strict' not found.
  120. Lua error in package.lua at line 80: module 'strict' not found.
  121. Lua error in package.lua at line 80: module 'strict' not found.
  122. Lua error in package.lua at line 80: module 'strict' not found.
  123. Lua error in package.lua at line 80: module 'strict' not found.
  124. Lua error in package.lua at line 80: module 'strict' not found.
  125. Lua error in package.lua at line 80: module 'strict' not found.
  126. Lua error in package.lua at line 80: module 'strict' not found.
  127. Lua error in package.lua at line 80: module 'strict' not found.
  128. Lua error in package.lua at line 80: module 'strict' not found.
  129. Lua error in package.lua at line 80: module 'strict' not found.
  130. Lua error in package.lua at line 80: module 'strict' not found.
  131. Lua error in package.lua at line 80: module 'strict' not found.
  132. Lua error in package.lua at line 80: module 'strict' not found.
  133. Lua error in package.lua at line 80: module 'strict' not found.

External links