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
