Closed Bug 980085 Opened 8 years ago Closed 7 years ago

Hosting strategy for App Manager templates


(DevTools Graveyard :: WebIDE, defect)

Not set


(Not tracked)



(Reporter: sole, Unassigned)




We want to be able to open templates in the App Manager to kick start app creation.

Problem: what's the best strategy to

a) make it easy to open templates directly there
b) make it easy for more people to contribute with their own templates-thus fostering a good community

Or in Axel's words, these would be the requirements:

1) The ability for Mozilla to curate a collection of templates
2) The ability of developers to be able to try out the templates directly on a phone without having to download and deploy first
3) the ability of third parties, especially dev UI framework developers to publish templates
4) The ability to access to those templates in the App manager
5) The ability to download those templates from a desktop browser

And these are the possible hosting options we've discussed so far:

a) Put templates in a CDN
b) Put templates in Marketplace

Advantages and disadvantages of each one:

a) Put templates in a CDN:

This means we would have a series of *really good* and curated template files (in ZIP format) plus probably a .json file that we'd upload to a server --this would be a pretty similar mechanism to what we're using right now for the prototype.

- straightforward
- we have a mozilla CDN already, we'd need to speak to the right people
- for non official templates, anyone can upload templates to their server and through the "magic template detection mechanism" we can get app manager to open them

- vetoing process sort of slow/manual
- only mozilla can upload there
- community members have to host their own templates somewhere
- discovery opportunities are limited-there won't be a central "treasure trove of templates" unless we maintain a page in MDN linking to the best of the best
- we'd need some sort of "template detection" mechanism so Firefox/Chrome know we want to open certain links with App Manager. Namely protocol handlers.

b) Put templates in Marketplace

Anyone would be able to upload templates to the Marketplace just as if they were a normal app, via the "my apps" section, and put them under a new "Templates" category. Somehow, we will be able to download these zip files from the Marketplace and import them into App Manager.

- Any one can upload
- Discovery could be easier, more casual, with people finding the templates while browsing in the marketplace
- We leverage Marketplace's CDN/hosting system/experience
- Also, let the community decide what are the best templates by download numbers/ratings (whatever is the marketplace algorithm)

- People who download everything ever are probably going to download one of these templates and get very confused when they don't understand what it does. Expect bad ratings for otherwise good templates.
- We complicate the Marketplace codebase to allow for this exception: apps uploaded as templates should offer a direct "download" link
- Another exception: probably reviewers should not review these templates even though they will often be privileged.


I might be probably missing something. Please add your concise thoughts here!
Blocks: 941347
- As for the requirements, I largely agree but we might have to prioritize them to be able to make better tradeoffs. For example, 2) is nice, but I am not sure I would consider it vital and I'd be willing to drop it in favor of a solution that helps us reach the other goals.

- Under disadvantages for CDN you write "we need a template detection mechanism"; while this is right I think that's the case anyway. On the Marketplace, we'd have an install button and an "open in App Manager" button which also requires that functionality. In this case, however, we monopolize that functionality inside the Marketplace. No community member can blog and put a button "open this in app manager" into their post.
It looks to me like the CDN solution is closer to a MVP and the Marketplace solution is more strategic. In which case the question is - what do we have time for?
No reason why we can't build the "open this thing as a template" facility into the app manager, use it on MDN for now, and eventually move things to Marketplace and use that same facility there if that's the long-term strategic direction the Marketplace PMs want to take this.
Depends on: 981801
Blocks: 983252
Blocks: 983263
I added the following user stories, they can be prioritized as the market needs it. 

983252 - basic bare bones templates (current most basic implementation plan)
983258 - third party template submission workflow
983263 - template accessible/installable directly on devices

These will get added to the App Manager Kanban as well since they will affect what we implement in the App Manager.

I am on vacation right now, just wanted to make sure these are in the system and documented. I will be glad to discuss when I get back.
> a) Put templates in a CDN

For the first version of this feature, let's do that. It's easy and can be done in a matter of days.
The code on the app manager side is ready (can land anytime).

Let's iterate fast.

We can always go for a smarter mechanism later.
Is there a bug for the CDN?
981801 on which this one depends
URL: 981801
We will soon land the new app manager, but it won't be compiled by default. The create-new-app feature that is builtin is broken until at least one template is available.
Blocks: build-am2
Any update? This is the last piece missing before building the app manager by default.
Update on the CDN you mean? The CDN is up and running. Content is not in this bug I think, but at any rate that's under review as per your request.
An update on this unrelated bug :-P

The template went under a round of review and then I corrected the things and Rik reviewed again. I am now in a conference and with quite limited internet access. I need to go back to that and send another patch and then if Rik is OK with that, then we can send it to the security review. Maybe the L20n people too.

And then we need to create the empty template based on that, and review it, etc, although I expect it will take less time.
No longer blocks: build-am2
We now build the app manager by default. We use a temporary list of templates. See
Templates from the CDN are now used in the new app manager. See bug 1027202.
Closed: 7 years ago
Resolution: --- → WORKSFORME
Product: Firefox → DevTools
Product: DevTools → DevTools Graveyard
You need to log in before you can comment on or make changes to this bug.