SlideShare a Scribd company logo
1 of 20
Download to read offline
Markus Greve
November 2013

Kochan & Partner
Brand
Design
Development

A Firefox OS app in five minutes
Short introduction
A. Introduction
Firefox OS Simulator
Same Origin Policy
WebApp Manifest
Installation

B. Sample app
Overview source files
Assets and styleguide
Deployment to simulator
Deployment to »Firefox Marketplace«
Getting started: 6 steps

2

Kochan & Partner Brand Design Development
A. Introduction

3

Kochan & Partner Brand Design Development
Firefox OS Simulator

Simulator 4.0

Geeksphone Keon

Firefox OS 1.1
320 x 480

Firefox OS 1.1 or 1.2
320 x 480, 3.5 inch, 165 ppi
Single core, 800 MHz
RAM 512 MB
Internal HD 4 GB
Camera 3.1 MP

Home button

Simulate location

Rotate phone
portrait / landscape

4

Kochan & Partner Brand Design Development
Firefox OS Simulator

AddOn for Firefox 24/25
https://addons.mozilla.org/de/firefox/addon/firefox-os-simulator
Hint

5

Simulator 4.0 on Firefox 24/25 crashes on OS X 10.9 Mavericks.
Use Firefox 26b and »App Manager« to install simulator.
Kochan & Partner Brand Design Development
Firefox OS Simulator – Firefox 26 beta

Firefox OS 1.2
No more direct buttons for orientation and location?!
6

Kochan & Partner Brand Design Development
Same Origin Policy
App access is sandboxed
Installation of apps is limited to same origin as manifest
– domain
– protocol
– port
Hint

7

You need one subdomain per app!

Kochan & Partner Brand Design Development
WebApp Manifest
Named usually manifest.webapp
JSON file (~ info.plist for iOS apps)
https://developer.mozilla.org/en-US/Apps/Developing/Manifest

Mime-Type
AddType application/x-web-app-manifest+json .webapp

Hint

Stick to the data types of the documentation, e.g.

"fullscreen": "true" // not boolean true
"version": "0.1" // not floating point 0.1

Validation
https://marketplace.firefox.com/developers/validator

8

Kochan & Partner Brand Design Development
WebApp Manifest: Sample (1)
{
"name":

"Test App",

"version":

"0.1",

"description": "Short description of the app.",
"developer": {
"name":
"Markus Greve",
"url":
"http://www.kochan.de"
},
"launch_path": "/index.html",
"icons": {
"120":
"90":
//...
},

"/assets/icon-120.png",
"/assets/icon-90.png",

//...

9

Kochan & Partner Brand Design Development
WebApp Manifest: Sample (2)

//...
"orientation":

["portrait"],

"fullscreen":

"true",

"default_locale": "en",
"installs_allowed_from": [
"https://marketplace.firefox.com",
"https://app-specific-subdomain.kochan.de"
]
}

10

Kochan & Partner Brand Design Development
WebApp Manifest: Overview
activities

locales

appcache_path

manifest values

chrome

messages

csp

name*

default_locale

orientation

description*

origin

developer { name, url }

permissions

fullscreen

redirects

icons { 256, 128, 32 }

type

installs_allowed_from

version

launch_path

* required
11

Kochan & Partner Brand Design Development
Installation
Mozilla-specific API navigator.mozApp
Check if already installed
navigator.mozApp.checkInstalled(url)

Perform installation
navigator.mozApp.install(url, [receipts])

12

Kochan & Partner Brand Design Development
Installation: Sample
window.onload = function()
{
var check = navigator.mozApps.checkInstalled('http://...manifest.webapp');
check.onsuccess = function() {
if (check.result) {
// installed - nothing to do here, proceed
} else {
// not installed
var install = navigator.mozApps.install('http://...manifest.webapp');
install.onsuccess = function() {
alert('Installation successful!');
};
install.onerror = function() {
alert('Install failed, error: ' + this.error.name);
};
}
};
check.onerror = function() {
alert('Error checking installation status: ' + this.error.message);
};
}

