Firefox OS Apps

From Setup to Submission

What is Firefox OS?

Firefox OS Homescreen
  • A free, open-source operating system powering phones, tablets, and TVs
  • Everything is the Web—HTML, CSS, and JavaScript
  • APIs give access to device capabilities

Who uses Firefox OS?

Takeaways

  • Localization is important
  • Many first-time smartphone users
  • Lower-powered devices
  • Prefer offline

What makes a Firefox OS app?

It’s just a Web app

. . . or is it?

The app manifest


{
  "name": "My App",
  "description": "An amazing app that does things",
  "launch_path": "/index.html",
  "icons": {
    "128": "/images/icon128.png",
    "512": "/images/icon512.png"
  },
  "developer": {
    "name": "Garrett Nay",
    "url": "http://garrettn.github.io"
  },
  "type": "privileged"
}
            

How do you publish an app?

Firefox Marketplace

Firefox Marketplace

Publication options

Packaged Hosted
Downloaded in a zip Hosted on a server
Offline by default Extra work for offline
Excellent device integration (priviliged APIs) Limited device integration
Limited space for assets No practical limit on space
Potentially longer review time Shorter review time

Permission levels

web
no additional permissions
privileged
special permissions
native-like capabilities
certified
internal apps only
eventual priviliged APIs

Gotchas

Content Security Policy

  • Remote scripts are banned
  • Inline scripts are banned
  • javascript: URIs are banned
  • eval is disallowed
  • The function constructor is banned
  • Dynamic code execution with setTimeout and setInterval is banned
  • Remote Web Workers are disallowed
  • Script tags may not be created with remote URLs
  • Plugins are banned
  • Remote styles are banned

Privacy

You must write a privacy policy before submitting.

Plan ahead for how you will handle user data.

Let’s do it!

Links

Thank you!

https://joind.in/13993