Firefox OS

Firefox OS (projektinimi: "Boot to Gecko", tunnetaan myös nimellä "B2G") on Mozillan kehittämä Linux-pohjainen avoimen lähdekoodin käyttöjärjestelmä älypuhelimille ja taulutietokoneille. Se on suunniteltu sallimaan HTML5-sovellusten kommunikointi suoraan laitteen laitteiston kanssa JavaScriptin ja avoimien verkko-ohjelmointirajapintojen avulla.
Sitä on esitelty Android-yhteensopivilla älypuhelimilla. ja Raspberry Pi:llä. Firefox OS:n kehittäminen lopetettiin helmikuussa 2017. Sen seuraajiin Linux-pohjaisten mobiililaitteiden käyttöjärjestelmien ryhmässä lukeutuu esimerkiksi yhdysvaltalainen KaiOS, jota käyttäviä paranneltuja peruspuhelimia on tuotu markkinoille vuodesta 2018 (esimerkiksi Nokia 8110 4G).
Haastattelussa Mozillan tutkimusjohtaja Andreas Gal luonnehti nykyisten mobiilikäyttöjärjestelmien sarjaa "aidatuiksi puutarhoiksi" ja esittely Firefox OS:in käytettävämpänä: "Me käytämme täysin avoimia standardeja ja omisteisia ohjelmistoja tai teknologioita ei ole mukana." Gal myös teki selväksi, että koska ohjelmistopino on kokonaan HTML5:llä toteutettu, vakiintuneita kehittäjiä on jo suuri määrä. Tähän liittyy oleellisesti se, mitä Mozilla kutsuu nimellä WebAPI (verkko-ohjelmointirajapinta). Nämä ovat W3C-standardeiksi suunniteltuja standardeja, jotka pyrkivät siltaamaan ominaisuusaukon, joka tällä hetkellä on olemassa alustalle ominaisten (ns. natiivien) rakenteiden ja verkkosovellusten välillä. Näiden pyrkimysten tavoitteena on mahdollistaa kehittäjien rakentaa sovelluksia verkko-ohjelmointirajapintaa käyttämällä, ja siten sovelluksen voisi suorittaa missä tahansa standardienmukaisessa verkkoselaimessa ilman, että sovellus pitäisi uudelleenohjelmoida jokaista erilaista alustaa varten.
Historia.
25. heinäkuuta 2011 Andreas Gal, Mozilla Corporationin tutkimusjohtaja, julkisti "Boot to Gecko" -projektin mozilla.dev.platform-postituslistalla. Projektiehdotuksena oli "tavoitella täydellisen, itsenäisen avointa verkkoa varten rakennetun käyttöjärjestelmän rakentamista", jotta "voitaisiin löytää aukot, jotka pitävät verkkokehittäjät rakentamasta sovelluksia, jotka ovat - joka tavalla - iPhonelle [iOS], Androidille ja WP7:lle [Windows Phone 7] koottujen natiivisovellusten kanssa tasavertaisia."
Projektiin liittyivät uudet työalueet: uudet ohjelmointirajapinnat paljastamaan laitteen ja käyttöjärjestelmän resurssit, kuten esimerkiksi puhelin ja kamera, käyttöoikeusmalli näiden turvalliseen käyttöön verkkosivustoille, sovelluksia tarjoamaan nämä kyvyt sekä matalan tason koodia käyttöjärjestelmän käynnistämiseen Android-yhteensopivassa laitteessa.
Tämä johti asian suurimittaiseen huomiointiin blogeissa.
Ars Technican mukaan, "Mozilla sanoo, että B2G:n tausta-ajatuksena on halu näyttää, että standardeihin pohjautuvalla avoimella verkolla on mahdollisuus olla kilpailukykyinen vaihtoehto hallitsevien mobiilikäyttöjärjestelmien tarjoamien yksittäisen toimittajan sovelluskehityspinoihin verrattuna."
Heinäkuussa 2012 Boot to Geckon nimi vaihettiin nimeksi 'Firefox OS', joka viittaa Mozillan suosittuun Firefox-selaimeen, ja kuvakaappauksia ilmestyi elokuussa 2012.
Syyskuussa 2012 Strategy Analyticsin analyytikot arvioivat Firefox OS:in saavan 1%:n markkinaosuuden maailman älypuhelinmarkkinoista vuonna 2013 - ensimmäisenä vuonna, jolloin se on kaupallisesti saatavilla.
Helmikuussa 2013 Mozilla julkisti suunnitelmansa maailmanlaajuiseen Firefox OS:in kaupalliseen julkaisuun.
Ennen Mobile World Congressin alkua Barcelonassa, Mozilla ilmoitti, että Firefox OS -laitteiden ensimmäinen sarja olisi saatavilla kuluttajille Brasiliassa, Kolumbiassa, Unkarissa, Meksikossa, Montenegrossa, Puolassa, Serbiassa, Espanjassa ja Venezuelassa. Firefox on myös ilmoittanut, että LG Electronics, ZTE, Huawei ja TCL Corporation ovat sitoutuneet tekemään Firefox OS -laitteita.
Mozilla suunnitteli alun perin Firefox OS -käyttöjärjestelmästä haastajaa Androidille ja iOS:lle. Näistä haaveista luovuttiin kuitenkin joulukuussa 2015. Maaliskuussa 2016 Mozilla vähensi Firefox OS:ää kehittävältä osaltolta väkeä. Helmikuussa 2017 se ilmoitti hautaavansa yhdistettyjen laitteiden projektinsa, jonka alaisuudessa Firefox OS:ää kehitettiin.
Esittelyt.
Mobile World Congressissa vuonna 2012 Mozilla ja Telefónica ilmoittivat, että espanjalaisen teleoperaattorin aikomuksena olisi tarjota HTML5:een sekä näihin ohjelmointirajapintoihin perustuvia "avoimen verkon laitteita" vuonna 2012.
Mozilla myös ilmoitti, että projekti saa tukea Adobelta ja Qualcommilta ja että Deutsche Telekomin innovaatiolaboratorio liittyy mukaan projektiin.
Mozilla antoi "ennakkoesityksen" ohjelmistosta ja sovelluksista Samsung Galaxy S II -puhelimilla (korvaten niiden tyypillisen Android-käyttöjärjestelmän).
Elokuussa 2012 Nokian työntekijä esitteli käyttöjärjestelmää Raspberry Pi:llä. ZTE vahvisti CES 2013 -tapahtumassa, että he tuovat markkinoille Firefox OS -käyttöjärjestelmällä varustetun älypuhelimen.
Firefox OS on yhteensopiva useiden erilaisten laitteiden kanssa, joihin kuuluvat Otoro, PandaBoard, emulaattori (ARM ja x86), pöytäkotitietokoneet, Nexus S, Nexus S 4G, Samsung Galaxy S II ja Galaxy Nexus.
Joulukuussa 2012 Mozilla julkaisi toisen päivityksen ja julkaisi Firefox OS -simulaattorin version 1.0, minkä voi ladata Firefox-selaimeen lisäosaksi.
Avoimien verkkoteknologioiden pino.
Alustava ohjelmointityö koostuu kolmesta suuresta ohjelmistokerroksesta, jotka ovat Gonk, Gecko ja HTML5-kerros, joka sisältää Gaia-käyttöliittymän.
Gonk.
Gonk koostuu Linux-ytimestä ja käyttäjätilan laitteistoabstraktikerroksesta (HAL). Ydin ja useat käyttäjätilan kirjastot ovat yleisiä avoimen lähdekoodin projekteja: Linux, libusb, BlueZ, jne. Jotkin muut HAL:in osat ovat jaettuja Android-projektin kanssa: GPS ja kamera, muun muassa. Gonk on periaatteessa äärimmäisen yksinkertainen Linux-jakelu ja siten se on Geckon siirtämisen kohde; Gecko on siirretty Gonk-alustalle, aivan kuten Gecko on myös siirretty OS X:lle ja Androidille. Koska B2G-projektilla on täysi valta Gonkiin, kehittäjät voivat paljastaa Geckolle rajapintoja, joita ei ole mahdollista paljastaa muilla käyttöjärjestelmillä. Esimerkiksi Geckolla on suora pääsy puhelinominaisuuspinoon ja Gonkin näytön ruutupuskuriin, mutta sillä ei ole tätä pääsyä missään muussa käyttöjärjestelmässä.
Gecko.
Gecko on B2G:n sovellusten ajonaikainen järjestelmä. Gecko toteuttaa HTML:n, CSS:n ja JS:n avoimet standardit. Gecko sisältää verkkoyhteyspinon, grafiikkapinon, asettelumoottorin, virtuaalikoneen (JS:ää varten) ja porttauskerrokset.
Gaia.
Gaia on Firefox OS:in käyttöliittymä ja se vastaa kaikesta näytölle piirtyvästä. Oletuksena Gaiaan kuuluu lukitusnäyttö, kotinäyttö, puhelinnumeronvalitsin sekä yhteystietosovellus, tekstiviestisovellus, kamerasovellus sekä galleriatuki ja klassiset puhelinsovellukset: sähköposti, kalenteri, laskin ja kauppapaikka. Gaia on kirjoitettu kokonaan HTML-, CSS- ja JavaScript-kielillä. Se kommunikoi käyttöjärjestelmän kanssa avoimien verkko-ohjelmointirajapintojen avulla, jotka Gecko toteuttaa. Koska se käyttää vain standardeja verkko-ohjelmointirajapintoja, sen on mahdollista toimia muilla käyttöjärjestelmillä ja verkkoselaimilla.
Käyttöliittymää varten Mozilla kehitti Fira-fontit.
Kritiikkiä.
On sanottu, että se vie sovellusten jakelun takaisin iPhonea edeltävälle aikakaudelle, jossa sovelluskehittäjän täytyy huolehtia useista eri operaattoreista ja heidän sovelluskauppapaikoistaan. Mutta toinen lähde sanoi, että laitteiden merkitys on pienempi kuin sen, mitä ne pystyvät suorittamaan, sillä sovellukset - ei laitteisto - tekevät tai rikkovat mobiilialustan nykypäivänä ja etuna on, että sovellusta ei tarvitse asentaa käyttääkseen sitä ja Mozilla hyödyntää tätä Firefox OS:iin sisäänrakennetulla hakuominaisuudella, joka on alustan ydinominaisuus. Jotkin analyytikot ovat ilmaisseet huolensa verkkopohjaisen alustan löytömekanismiin liittyen, mutta Mozillan edustaja on vakuuttanut, että he "vaativat ohjelmistonkehittäjiä pakkaamaan ladattavat sovellukset zip-tiedostoon, jonka on salausteknisesti allekirjoittanut se kauppapaikka, mistä sovellus on kotoisin, jotta voidaan olla varmoja, että se on arvioitu" ja että "hakutulosten sovelluksille annetaan vain rajattu käyttöoikeus laitteen ohjelmointirajapintoihin ja sovelluksiin, ellei käyttäjä itse myönnä lisäoikeuksia".