13

Kochan & Partner Brand Design Development
B. Sample app

14

Kochan & Partner Brand Design Development
Overview source files

2

manifest.webapp

3
1

index.html

Download Package
http://lab.kochan.de/mg/fox/package.zip
15

some assets

icon-32.png

icon-128.png

icon-256.png

Kochan & Partner Brand Design Development
Assets and styleguide
Styleguide for user interface
https://www.mozilla.org/en-US/styleguide/products/firefox-os

Hint

Powerpoint template

– Draw icon shapes
– Re-arrange object order to keep overlay on top
– Export slide as image (about 3000 x 3000 px)
– cutout transparent image areas
– Re-size images to your needs
16

Kochan & Partner Brand Design Development
Deployment to Simulator
Parsed manifest meta data
App name, description, icon
Developer

Live-Debugging
– console
– inspector
– ...

URL of the webapps manifest file

17

Kochan & Partner Brand Design Development
Deployment to »Firefox Marketplace«
https://marketplace.firefox.com/developers/

Device: Phone, Browser, Firefox Mobile/Tablet on Android
Pricing: billing just in a couple of countries – not in Germany
Human based-approval
Position in queue and estimated time of approval is displayed after upload.
E.g. #37 of 37. About 6 days remaining.
18

Kochan & Partner Brand Design Development
Getting started: 6 steps

1

Install Firefox 26 beta

2

Install App-Manager and simulator: about:app-manager

3

Grab a (sub-)domain

4

Download simple starter package
http://lab.kochan.de/mg/fox/package.zip

5
6

19

Adjust path settings in index.html and manifest.webapp
Deploy your app to the simulator and see it work together

Kochan & Partner Brand Design Development
Thanx.

Kochan & Partner
Brand
Design
Development

© 2013 – All rights reserved
Kochan & Partner GmbH
Hirschgartenallee 25
D–80639 Munich
Phone +49 89 178 49 78
Fax +49 89 178 1235
kontakt@kochan.de
www.kochan.de

More Related Content

What's hot

Selenium_WebDriver_Java_TestNG
Selenium_WebDriver_Java_TestNGSelenium_WebDriver_Java_TestNG
Selenium_WebDriver_Java_TestNGBasul Asahab
 
Tools that help and speed up RWD dev
Tools that help  and speed up RWD devTools that help  and speed up RWD dev
Tools that help and speed up RWD devMatjaž Korošec
 
Guide To Effective Cross Browser Testing
Guide To Effective Cross Browser TestingGuide To Effective Cross Browser Testing
Guide To Effective Cross Browser TestingDaniel Herken
 
Production Readiness Testing Using Spark
Production Readiness Testing Using SparkProduction Readiness Testing Using Spark
Production Readiness Testing Using SparkSalesforce Engineering
 
Using galen framework for automated cross browser layout testing
Using galen framework for automated cross browser layout testingUsing galen framework for automated cross browser layout testing
Using galen framework for automated cross browser layout testingSarah Elson
 
DotNet Cologne 2015 - Windows 10 AppDev, Teil2: Coole APIs - (Daniel Meixner)
DotNet Cologne 2015 - Windows 10 AppDev, Teil2: Coole APIs - (Daniel Meixner)DotNet Cologne 2015 - Windows 10 AppDev, Teil2: Coole APIs - (Daniel Meixner)
DotNet Cologne 2015 - Windows 10 AppDev, Teil2: Coole APIs - (Daniel Meixner)Daniel Meixner
 
Selenium and Open Source Advanced Testing
Selenium and Open Source Advanced TestingSelenium and Open Source Advanced Testing
Selenium and Open Source Advanced TestingAustin Marie Gay
 
Automation testing on ios platform using appium
Automation testing on ios platform using appiumAutomation testing on ios platform using appium
Automation testing on ios platform using appiumAmbreen Khan
 
