When an app is submitted, we (will soon) ask the developer which APIs/features 
their app absolutely requires, with the list pre-populated with smart guesses 
through the magic of static analysis. Developers can update the app profile 
when they upload a new version. Reviewers will also soon have tools to inspect 
the profile.

We then can calculate whether a device (based on which features it has) is 
compatible with an app (based on which features the developer says it requires).

>  Also how is it specified whether a feature is required vs optional in a 
> given app? 

We don't track optional features. If a feature isn't required for the app to 
function properly, we don't track that since it doesn't break compatibility or 
change what we'd show to the user.



----- Original Message -----
From: "Travis Choma" <[email protected]>
To: "Matt Basta" <[email protected]>
Cc: [email protected], "Mounir Lamouri" <[email protected]>, 
"Fabrice Desre" <[email protected]>
Sent: Friday, May 24, 2013 11:31:03 AM
Subject: Re: API for editing existing app installations

Interesting, so it's taking this profile associated with the device and 
matching it with a feature profile associated with the app, right? To complete 
the picture for me, what is the flow/process for creating the feature profile 
on the marketplace side that is associated with the app? Also how is it 
specified whether a feature is required vs optional in a given app? 

----- Original Message -----
From: "Matt Basta" <[email protected]>
To: "Fabrice Desre" <[email protected]>
Cc: [email protected], "Mounir Lamouri" <[email protected]>
Sent: Friday, May 24, 2013 10:32:26 AM
Subject: Re: API for editing existing app installations

> We have a prototype doing that with the push API. How does your feature
> profile work in this case?

The feature profile is added at the time that mozApps.install[Package] is
triggered. If this is being done at the platform level, then the feature
profile is moot because we can't add it. If it's being done from within
the Marketplace, our wrapper would handle this just fine.

FWIW, we're a privileged app now, so we can do our own push notifications
to do the send-to-phone feature. That's been on our roadmap for a while
now.

> By the way, can you point us to a description of these profiles?

We don't have formal docs, but you can look at the code in our repo:

https://github.com/mozilla/fireplace/blob/master/hearth/media/js/buckets.js
https://github.com/mozilla/zamboni/blob/master/mkt/constants/features.py
https://github.com/mozilla/zamboni/blob/master/mkt/webapps/models.py#L1305

It's basically a hex-encoded bit field where each bit represents the
presence of a feature. There's also a version number and a feature count.

My profile on desktop, for instance, is "3040fe.32.1"


----- Original Message -----
From: "Fabrice Desre" <[email protected]>
To: "Matt Basta" <[email protected]>
Cc: "Mounir Lamouri" <[email protected]>, [email protected]
Sent: Friday, May 24, 2013 9:18:50 AM
Subject: Re: API for editing existing app installations

On 05/24/2013 08:34 AM, Matt Basta wrote:
> 
> Of course, but we're in a different boat than the web at large. Our users are 
> paying us to be able to install these apps, in some cases, and if a developer 
> comes to us and says, "Hey, we lost our short URL because <insert completely 
> valid and unfortunate reason here> and now the app doesn't work. Can we get 
> you to update the manifests?" we should have the power to make that happen.
> 
> Granted, that's a feature which isn't on any roadmaps, but it's something 
> that we can't currently do that an API like this would enable for us.

Just so you know, we will provide malware protection for apps like we do
for websites. And yes, that could include blocking apps we don't
distribute ourselves (see bug 863669).

Also, a couple of other points:
- You want to rely on an API that can only be exercised if the user
visits the marketplace. Unfortunately you have no guarantee that this
will happen, and we'll still check for updates at the install-time
manifest url.
- We want to support scenarii where the user browses the marketplace
from a desktop computer and from there installs an app on device. We
have a prototype doing that with the push API. How does your feature
profile work in this case?

By the way, can you point us to a description of these profiles?

        Fabrice
-- 
Fabrice Desré
b2g team
Mozilla Corporation
_______________________________________________
dev-webapps mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-webapps
_______________________________________________
dev-webapps mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-webapps

Reply via email to