On Thursday, February 12, 2015, Benjamin Francis <[email protected]>
wrote:
> Thanks for this Marcos, it makes a lot of sense, and thanks for the offer
> of help.
>
No problem. I do hope more people will take us up on the offer.
>
> In support of Paul's proposals around "granting permissions to the web" I
> would suggest we should consider re-visiting the "hosted", "privileged" and
> "certified" levels of "Open Web Apps" on Firefox OS.
>
Would be great. I still dream of the day when there is only one type (web
apps), and core services provided by the OS ("about:homescreen",
"about:settings", "about:dialer", "about:sms", "about:bluetooth", etc.).
> One possibility is that we split apps into simply "web apps" which follow
> web standards (and some proposed web standards) and "Firefox Apps" which
> use non-standard Firefox OS-specifc privileged features which aren't on any
> standards track.
>
But it has to be different to what we have today - that is Firefox Apps
would just be our own internal stuff. In fact, they might not even have a
name... they are just internal things that we, and maybe our partners,
build, to enable things in the web platform (e.g., a dialer, a contacts
manager, a default camera service, a file system browser). So, like, when
the user clicks on a HTML input type="file", our file system browser pops
up.
> I think the name "Open Web Apps" may have made sense at the start of the
> B2G project but has now outlived its usefulness to the point that it could
> be considered misleading.
>
Agree. It has been impossible for me to stand in front of developers, or my
peers in the standards community, and utter those words with a straight
face (and without them cringing!). I know other people in the standards
community feel the same. It's disingenuous and I think people can see that
it's just marketing-speak. We should really stop using that. As you said,
the intentions were good when it was coined because we thought we could
standardize everything and other browsers would use our stuff - but
unfortunately, things didn't turn out that way.
> No other vendor implements the mozApps API, some of the apps are not
> "web" apps, and there are now web standard alternatives to some of their
> features (which is a good thing).
>
> I would suggest we should aim to migrate the vast majority of apps
> (including Gaia apps) to being web apps, but there are likely to be some
> Firefox Apps which are basically Firefox OS chrome (like the system app) or
> Firefox OS addons (like the dialer) and require chrome level type
> privileges.
>
That's fine for the system apps. As it should be. It's like we have in the
browser today with "about:xxxxx" pages to handle browser administrative
tasks. Some could even be written in XUL as far as anyone cares (/me
ducks).
The others, it would be good to be clear about the limitations and again
try to find standardized cross platform solutions to those limitations.
Where there is a limitation, there is an opportunity to fix that for the
whole platform. Bypassing the standardization process might get us the apps
we need, but in the end we just end up with a closed proprietary ecosystem
of apps that only works in FxOS. If that is the case, then we might as well
just do everything in C++, Rust, Flash, or whatever. The choice of using
HTML, CSS, and JS to build system stuff is arbitrary and doesn't buy us
much: we known for a long time you can build "real" apps using web tech;
hell! we built our whole freeken browser's UI/UX using web stuff!
> Firefox Apps would still use HTML, CSS and JavaScript but would
> essentially be a new type of chrome level code for things which don't fit
> the security model of the web, would be packaged, and would have to be code
> reviewed and cryptographically signed by Mozilla like other Firefox addons.
>
Or just signed, like we do with the whole code base. They wouldn't even
need to be packaged - they could just be `about:whatever` pages or
similar. Then updates to those apps can be done as we currently do with,
say, Firefox.
> Web apps on the other hand must by definition always be hosted on the web
> and have a more decentralised system of trust.
>
> We should aim to create new Web APIs to allow Firefox OS-specific Firefox
> App addons to be replaced by cross-browser web apps wherever possible.
>
I think you mean, "we should work collaboratively with other stakeholders
of the Web Platform to bring new functionality to the Web at either the
W3C, WHATWG, ECMA, etc.... like we've been doing for about 20 years". :)
Seriously tho. We should do the above - and we should do it energetically
working closely together with the other engines (like Google did with us on
Service Workers, for instance - or like we worked together with the RICG on
responsive images). The strength of the web platform is in it's network
effect - the second someone tries to go it alone, everyone looses. History
shows that the Web has a strong ability to self correct those who stray too
far (e.g., XHTML2, plugins, VB script, all the W3C SysApps, and likely us
with the FxOS APIs which other engines are not going to support). With all
the browsers going "evergreen", we are in a better position than ever to
make, and keep, the Web a competitive platform. We should be taking full
advantage of that.
> This doesn't mean that we can't create voice calling and messaging web
> apps for Firefox OS for example, just that as Marcos says any pieces which
> directly call legacy telephony and SMS APIs are unlikely ever to be "the
> web".
>
Exactly. It's quite liberating to view the platform this way. You can build
the underlying platform in whatever way you want. Then we take that and
adapt the bits we can exposed with a proper permissions model to become
part of the Web Platform (instead of relying on centralized and proprietary
security models that are incompatible with the Web).
There is nothing revolutionary here: it's what we already do, and have done
for years with Firefox. And it's also what every other browser does. It's a
good model. And given that people use browsers for lots of things, like
banking, shopping, facebook, etc. it seems to work.
_______________________________________________
dev-b2g mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-b2g