Live Source - an Agile Toolkit
Live Source - an Agile ToolkitLive Source - an Agile Toolkit
Live Source - an Agile ToolkitAlline Oliveira
 
Dont fear software patching for operational technology
Dont fear software patching for operational technologyDont fear software patching for operational technology
Dont fear software patching for operational technologyJo Ee Liew
 
Cross browser Testing on Mobile Devices
Cross browser Testing on Mobile DevicesCross browser Testing on Mobile Devices
Cross browser Testing on Mobile DevicesBabuDevanandam
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with AppiumManoj Kumar Kumar
 
Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code baseSingle Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code baseRalf Sternberg
 
Play勉強会 playをGAEで動かそう!
Play勉強会 playをGAEで動かそう!Play勉強会 playをGAEで動かそう!
Play勉強会 playをGAEで動かそう!Daisuke Kasuya
 
Appium workshop technopark trivandrum
Appium workshop technopark trivandrumAppium workshop technopark trivandrum
Appium workshop technopark trivandrumSyam Sasi
 
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs
 

What's hot (20)

Selenium_WebDriver_Java_TestNG
Selenium_WebDriver_Java_TestNGSelenium_WebDriver_Java_TestNG
Selenium_WebDriver_Java_TestNG
 
Tools that help and speed up RWD dev
Tools that help  and speed up RWD devTools that help  and speed up RWD dev
Tools that help and speed up RWD dev
 
Guide To Effective Cross Browser Testing
Guide To Effective Cross Browser TestingGuide To Effective Cross Browser Testing
Guide To Effective Cross Browser Testing
 
Production Readiness Testing Using Spark
Production Readiness Testing Using SparkProduction Readiness Testing Using Spark
Production Readiness Testing Using Spark
 
Using galen framework for automated cross browser layout testing
Using galen framework for automated cross browser layout testingUsing galen framework for automated cross browser layout testing
Using galen framework for automated cross browser layout testing
 
DotNet Cologne 2015 - Windows 10 AppDev, Teil2: Coole APIs - (Daniel Meixner)
DotNet Cologne 2015 - Windows 10 AppDev, Teil2: Coole APIs - (Daniel Meixner)DotNet Cologne 2015 - Windows 10 AppDev, Teil2: Coole APIs - (Daniel Meixner)
DotNet Cologne 2015 - Windows 10 AppDev, Teil2: Coole APIs - (Daniel Meixner)
 
Selenium and Open Source Advanced Testing
Selenium and Open Source Advanced TestingSelenium and Open Source Advanced Testing
Selenium and Open Source Advanced Testing
 
Automation testing on ios platform using appium
Automation testing on ios platform using appiumAutomation testing on ios platform using appium
Automation testing on ios platform using appium
 
Live Source - an Agile Toolkit
Live Source - an Agile ToolkitLive Source - an Agile Toolkit
Live Source - an Agile Toolkit
 
Appium overview
Appium overviewAppium overview
Appium overview
 
Dont fear software patching for operational technology
Dont fear software patching for operational technologyDont fear software patching for operational technology
Dont fear software patching for operational technology
 
Appium solution
Appium solutionAppium solution
Appium solution
 
Cross browser Testing on Mobile Devices
Cross browser Testing on Mobile DevicesCross browser Testing on Mobile Devices
Cross browser Testing on Mobile Devices
 
Installing the java sdk
Installing the java sdkInstalling the java sdk
Installing the java sdk
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
 
Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code baseSingle Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code base
 
Selenium Automation
Selenium AutomationSelenium Automation
Selenium Automation
 
Play勉強会 playをGAEで動かそう!
Play勉強会 playをGAEで動かそう!Play勉強会 playをGAEで動かそう!
Play勉強会 playをGAEで動かそう!
 
Appium workshop technopark trivandrum
Appium workshop technopark trivandrumAppium workshop technopark trivandrum
Appium workshop technopark trivandrum
 
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
 

Viewers also liked

Viewers also liked (6)

Muhammad Khubaib Ahmad
Muhammad Khubaib AhmadMuhammad Khubaib Ahmad
Muhammad Khubaib Ahmad
 
