FirefoxOS

by Med Manai ( aka Mack ) - Mozilla Tunisia Team

About me

  • Etudiant à l'ISI
  • Membre & Chef de projet "FirefoxOS Project" à Freeways Club
  • Membre & Lead Designer à Mozilla Tunisia
  • Représentant Mozilla en Tunisie

Why do we need
a new mobile OS ?

Mobile = iOS | Android ?

$ ?!


Does my smartphone
worth all that money ?

Tracking !!

I believe in Open Source

Others..

What about an OS:

  • 100% Open Source
  • Gratos !
  • Same functionnalities
    with ~10% of the price
  • Based on the new
    Web technologies
  • No need to buy a new device
    for the lastest update
  • FirefoxOS gives you
    that and more..

    C'est quoi ?


    Un système d'exploitation open source développé par Mozilla pour les smartphones ( +tablettes ) basé sur les nouvelles technologies du Web

    Quoi de spécial ?


    Faisons une comparaison

    What you need
    for an iOS App

    What you need
    for an Android App

    What you need
    for a FirefoxOS App

    This is awesome right ?!

    Architecture & WebAPI

    Trois couches

    1. Gonk

    2. Gecko

    3. Gaia

    Gonk

    1. Linux Kernel

    2. Android fork

    Gecko

    1. Implémente les standars du HTML

    2. Moteur de rendu HTML de Firefox

    3. Machine virtuelle JavaScript

    4. Implémente les WebAPIs

    Gaia

    1. UI

    2. Utilise les WebAPIs

    3. Écrite en HTML5 + CSS3 + JS

    Mobile World
    Congress 2013

    Photo de partenaires

    23 partenaires

    Les constructeurs

    • ZTE
    • Alcatel
    • Geeksphone
    • LG
    • Sony ( loading.. 50% )
    • Huwawei ( loading.. 50% )

    ZTE Open

    Alcatel One Touch Fire

    Geeksphone Keon & Peak

    Geeksphone Peak+

    LG D300 Fireweb

    Coming : Sony Xperia device(s)
    & a Huwawei device

    Where are the apps ?

    Mozilla MarketPlace

    The power of the Web
    in your hands

    HTML5 is the wonder of the world

    Games in HTML5 will be like



    Hell no !

    With Firefox and Gecko
    gaming is no longer
    the same

    Le marché

    Concurrer les grands ?
    On a notre propre marché

    FirefoxOS in 12 coutries so far

    FirefoxOS en Tunisie ?
    let's make the first step

    You are about to see


    magic

    Environnement de travail

    https://addons.mozilla.org/fr/firefox/addon/firefox-os-simulator/

    Hello World !

    index.html

    
    <body>
      <h3>Hello World ! :)</h3>
    </body>
                  

    Hello World !

    manifest.webapp

    
    {
      "name":"Hello World",
      "description":"Hello world pour le workshop Netlinks Event",
      "launch_path":"/index.html",
      "developer": {
        "name":"medmack",
        "url":"http://github.com/MedMack"
      },
      "default_locale":"en"
    }
                

    Les WebAPIs

    La batterie

    
    var battery = navigator.battery;
    battery.level;
    battery.charging;
    battery.chargingTime;
    battery.dischargingTime;
                

    Avec un EventListener

    
    battery.addEventListener("levelchange", myEventHandler, false);
    battery.addEventListener("chargingchange", myEventHandler, false);
    battery.addEventListener("chargintimechange", myEventHandler, false);
    battery.addEventListener("dischargingtimechange", myEventHandler, false);
              

    Vibration API

    
    navigator.vibrate(100);
    navigator.vibrate([100,50,200]);
    navigator.vibrate(0);
    navigator.vibrate([]);
              

    Les Notifications

    
    var myNotification = navigator.mozNotification.createNotification(
                        "Hello", 
                        "Juste pour dire salut :p", 
                        iconURL);
    //myNotification.onclick = function () {}
    //myNotification.onclose = function () {}
    
    myNotification.show();
              

    manifest

    
    "permissions":{
      "desktop-notification":{
        "description":"Accès aux notification"
      }
    }
              

    Capteurs de proximité

    
    window.addEventListener('deviceproximity', myEventHandler);
    function myEventHandler(event){
      var val = event.value;
      var max = event.max;
      var min = event.min;
      //TODO
    }
            

    Permission :

    
    "permissions":{
      "background-sensor":{
      }
    }
            

    Téléphonie

    
    var tel = navigator.mozTelephony;
    var muted = tel.muted; //modifiable
    var speakers = tel.speackerEnabled; // modifiable
    var unAppel = tel.dial("+21650123456");
    unAppel.hangUp();
    tel.onincoming = function(event){
      var appel = event.call;
      var num = appel.number;
      appel.anwser();
    };
      

    Permission

    
    telephony
                

    WebSMS

    
    var sms = navigator.mozSMS;
    sms.send("+21650123456", "Bonjour :)");
    sms.onreveived = function (event){
      var msg = event.message;
    };
      

    Permission

    
    sms
                

    Et plein d'autres WebAPIS

    • WebBluetooth
    • Camera API
    • WebActivities
    • Contact API
    • DeviceStorage API
    • TCP Socket API
    • Ambiant Light Event
    • Geolocation API
    • Alarm API

    API à venir

    • CalendarAPI
    • WebRTC
    • WebNFC
    • WebUSB
    • Sync API

    Publier

    Manifest checker

    https://marketplace.mozilla.org/developers

    Contact Me

    • Email : Mannai.med.mack@gmail.com
    • Twitter : @MedMannai

    Contact Mozilla Tunisia


    • Site Web: Mozilla-tunisia.org
    • IRC: mozilla-tunisia.org/IRC
    • Email: contact@mozilla-tunisia.org
    • Facebook: Mozilla Tunisia
    • Twitter: @MozillaTunisia

    Merci :)