FIREFOX OS: THE WHAT, WHY, AND HOW
Rob Lauer
Mobile Developer - University of Wisconsin
@rdlauer
the what
July 2011 - "Boot to Gecko"
"...find
the gaps that keep web developers from being able to build apps that are – in
every way – the equals of native apps built for iOS, Android, and Windows Phone." - Dr. Andreas Gal
where have we heard that before?
what is phonegap?
- Open Source
- Native Wrapper for HTML5 App
- Allows You to Install HTML5 App as "Native"
- Exposes JavaScript APIs to Access Device Features
- Support for iOS, Android, WP7/8, BB
- Future Support for OS X, Win8, FFOS(?)
current mobile device ecosystem
the scary future of mobile!
Not to mention...
who is working on this problem?
who is not working on this problem?
the open web
...but what is it?
- Open Source
- Open Standards
GONK? GECKO? GAIA?
Gonk is...the hardware abstraction layer.
Gecko is...the application runtime.
Gaia is...the user interface (written in HTML5!)
that was the what
demo time!
webapis and web activities
WebAPI is a JavaScript interface that allows you to access native device features (i.e. vibration, geolocation, alarms, etc).
Web Activity is a WebAPI with elevated permissions (i.e. SMS, mail, camera, etc). Delegates activity to another function.
list of Regular apis
- Vibration API
- Screen Orientation
- Geolocation API
- Mouse Lock API
- Open WebApps
- Network Information API
- Battery Status API
- Alarm API
Push Notifications API
WebFM API
WebPayment
IndexedDB
Ambient light sensor
Proximity sensor
Notification
FMRadio
list of privileged apis
-
Device Storage API
-
Browser API
-
TCP Socket API
-
Contacts API
-
systemXHR
list of certified apis
-
WebTelephony
-
WebSMS
-
Idle API
-
Settings API
-
Power Management API
-
Mobile Connection API
- WiFi Information API
WebBluetooth
Permissions API
Network Stats API
Camera API
Time/Clock API
Attention screen
Voicemail
how do we get our app here?
publishing options: Choices!
- Hosted App
- Packaged App
- Plain
- Privileged
- Certified
{
"name": "Some Amazing App",
"package_path" : "http://somewhere.com/awesome.zip",
"version": "1",
"developer": {
"name": "Rob Lauer",
"url": "http://roblauer.me"
}
}
hosted app benefits
-
Ease of Distribution
- Easier to Self-Market (SEO)
- More Control over Updates
- More Familiar Process
hosted app drawbacks
-
Must be Connected*
-
Limited Access to Device APIs
- Potential Performance over Network
Packaged app benefits
-
Available Offline by Default
-
Access to Additional WebAPIs
- Potential Performance Improvements
packaged app drawbacks
-
More Difficult to Maintain
-
Update Process for New Versions
-
Potentially Long Review Cycle(?)
plain vs privileged vs certified
distribution options: More choices!
- Firefox Marketplace
- Do It Yourself
prompting packaged app install
here's why
- Rolling Out Service in Developing Nations
- 2 BILLION People Coming Online via Mobile
- Eventually Take the Place of Low-End Android Market
- Global Market Reach of 1% by end of 2013
also why (IMHO)
-
It's Easy
-
It's Fun
- Supporting Open Web
what's next?
Robert Nyman @robertnyman
Christian Heilmann @codepo8
hacks.mozilla.org
developer.mozilla.org
firefox os: the what, why, and how
Rob Lauer
Mobile Developer - University of Wisconsin
@rdlauer