Ilusionar para crecer
Ilusionar para crecerIlusionar para crecer
Ilusionar para crecer
 
Start Tabletcafé Openbare Bibliotheek Utrecht
Start Tabletcafé Openbare Bibliotheek UtrechtStart Tabletcafé Openbare Bibliotheek Utrecht
Start Tabletcafé Openbare Bibliotheek Utrecht
 
Edraak-Certificate (1)
Edraak-Certificate (1)Edraak-Certificate (1)
Edraak-Certificate (1)
 
Google for work 2016
Google for work 2016Google for work 2016
Google for work 2016
 
Digitaal jong en alert blijven najaar 2016
Digitaal jong en alert blijven najaar 2016Digitaal jong en alert blijven najaar 2016
Digitaal jong en alert blijven najaar 2016
 

Similar to A Firefox OS app in five minutes

Fixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaFixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaChristian Heilmann
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019Thomas Daly
 
M365 global developer bootcamp 2019 PA
M365 global developer bootcamp 2019  PAM365 global developer bootcamp 2019  PA
M365 global developer bootcamp 2019 PAThomas Daly
 
Sencha touchonbb10 bootcamp
Sencha touchonbb10 bootcampSencha touchonbb10 bootcamp
Sencha touchonbb10 bootcampn_adam_stanley
 
Firebase Basics - Dialog Demo for Group Tech Staff
Firebase Basics - Dialog Demo for Group Tech StaffFirebase Basics - Dialog Demo for Group Tech Staff
Firebase Basics - Dialog Demo for Group Tech StaffTharaka Devinda
 
Cordova Mobile Application Developer Certification
Cordova Mobile Application Developer CertificationCordova Mobile Application Developer Certification
Cordova Mobile Application Developer CertificationVskills
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionThomas Daly
 
全端網頁開發起手式:建構並佈署Angular網頁應用程式至GCP
全端網頁開發起手式:建構並佈署Angular網頁應用程式至GCP全端網頁開發起手式:建構並佈署Angular網頁應用程式至GCP
全端網頁開發起手式:建構並佈署Angular網頁應用程式至GCPKun-Neng Hung
 
Cordova Tutorial
Cordova TutorialCordova Tutorial
Cordova TutorialJacky Chen
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGapJoseph Labrecque
 
20141216 멜팅팟 부산 세션 ii - cross platform 개발
20141216 멜팅팟 부산   세션 ii - cross platform 개발20141216 멜팅팟 부산   세션 ii - cross platform 개발
20141216 멜팅팟 부산 세션 ii - cross platform 개발영욱 김
 
(Christian heilman) firefox
(Christian heilman) firefox(Christian heilman) firefox
(Christian heilman) firefoxNAVER D2
 
Adobe AIR 2.5 Beta for Android
Adobe AIR 2.5 Beta for AndroidAdobe AIR 2.5 Beta for Android
Adobe AIR 2.5 Beta for AndroidMark Doherty
 
PHP on Google App Engine
PHP on Google App EnginePHP on Google App Engine
PHP on Google App Enginetim4h0blyn
 
Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Zhentian Wan
 
Building with Firebase
Building with FirebaseBuilding with Firebase
Building with FirebaseMike Fowler
 
Digpen 7: Building mobile apps with PhoneGap
Digpen 7: Building mobile apps with PhoneGapDigpen 7: Building mobile apps with PhoneGap
Digpen 7: Building mobile apps with PhoneGapChristian Cook
 

Similar to A Firefox OS app in five minutes (20)

Fixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaFixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World Romania
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019
 
M365 global developer bootcamp 2019 PA
M365 global developer bootcamp 2019  PAM365 global developer bootcamp 2019  PA
M365 global developer bootcamp 2019 PA
 
Sencha touchonbb10 bootcamp
Sencha touchonbb10 bootcampSencha touchonbb10 bootcamp
Sencha touchonbb10 bootcamp
 
