Discussion:
Add-ons support for b2g
(too old to reply)
Fabrice Desre
2013-07-09 07:07:48 UTC
Permalink
Hi all,

Another item on the "Engineering whislist" that I think is crucial for
b2g success is to add some kind of add-on support. Firefox's popularity
is in no small part due to its add-on model that allows both
customization and extensibility.

How can we translate this model to make b2g even better?

First, we need to use web applications as add-ons and not reuse the xpi
format from firefox, since it's designed for other cases.

Secondly, there's the big question of which kind of functionality we
want to offer to add-ons. We very likely need at least themeing support
(maybe even support styles from userstyles.org) and page scripts (like
scriptish/greasemonkey). If we want to allow resources filters (for ad
blockers for instance) this may be harder, but also really interesting!

Add-ons being applications, their api access will be similar to
applications - no chrome privileges, etc.

Thoughts?

Fabrice
--
Fabrice Desré
b2g team
Mozilla Corporation
Kan-Ru Chen (陳侃如)
2013-07-09 07:33:33 UTC
Permalink
Fabrice Desre <fabrice-***@public.gmane.org> writes:

[...]
Post by Fabrice Desre
First, we need to use web applications as add-ons and not reuse the xpi
format from firefox, since it's designed for other cases.
What does the "web applications" mean here? An add-on that provides
themeing or page scripts might not need any web page nor user
interface. What's the difference between a web applications and a zip of
style resources?

Kanru
Fabrice Desre
2013-07-09 15:33:30 UTC
Permalink
Post by Kan-Ru Chen (陳侃如)
[...]
Post by Fabrice Desre
First, we need to use web applications as add-ons and not reuse the xpi
format from firefox, since it's designed for other cases.
What does the "web applications" mean here? An add-on that provides
themeing or page scripts might not need any web page nor user
interface. What's the difference between a web applications and a zip of
style resources?
There's not much difference indeed. If an add-on doesn't need any UI, it
could just provide a placeholder page, or something generated by the
platform. Or we could make it non-launchable. I'm not too worried about
finding a solution there.

