Closed
Bug 710062
Opened 13 years ago
Closed 12 years ago
Check that an app is installed before installing it
Categories
(Marketplace Graveyard :: Consumer Pages, defect, P3)
Tracking
(blocking-basecamp:-)
People
(Reporter: andy+bugzilla, Assigned: cvan)
References
Details
We should be checking that an app is installed before installing it in the JS api.
https://developer.mozilla.org/en/Apps/Apps_JavaScript_API/navigator.mozApps.amInstalled
There's an amInstalled(..) api that we can call. If it's already installed, we can just show an error message I presume using showError:
https://github.com/mozilla/zamboni/blob/master/media/js/zamboni/apps.js#L86
Comment 1•13 years ago
|
||
Could we just launch it? Or is that not the expected behavior?
Priority: -- → P3
Reporter | ||
Comment 2•13 years ago
|
||
Dunno, I think that would be fine. There was talk about AMO knowing what apps are installed, in which case the button would say "Launch" not "Install" in that case launching would be even more fine.
Updated•13 years ago
|
Comment 4•13 years ago
|
||
Jason, Bryan: the latest design I saw shows "Installed" on the button. Is that what we're going with? No way to launch from the marketplace if it's already installed?
Whiteboard: [needs ux]
Updated•13 years ago
|
Comment 5•13 years ago
|
||
Wil: Actually, I had the same question. Dils explained it to me: "By labeling the button "installed", it does double duty. It provides a call to action to launch the app, while implicitly telling the user this app is already installed."
So actually, that button would in fact launch the app.
Comment 6•13 years ago
|
||
(In reply to Jason Grlicky [:grlicky] from comment #5)
> Wil: Actually, I had the same question. Dils explained it to me: "By
> labeling the button "installed", it does double duty. It provides a call to
> action to launch the app, while implicitly telling the user this app is
> already installed."
>
> So actually, that button would in fact launch the app.
Ah. Over to bill then. Bill - is it possible for the marketplace to know if you have an app installed or not?
Comment 7•13 years ago
|
||
Sounds like Anant is the expert here and that the API to list currently installed apps does exist from bug 720415. That brings us to the next question - is it possible to launch the native app from the marketplace?
Assignee | ||
Comment 8•13 years ago
|
||
Looks like we have this https://developer.mozilla.org/en/Apps/Apps_JavaScript_API/navigator.mozApps.amInstalled
Seems like we're good to go if you're using Firefox. If you're using the HTML5/JS shim you're SOL until that is implemented there too.
Assuming this works, this bug is ready for implementation.
Assignee | ||
Updated•13 years ago
|
Assignee | ||
Comment 9•13 years ago
|
||
Assignee: nobody → cvan
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → 6.5.0
Comment 10•13 years ago
|
||
Looks like comment 0 is not addressed completely here. If a user tries to reinstall and installed app, what do we do? Tell them that the app is already installed? Or reinstall it?
reopening so that further conversation can happen.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Updated•13 years ago
|
Target Milestone: 6.5.0 → 6.5.2
Updated•13 years ago
|
Target Milestone: 6.5.2 → 6.5.4
Comment 11•13 years ago
|
||
(In reply to krupa raj 82[:krupa] from comment #10)
> Looks like comment 0 is not addressed completely here. If a user tries to
> reinstall and installed app, what do we do? Tell them that the app is
> already installed? Or reinstall it?
>
> reopening so that further conversation can happen.
How do they reinstall it - the button says installed?
Comment 12•13 years ago
|
||
Just to clarify, re-installation of an already installed app is non-destructive as far as the web runtime is concerned, i.e. the install() call will succeed with no errors.
If we'd like to raise an error, it has to be done at the marketplace level by calling getInstalled() first and not calling install() if a matching entry was found.
This also give you full flexibility regarding which solution you'd like to implement when the user encounters an already installed app on the marketplace and clicks a button:
- Launch the app via the launch() method
- Reinstall the app by calling install(), will almost always succeed
- Raise an error, don't call instal()
In all cases, getInstalled() must be called first.
Assignee | ||
Comment 13•13 years ago
|
||
If we decide to throw an error/warning or disallow re-installations (by clicking on the button), I could natively uninstall the app (on Mac/Windows) and never be able to install that app again. We should wait until bug 749033 is addressed before trying to accommodate for this case.
Depends on: 749033
Target Milestone: 2012-05-10 → ---
Comment 14•12 years ago
|
||
This is also related to bug 765380.
Updated•12 years ago
|
Assignee | ||
Comment 15•12 years ago
|
||
I'm not sure what's supposed to happen in this bug.
Comment 16•12 years ago
|
||
Maybe we should show "Reinstall" instead of "Installed"
Assignee | ||
Updated•12 years ago
|
Component: Public Pages → Consumer Pages
Product: addons.mozilla.org → Marketplace
QA Contact: web-ui → consumer-pages
Version: unspecified → 1.0
Assignee | ||
Updated•12 years ago
|
Target Milestone: --- → 2012-07-05
Comment 18•12 years ago
|
||
(In reply to Chris Van Wiemeersch [:cvan] from comment #17)
> CC'ing Maria for ideas.
After reading through the full comment thread here I'm still not sure if we have the ability to launch the app from the Marketplace instead of reinstalling it. Chris - I think you said to me once that we can't launch from Marketplace.
If I could get the final word on this, I can move forward from there.
Comment 19•12 years ago
|
||
The fixes for the dependencies of meta bug 745924 will make it possible for Marketplace to launch the app.
Comment 20•12 years ago
|
||
(In reply to Myk Melez [:myk] [@mykmelez] from comment #19)
> The fixes for the dependencies of meta bug 745924 will make it possible for
> Marketplace to launch the app.
Awesome, thanks Myk. Since we have the capability to launch the app from the Marketplace, let's do that. If a user wants to reinstall an app, they have to uninstall it and install it again. This is how it works for desktop applications as well as mobile apps on other platforms and seems like a good standard. I will update the install button states from bug 747144 comment 5 to reflect that.
Comment 21•12 years ago
|
||
(In reply to Maria Sandberg [:mushi] from comment #20)
> Awesome, thanks Myk. Since we have the capability to launch the app from the
> Marketplace, let's do that. If a user wants to reinstall an app, they have
> to uninstall it and install it again.
Should we disable reinstallation in general or just for our Marketplace?
Comment 22•12 years ago
|
||
(In reply to Marco Castelluccio from comment #21)
> (In reply to Maria Sandberg [:mushi] from comment #20)
> > Awesome, thanks Myk. Since we have the capability to launch the app from the
> > Marketplace, let's do that. If a user wants to reinstall an app, they have
> > to uninstall it and install it again.
>
> Should we disable reinstallation in general or just for our Marketplace?
I'm not sure I understand what you mean, could you give some more detail? In my mind the act of uninstalling and installing again equals reinstalling.
Comment 23•12 years ago
|
||
(In reply to Maria Sandberg [:mushi] from comment #22)
> I'm not sure I understand what you mean, could you give some more detail? In
> my mind the act of uninstalling and installing again equals reinstalling.
Currently a user can reinstall an application without uninstalling it. Should we disallow this behaviour? If yes, only for our Marketplace or for everyone using the mozApps API?
Comment 24•12 years ago
|
||
(In reply to Marco Castelluccio from comment #23)
> Currently a user can reinstall an application without uninstalling it.
> Should we disallow this behaviour? If yes, only for our Marketplace or for
> everyone using the mozApps API?
From the point of view of the Marketplace there will be no path a user can go to reinstall a currently installed app. If an app is installed, a user can launch it from the Marketplace. If it's not installed, it can be installed.
From a design perspective I don't have enough information about all the different use cases of someone using the mozApps API to decide if we should disallow it everywhere or not.
Assignee | ||
Comment 25•12 years ago
|
||
So to conclude: Per bug 747144 comment 12, we say "Open" to launch the app. Yes, Maria?
Comment 27•12 years ago
|
||
(In reply to Maria Sandberg [:mushi] from comment #22)
> (In reply to Marco Castelluccio from comment #21)
> > (In reply to Maria Sandberg [:mushi] from comment #20)
> > > Awesome, thanks Myk. Since we have the capability to launch the app from the
> > > Marketplace, let's do that. If a user wants to reinstall an app, they have
> > > to uninstall it and install it again.
> >
> > Should we disable reinstallation in general or just for our Marketplace?
>
> I'm not sure I understand what you mean, could you give some more detail? In
> my mind the act of uninstalling and installing again equals reinstalling.
Right. I think the case for reinstalling is to cut down the actions in the case you've described from down from two to one (re-install instead of uninstall + install). I do agree though that the flow for a "re-install" though exists if you take those two steps, which users are accustomed to.
Sounds like our reinstall bugs for webrt on desktop then should be deprioritized if marketplace goes this direction.
Comment 28•12 years ago
|
||
(In reply to Chris Van Wiemeersch [:cvan] from comment #25)
> So to conclude: Per bug 747144 comment 12, we say "Open" to launch the app.
> Yes, Maria?
Yes :)
Comment 29•12 years ago
|
||
(In reply to Jason Smith [:jsmith] from comment #27)
> Right. I think the case for reinstalling is to cut down the actions in the
> case you've described from down from two to one (re-install instead of
> uninstall + install). I do agree though that the flow for a "re-install"
> though exists if you take those two steps, which users are accustomed to.
>
> Sounds like our reinstall bugs for webrt on desktop then should be
> deprioritized if marketplace goes this direction.
Okay, I see. Did this use case come from UX? My hunch is it will not be very common for users to reinstall an app (at all) but there could be research I'm unaware of. If it's a rare use case, let's not use space in the Marketplace for this functionality.
Comment 30•12 years ago
|
||
(In reply to Maria Sandberg [:mushi] from comment #29)
> (In reply to Jason Smith [:jsmith] from comment #27)
> > Right. I think the case for reinstalling is to cut down the actions in the
> > case you've described from down from two to one (re-install instead of
> > uninstall + install). I do agree though that the flow for a "re-install"
> > though exists if you take those two steps, which users are accustomed to.
> >
> > Sounds like our reinstall bugs for webrt on desktop then should be
> > deprioritized if marketplace goes this direction.
>
> Okay, I see. Did this use case come from UX? My hunch is it will not be very
> common for users to reinstall an app (at all) but there could be research
> I'm unaware of. If it's a rare use case, let's not use space in the
> Marketplace for this functionality.
Makes sense. The use case didn't come from UX, it was just off hand of why I could see someone using a reinstall of a web app. I'll go mark associated reinstall bugs for webrt for re-triage, since the priority is likely to drop.
Assignee | ||
Updated•12 years ago
|
Target Milestone: 2012-07-05 → 2012-07-12
Assignee | ||
Updated•12 years ago
|
Target Milestone: 2012-07-12 → 2012-07-19
Comment 31•12 years ago
|
||
FYI - Desktop pieces have landed. Haven't verified yet (it's on my list of things to do though).
Updated•12 years ago
|
Target Milestone: 2012-07-19 → 2012-07-26
Comment 32•12 years ago
|
||
I'm inclined to mark this blocking-basecamp- because installing an app that is already installed doesn't hurt anyone. However, I expect this will be fixed shortly now that the blocker, bug 772600, is closed. Additionally, this section of code will be changing with packaged apps - there is a new InstallPackage() (or something similar) function which we'll have to integrate. For now, marking not a blocker.
blocking-basecamp: ? → -
Assignee | ||
Comment 33•12 years ago
|
||
https://github.com/mozilla/zamboni/commit/70884ab
1) visit page of free app: http://cl.ly/image/082N0r3j3o3O
2) install app: http://cl.ly/image/0C282M3i0k1d
3) return to page later: http://cl.ly/image/1T1R3h080j2A
The launch instructions are likely redundant since there is a "Launch" button and - if you have Growl installed - a notification. Will users know that the app is natively installed on his/her machine (and accessible from not just the Marketplace app/site) if we omit those details? That's an open question. (And a rhetorical one! This is the 33rd comment to this bug, so if you have requests, please file a new bug. Thank you!)
Status: REOPENED → RESOLVED
Closed: 13 years ago → 12 years ago
Keywords: uiwanted
Resolution: --- → FIXED
Assignee | ||
Comment 35•12 years ago
|
||
Reverted due to platform bug, bug 777971:
a5f2302
994f964
7172cd2
535fdc3
70884ab
Status: VERIFIED → REOPENED
Resolution: FIXED → ---
Target Milestone: 2012-07-26 → ---
Comment 36•12 years ago
|
||
What is the action in this bug?
Assignee | ||
Updated•12 years ago
|
Target Milestone: --- → 2012-09-27
Assignee | ||
Comment 37•12 years ago
|
||
Status: REOPENED → RESOLVED
Closed: 12 years ago → 12 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•12 years ago
|
Target Milestone: 2012-09-27 → 2012-10-04
You need to log in
before you can comment on or make changes to this bug.
Description
•