Firebase Basics - Dialog Demo for Group Tech Staff
Firebase Basics - Dialog Demo for Group Tech StaffFirebase Basics - Dialog Demo for Group Tech Staff
Firebase Basics - Dialog Demo for Group Tech Staff
 
Cordova Mobile Application Developer Certification
Cordova Mobile Application Developer CertificationCordova Mobile Application Developer Certification
Cordova Mobile Application Developer Certification
 
PWA Cheat Sheet 2023
PWA Cheat Sheet 2023PWA Cheat Sheet 2023
PWA Cheat Sheet 2023
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx Version
 
全端網頁開發起手式:建構並佈署Angular網頁應用程式至GCP
全端網頁開發起手式:建構並佈署Angular網頁應用程式至GCP全端網頁開發起手式:建構並佈署Angular網頁應用程式至GCP
全端網頁開發起手式:建構並佈署Angular網頁應用程式至GCP
 
Cordova Tutorial
Cordova TutorialCordova Tutorial
Cordova Tutorial
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
 
20141216 멜팅팟 부산 세션 ii - cross platform 개발
20141216 멜팅팟 부산   세션 ii - cross platform 개발20141216 멜팅팟 부산   세션 ii - cross platform 개발
20141216 멜팅팟 부산 세션 ii - cross platform 개발
 
(Christian heilman) firefox
(Christian heilman) firefox(Christian heilman) firefox
(Christian heilman) firefox
 
Adobe AIR 2.5 Beta for Android
Adobe AIR 2.5 Beta for AndroidAdobe AIR 2.5 Beta for Android
Adobe AIR 2.5 Beta for Android
 
PHP on Google App Engine
PHP on Google App EnginePHP on Google App Engine
PHP on Google App Engine
 
Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)
 
Building with Firebase
Building with FirebaseBuilding with Firebase
Building with Firebase
 
Progressive Web Apps - deep dive
Progressive Web Apps - deep diveProgressive Web Apps - deep dive
Progressive Web Apps - deep dive
 
Digpen 7: Building mobile apps with PhoneGap
Digpen 7: Building mobile apps with PhoneGapDigpen 7: Building mobile apps with PhoneGap
Digpen 7: Building mobile apps with PhoneGap
 
DevOps Heroes 2019
DevOps Heroes 2019DevOps Heroes 2019
DevOps Heroes 2019
 

More from Markus Greve

Mobility – Do's und Don't im mobilen Web
Mobility – Do's und Don't im mobilen WebMobility – Do's und Don't im mobilen Web
Mobility – Do's und Don't im mobilen WebMarkus Greve
 
Mobile Patterns - Wie Apps und Co. digitale Interfaces revolutionieren
Mobile Patterns - Wie Apps und Co. digitale Interfaces revolutionierenMobile Patterns - Wie Apps und Co. digitale Interfaces revolutionieren
Mobile Patterns - Wie Apps und Co. digitale Interfaces revolutionierenMarkus Greve
 
HTML5 für Entwickler: Part 2, 2014
HTML5 für Entwickler: Part 2, 2014HTML5 für Entwickler: Part 2, 2014
HTML5 für Entwickler: Part 2, 2014Markus Greve
 
HTML5 für Entwickler: Part 1, 2014
HTML5 für Entwickler: Part 1, 2014HTML5 für Entwickler: Part 1, 2014
HTML5 für Entwickler: Part 1, 2014Markus Greve
 
Icons im Web: Roundtrip for a better web experience
Icons im Web: Roundtrip for a better web experienceIcons im Web: Roundtrip for a better web experience
Icons im Web: Roundtrip for a better web experienceMarkus Greve
 
HTML5 für Entwickler: Part 1, 2 und 3, 2013
HTML5 für Entwickler: Part 1, 2 und 3, 2013HTML5 für Entwickler: Part 1, 2 und 3, 2013
HTML5 für Entwickler: Part 1, 2 und 3, 2013Markus Greve
 
