Status

()

defect
P1
normal
RESOLVED FIXED
6 years ago
5 years ago

People

(Reporter: elan, Assigned: jhugman)

Tracking

Trunk
Firefox 29
ARM
Android
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(relnote-firefox 29+)

Details

(Whiteboard: A4A)

To provide the most native user experience possible, we are going to proceed with synthetic APKs.
Whiteboard: A4A
(Basics)
1)Install host/package web app
* from seperate download
* from assets
2) Update webapp
* TBD
3) Find Runtime
4) Display webapp permission on install (manifest 2 manifest)
5) Start Synthetic APK from runtime (push/alarms)
6) Lifecycle (killed in background, uninstall)
Depends on: 890054
Depends on: 890056
Depends on: 890057
Depends on: 890060
Depends on: 890062
Depends on: 890064
Blocks: 874686
Depends on: 875443
No longer blocks: 874686
Blocks: 896003
No longer depends on: 875443
Blocks: 896007
Blocks: 909580
No longer blocks: 909580
Depends on: 934756
Depends on: 934758
Depends on: 934760
Depends on: 934761
Depends on: 929382
No longer depends on: 890054, 890056, 890057, 890060, 890062, 890064
OS: Gonk (Firefox OS) → Android
Hardware: All → ARM
Depends on: 876965
Caitlin Galimidi wrote:

> Depends on: 876965

Caitlin: can you give me access to this bug?  It's hard to satisfy a dependency I'm not allowed to access!
Depends on: 835405
Depends on: 942342
Depends on: 945007
Depends on: 876901
Depends on: 909580
Depends on: 958329
No longer depends on: 929382
No longer depends on: 945007
Summary: [Meta] Synthetic APKs → [AppEng] Synthetic APKs
No longer depends on: 958329
Blocks: 874686
No longer blocks: 896003
Depends on: 962607
No longer blocks: 896007
Blocks: 945007
Depends on: 948465
BenB: I read through bug 948465, and it doesn't seem like a blocker for Synthetic APKs, so I'm going to remove it from this meta-bug's dependencies, as this bug is just for blockers to the initial implementation of synthetic APKs.

But please let me know if there's a reason why that bug is necessary for Synthetic APKs to work. (Either way, I've cc:ed myself to the bug and will track its progress in case there's a way I can use it to improve Synthetic APKs.)
No longer depends on: 948465
myk: I don't know what precisely is meant with "Synthetik APKs", given that this bug doesn't have a clear description.
I'm assuming it's about taking a packaged webapp and generating an APK for it, whereby the APK contains both the webapp and the engine (GeckoView). I hope that this is the goal of this bug, because this is badly needed to foster web APIs as platform for mobile apps on Android.

If not with bug 948465, I wouldn't know how else a packaged webapp should work. The HTML/JS/JPGs need to be packed into the APK (-> assets) and loaded as URL into Gecko somehow (-> standard URKL for assets, i.e. bug 948465). Placing them in assets/ and loading them via file://android_asset/ (or file://webapp/ , if you prefer) seems like the natural way to do it.
At least, when I tried to package a webapp as APK using GeckoView, I needed bug 948465.
Maybe what I'm thinking about is bug 835405, but not sure.
(In reply to Ben Bucksch (:BenB) from comment #4)
> myk: I don't know what precisely is meant with "Synthetik APKs", given that
> this bug doesn't have a clear description.
> I'm assuming it's about taking a packaged webapp and generating an APK for
> it, whereby the APK contains both the webapp and the engine (GeckoView). I
> hope that this is the goal of this bug, because this is badly needed to
> foster web APIs as platform for mobile apps on Android.

That isn't the goal of this bug.  Synthetic APKs is a reimplementation of the Web Runtime for Android that packages webapps into APKs that use an existing installation of Fennec to run the apps.  So the APKs don't include GeckoView, nor do they require that Fennec itself be built on GeckoView.  And the project supports both packaged and hosted apps.


> If not with bug 948465, I wouldn't know how else a packaged webapp should
> work. The HTML/JS/JPGs need to be packed into the APK (-> assets) and loaded
> as URL into Gecko somehow (-> standard URKL for assets, i.e. bug 948465).
> Placing them in assets/ and loading them via file://android_asset/ (or
> file://webapp/ , if you prefer) seems like the natural way to do it.
> At least, when I tried to package a webapp as APK using GeckoView, I needed
> bug 948465.

That may well be true!  I'm not familiar with the GeckoView project, so I can't say.  I just want to make sure we track the right dependencies for each project.  And that bug isn't necessary for Synthetic APKs, even if it's necessary for GeckoView.  So let's continue to track it as a dependency of the GeckoView meta-bug 880107 but not as a dependency of this bug.
All dependencies resolved, so resolving this meta-bug.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
OK, so how *do* you load the webapp into Fennec, then? Where is the content stored (in assets?) and which URLs do you use for them?

> Synthetic APKs is a reimplementation of the Web Runtime for Android that packages webapps
> into APKs that use an existing installation of Fennec to run the apps.

That sounds very useful. Do the webapp APKs ensure that there is a Fennec installed, i.e. check and if not, offer a one-click install of Fennec? Or do you just assume that Fennec is there, and the user won't delete it either?
(In reply to Ben Bucksch (:BenB) from comment #5)
> Maybe what I'm thinking about is bug 835405, but not sure.

Bug 835405 is also specific to the Web Runtime for Android and unrelated to GeckoView.  Meta-bug 880107, which tracks the "GeckoView embedding work", seems like the right bug to track the work being done in bug 948465, and it already depends on that bug, so I think we're golden.


(In reply to Ben Bucksch (:BenB) from comment #8)
> OK, so how *do* you load the webapp into Fennec, then? Where is the content
> stored (in assets?) and which URLs do you use for them?

Let's take this conversation out of the meta-bug so we don't include everyone who is only cc:ed to this bug in order to track the progress on implementing the feature.  I'll email you separately with answers to your questions.
Target Milestone: --- → Firefox 30
We are shipping a new runtime in Fx29 with APK Factory support in Marketplace.
relnote-firefox: --- → ?
Target Milestone: Firefox 30 → Firefox 29
We already had this item in our release notes list for 29. Thanks anyway!
You need to log in before you can comment on or make changes to this bug.