Fabrice
--
Fabrice Desré
b2g team
Mozilla Corporation
Gervase Markham
2013-07-09 09:15:29 UTC
Permalink
Post by Fabrice Desre
Another item on the "Engineering whislist" that I think is crucial for
b2g success is to add some kind of add-on support. Firefox's popularity
is in no small part due to its add-on model that allows both
customization and extensibility.
How can we translate this model to make b2g even better?
And is there a way we can allow people to write (and add and remove)
add-ons for arbitrary apps? It may be that we have to allow apps to opt
out of this, and it may be that we decide that users won't understand it
well enough to make it not a big security hole ("Can I be an addon to
your banking app, pretty please?") but we should at least consider it,
because it would be an awesome feature in line with our "hack the
web"/"user choice" position, and a great differentiator.

Gerv
Fabrice Desre
2013-07-09 15:31:13 UTC
Permalink
Post by Gervase Markham
And is there a way we can allow people to write (and add and remove)
add-ons for arbitrary apps? It may be that we have to allow apps to opt
out of this, and it may be that we decide that users won't understand it
well enough to make it not a big security hole ("Can I be an addon to
your banking app, pretty please?") but we should at least consider it,
because it would be an awesome feature in line with our "hack the
web"/"user choice" position, and a great differentiator.
Absolutely, that's the plan. Sorry if this wasn't clear. Apps are "just"
web content, that should be remixable like other web sites. You're right
that we'll need to get the security right there - maybe by using the
same review process we have for privileged apps.

Fabrice
--
Fabrice Desré
b2g team
Mozilla Corporation
thinker-+ (Thinker K.F. Li)
2013-07-13 14:54:37 UTC
Permalink
Will the addons run in separated processes?

If the addons run in the same process of the target app, addons may
introduce additional permissions to the content process. For example,
an addon may introduce a raw socket permission to the content process if
the addon need raw socket API.

If the addons run in separated processes, it introduces the overhead of
DOM acessing (of course, we can use page scripts), and eat more memory.

Maybe we should start from page scripts, it is much simple than others.
Post by Fabrice Desre
Post by Gervase Markham
And is there a way we can allow people to write (and add and remove)
add-ons for arbitrary apps? It may be that we have to allow apps to opt
out of this, and it may be that we decide that users won't understand it
well enough to make it not a big security hole ("Can I be an addon to
your banking app, pretty please?") but we should at least consider it,
because it would be an awesome feature in line with our "hack the
web"/"user choice" position, and a great differentiator.
Absolutely, that's the plan. Sorry if this wasn't clear. Apps are "just"
web content, that should be remixable like other web sites. You're right
that we'll need to get the security right there - maybe by using the
same review process we have for privileged apps.
Fabrice
--
Sinker
--
天教懶漫帶疏狂
g***@public.gmane.org
2013-07-15 16:52:42 UTC
Permalink
that sounds like an amazing and possible idea!
Peter Dolanjski
2013-07-10 07:55:00 UTC
Permalink
Hi Fabrice,

On the subject of themes, this ties into the concept of replaceable home/lock (and potentially other) screens. That is a direction that the Product and UX teams certainly want to move in.
Here are some of the goals that Josh and I had in mind:


* Enable partners to differentiate the user experience of their Firefox OS implementation so that they can ultimately sell more devices by standing out amongst competitors


* Enable the development/design community to deliver rich and unique experiences which allow users to personalize their device based on their interests


* Drive developer/designer monetization opportunities through distributable themes (free and paid)


* Promote users' psychological connection to their Firefox OS device by providing the opportunity to make their device uniquely them (without a confusing and cumbersome Android widget experience)


* Encourage niche smartphone use cases to be fulfilled without being restricted to the boundaries imposed by the stock experience which inherently must target a wide audience (eg. social - people first, news - events first, entertainment - media first, gaming - fun first)

Some ideas that we can work towards over time:


* Home/Lock screen alteration


* Allow home/lock screens to be heavily modified by OEMs (combination of policy and Gaia architecture)
* User selectable themes


* Give user ultimate choice over look/feel of OS (including reverting to stock)
* Make choice core part of setting up device (not buried in settings or using unintuitive concept of launchers/widgets)
* Ensure that the home screen has access to key pieces of data to deliver interesting user experinces


* Home screen should be able to use info on: Contacts, Calendar, Call log, SMS/MMS, Email, Alarms, Active audio source, Network, Battery, Date/Time, Bluetooth, FM Radio, Data consumption, App use stats, etc.
* Theme market/tools


* Build tools for designers to create unique themes (based on stock or net new)
* Establish area in Marketplace for theme distribution/monetization

These were early ideas, but thoughts are welcome.
Peter

----- Original Message -----

From: "Fabrice Desre" <***@mozilla.com>
To: "dev-b2g" <dev-***@lists.mozilla.org>
Sent: Tuesday, 9 July, 2013 12:07:48 AM
Subject: [b2g] Add-ons support for b2g

Hi all,

Another item on the "Engineering whislist" that I think is crucial for
b2g success is to add some kind of add-on support. Firefox's popularity
is in no small part due to its add-on model that allows both
customization and extensibility.

How can we translate this model to make b2g even better?

First, we need to use web applications as add-ons and not reuse the xpi
format from firefox, since it's designed for other cases.

Secondly, there's the big question of which kind of functionality we
want to offer to add-ons. We very likely need at least themeing support
(maybe even support styles from userstyles.org) and page scripts (like
scriptish/greasemonkey). If we want to allow resources filters (for ad
blockers for instance) this may be harder, but also really interesting!

Add-ons being applications, their api access will be similar to
applications - no chrome privileges, etc.

Thoughts?

Fabrice
--
Fabrice Desré
b2g team
Mozilla Corporation
_______________________________________________
dev-b2g mailing list
dev-***@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-b2g
Alex Keybl
2013-07-15 17:08:16 UTC
Permalink
Just a note for others to keep in mind while having this discussion. We should be taking into consideration lessons learned from desktop add-ons (for instance, compatibility/perf issues) and mobile Firefox add-ons (similar to the proposal below).

If our final vision for Firefox OS add-ons allows them to run system wide, we'll also need to implement a blocklisting mechanism (preferably with more controls than we have on the desktop) for malicious add-ons. Security needs to be a concern.

-Alex
Post by Fabrice Desre
Hi all,
Another item on the "Engineering whislist" that I think is crucial for
b2g success is to add some kind of add-on support. Firefox's popularity
is in no small part due to its add-on model that allows both
customization and extensibility.
How can we translate this model to make b2g even better?
First, we need to use web applications as add-ons and not reuse the xpi
format from firefox, since it's designed for other cases.
Secondly, there's the big question of which kind of functionality we
want to offer to add-ons. We very likely need at least themeing support
(maybe even support styles from userstyles.org) and page scripts (like
scriptish/greasemonkey). If we want to allow resources filters (for ad
blockers for instance) this may be harder, but also really interesting!
Add-ons being applications, their api access will be similar to
applications - no chrome privileges, etc.
Thoughts?
Fabrice
--
Fabrice Desré
b2g team
Mozilla Corporation
_______________________________________________
dev-b2g mailing list
https://lists.mozilla.org/listinfo/dev-b2g
pancake
2013-07-15 17:39:42 UTC
Permalink
A while ago I opened an issue in bugzilla to ask for installing xpcshell into the device . At least on debug mode.

I adapted a httpd.js to run in the device and serve local apps, but i can see much potential on this feature. What do you think about exposing the priviledged js api to commandline? That will allow to write portable system services in js.
Post by Alex Keybl
Just a note for others to keep in mind while having this discussion. We should be taking into consideration lessons learned from desktop add-ons (for instance, compatibility/perf issues) and mobile Firefox add-ons (similar to the proposal below).
If our final vision for Firefox OS add-ons allows them to run system wide, we'll also need to implement a blocklisting mechanism (preferably with more controls than we have on the desktop) for malicious add-ons. Security needs to be a concern.
-Alex
Post by Fabrice Desre
Hi all,
Another item on the "Engineering whislist" that I think is crucial for
b2g success is to add some kind of add-on support. Firefox's popularity
is in no small part due to its add-on model that allows both
customization and extensibility.
How can we translate this model to make b2g even better?
First, we need to use web applications as add-ons and not reuse the xpi
format from firefox, since it's designed for other cases.
Secondly, there's the big question of which kind of functionality we
want to offer to add-ons. We very likely need at least themeing support
(maybe even support styles from userstyles.org) and page scripts (like
scriptish/greasemonkey). If we want to allow resources filters (for ad
blockers for instance) this may be harder, but also really interesting!
Add-ons being applications, their api access will be similar to
applications - no chrome privileges, etc.
Thoughts?
Fabrice
--
Fabrice Desré
b2g team
Mozilla Corporation
_______________________________________________
dev-b2g mailing list
https://lists.mozilla.org/listinfo/dev-b2g
_______________________________________________
dev-b2g mailing list
https://lists.mozilla.org/listinfo/dev-b2g
Robert Kaiser
2013-07-19 14:33:27 UTC
Permalink
Post by Fabrice Desre
Secondly, there's the big question of which kind of functionality we
want to offer to add-ons.
I think we definitely want language packs (for the core apps and OS
pieces) in some form, and we probably will want OpenSearch providers.
And I guess visual and sound themes are something that people have been
thinking of already there.

Robert Kaiser

Continue reading on narkive:
Loading...