HTML5 für Entwickler: Part 1 und 2, 2013
HTML5 für Entwickler: Part 1 und 2, 2013HTML5 für Entwickler: Part 1 und 2, 2013
HTML5 für Entwickler: Part 1 und 2, 2013Markus Greve
 

More from Markus Greve (8)

Mobility – Do's und Don't im mobilen Web
Mobility – Do's und Don't im mobilen WebMobility – Do's und Don't im mobilen Web
Mobility – Do's und Don't im mobilen Web
 
Mobile Patterns - Wie Apps und Co. digitale Interfaces revolutionieren
Mobile Patterns - Wie Apps und Co. digitale Interfaces revolutionierenMobile Patterns - Wie Apps und Co. digitale Interfaces revolutionieren
Mobile Patterns - Wie Apps und Co. digitale Interfaces revolutionieren
 
HTML5 für Entwickler: Part 2, 2014
HTML5 für Entwickler: Part 2, 2014HTML5 für Entwickler: Part 2, 2014
HTML5 für Entwickler: Part 2, 2014
 
HTML5 für Entwickler: Part 1, 2014
HTML5 für Entwickler: Part 1, 2014HTML5 für Entwickler: Part 1, 2014
HTML5 für Entwickler: Part 1, 2014
 
Icons im Web: Roundtrip for a better web experience
Icons im Web: Roundtrip for a better web experienceIcons im Web: Roundtrip for a better web experience
Icons im Web: Roundtrip for a better web experience
 
HTML5 für Entwickler: Part 1, 2 und 3, 2013
HTML5 für Entwickler: Part 1, 2 und 3, 2013HTML5 für Entwickler: Part 1, 2 und 3, 2013
HTML5 für Entwickler: Part 1, 2 und 3, 2013
 
HTML5 für Entwickler: Part 1 und 2, 2013
HTML5 für Entwickler: Part 1 und 2, 2013HTML5 für Entwickler: Part 1 und 2, 2013
HTML5 für Entwickler: Part 1 und 2, 2013
 
Wbfntdy 2012
Wbfntdy 2012Wbfntdy 2012
Wbfntdy 2012
 

Recently uploaded

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Recently uploaded (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

A Firefox OS app in five minutes

  • 1. Markus Greve November 2013 Kochan & Partner Brand Design Development A Firefox OS app in five minutes Short introduction
  • 2. A. Introduction Firefox OS Simulator Same Origin Policy WebApp Manifest Installation B. Sample app Overview source files Assets and styleguide Deployment to simulator Deployment to »Firefox Marketplace« Getting started: 6 steps 2 Kochan & Partner Brand Design Development
  • 3. A. Introduction 3 Kochan & Partner Brand Design Development
  • 4. Firefox OS Simulator Simulator 4.0 Geeksphone Keon Firefox OS 1.1 320 x 480 Firefox OS 1.1 or 1.2 320 x 480, 3.5 inch, 165 ppi Single core, 800 MHz RAM 512 MB Internal HD 4 GB Camera 3.1 MP Home button Simulate location Rotate phone portrait / landscape 4 Kochan & Partner Brand Design Development
  • 5. Firefox OS Simulator AddOn for Firefox 24/25 https://addons.mozilla.org/de/firefox/addon/firefox-os-simulator Hint 5 Simulator 4.0 on Firefox 24/25 crashes on OS X 10.9 Mavericks. Use Firefox 26b and »App Manager« to install simulator. Kochan & Partner Brand Design Development
  • 6. Firefox OS Simulator – Firefox 26 beta Firefox OS 1.2 No more direct buttons for orientation and location?! 6 Kochan & Partner Brand Design Development
  • 7. Same Origin Policy App access is sandboxed Installation of apps is limited to same origin as manifest – domain – protocol – port Hint 7 You need one subdomain per app! Kochan & Partner Brand Design Development
  • 8. WebApp Manifest Named usually manifest.webapp JSON file (~ info.plist for iOS apps) https://developer.mozilla.org/en-US/Apps/Developing/Manifest Mime-Type AddType application/x-web-app-manifest+json .webapp Hint Stick to the data types of the documentation, e.g. "fullscreen": "true" // not boolean true "version": "0.1" // not floating point 0.1 Validation https://marketplace.firefox.com/developers/validator 8 Kochan & Partner Brand Design Development
  • 9. WebApp Manifest: Sample (1) { "name": "Test App", "version": "0.1", "description": "Short description of the app.", "developer": { "name": "Markus Greve", "url": "http://www.kochan.de" }, "launch_path": "/index.html", "icons": { "120": "90": //... }, "/assets/icon-120.png", "/assets/icon-90.png", //... 9 Kochan & Partner Brand Design Development
  • 10. WebApp Manifest: Sample (2) //... "orientation": ["portrait"], "fullscreen": "true", "default_locale": "en", "installs_allowed_from": [ "https://marketplace.firefox.com", "https://app-specific-subdomain.kochan.de" ] } 10 Kochan & Partner Brand Design Development
  • 11. WebApp Manifest: Overview activities locales appcache_path manifest values chrome messages csp name* default_locale orientation description* origin developer { name, url } permissions fullscreen redirects icons { 256, 128, 32 } type installs_allowed_from version launch_path * required 11 Kochan & Partner Brand Design Development
  • 12. Installation Mozilla-specific API navigator.mozApp Check if already installed navigator.mozApp.checkInstalled(url) Perform installation navigator.mozApp.install(url, [receipts]) 12 Kochan & Partner Brand Design Development
  • 13. Installation: Sample window.onload = function() { var check = navigator.mozApps.checkInstalled('http://...manifest.webapp'); check.onsuccess = function() { if (check.result) { // installed - nothing to do here, proceed } else { // not installed var install = navigator.mozApps.install('http://...manifest.webapp'); install.onsuccess = function() { alert('Installation successful!'); }; install.onerror = function() { alert('Install failed, error: ' + this.error.name); }; } }; check.onerror = function() { alert('Error checking installation status: ' + this.error.message); }; } 13 Kochan & Partner Brand Design Development
  • 14. B. Sample app 14 Kochan & Partner Brand Design Development
  • 15. Overview source files 2 manifest.webapp 3 1 index.html Download Package http://lab.kochan.de/mg/fox/package.zip 15 some assets icon-32.png icon-128.png icon-256.png Kochan & Partner Brand Design Development
  • 16. Assets and styleguide Styleguide for user interface https://www.mozilla.org/en-US/styleguide/products/firefox-os Hint Powerpoint template – Draw icon shapes – Re-arrange object order to keep overlay on top – Export slide as image (about 3000 x 3000 px) – cutout transparent image areas – Re-size images to your needs 16 Kochan & Partner Brand Design Development
  • 17. Deployment to Simulator Parsed manifest meta data App name, description, icon Developer Live-Debugging – console – inspector – ... URL of the webapps manifest file 17 Kochan & Partner Brand Design Development
  • 18. Deployment to »Firefox Marketplace« https://marketplace.firefox.com/developers/ Device: Phone, Browser, Firefox Mobile/Tablet on Android Pricing: billing just in a couple of countries – not in Germany Human based-approval Position in queue and estimated time of approval is displayed after upload. E.g. #37 of 37. About 6 days remaining. 18 Kochan & Partner Brand Design Development
  • 19. Getting started: 6 steps 1 Install Firefox 26 beta 2 Install App-Manager and simulator: about:app-manager 3 Grab a (sub-)domain 4 Download simple starter package http://lab.kochan.de/mg/fox/package.zip 5 6 19 Adjust path settings in index.html and manifest.webapp Deploy your app to the simulator and see it work together Kochan & Partner Brand Design Development
  • 20. Thanx. Kochan & Partner Brand Design Development © 2013 – All rights reserved Kochan & Partner GmbH Hirschgartenallee 25 D–80639 Munich Phone +49 89 178 49 78 Fax +49 89 178 1235 kontakt@kochan.de www.kochan.de