Closed Bug 724797 Opened 13 years ago Closed 12 years ago

Installing two apps in succession that use the same app origin needs better warning/error reporting

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: jsmith, Unassigned)

References

Details

Steps: 1. Go to apps-preview.mozilla.org and login 2. Install Basecamp 3. Install Highrise 4. Go to https://myapps.mozillalabs.com/ to see dashboard Expected: The dashboard should show Basecamp and Highrise apps. Actual: Only Highrise is shown on the dashboard. Additional Notes: After initially installing Basecamp, I did see the dashboard contain Basecamp. Then, upon installing Highrise, I saw the Basecamp app disappear, and Highrise appeared instead on the dashboard. Generally, I'm seeing this issue happen specific with the 37 signals apps with certain 2 app installation combinations. Also, seen this issue on both Chrome and Firefox 10, so this isn't a Firefox-specific issue. Additionally, I've seen this issue across two different Windows 7 machines. Other example ways to reproduce bug: - Install Basecamp, then Install Backpack - Install Campfire, then Install Highrise
Both these apps are on the origin https://launchpad.37signals.com - https://launchpad.37signals.com/installed/highrise.webapp and https://launchpad.37signals.com/installed/basecamp.webapp As far as mozApps is concerned, this is just one app, but with two descriptions. The 37 Signals guys mentioned this issue, and I thought it was clear, but apparently not. I haven't actually looked at the flow they have after login; maybe the problem is that there is one signon and they should be pointing into the app itself and not the signon page.
The underlying problem then is the fact that the mozApps API does not support having more than one app off the same origin. This is a significant problem for use cases such as the following: - A gaming website that hosts a variety of games on the same origin - The example shown above with 37 signals apps
Summary: Installing 37signals Basecamp, then Highrise apps causes dashboard to show only the last app installed → Installing two apps in succession that use the same app origin causes dashboard to show only the last app installed
I believe 37 Signals is actually trying to work around another problem using launchpad.37signals.com, but it's not a good workaround. Their underlying problem is that every customer gets their own personalized origin.
Each app probably needs to have it's own launchpad ? highrise.37signals.com .. .. or highrise.launchpad.37signals.com
This bug deserves a design discussion, as there's definitely tradeoffs that exist in the current solution. Areas to include are: - What are the pros and cons in requiring one origin per app? What is the potential customer impact? - What are the pros and cons in requiring multiple apps per origin? What is the potential customer impact? - Is there a different solution that could be considered instead? What are the pros and cons of other solutions? Potential customer impact?
Just confirmed this bug also occurs on Soup and in a worse form than Desktop: If I install one app (say Basecamp), and try to install another app (say Campfire), in which both are using the same origin, I cannot install the other app at all (it reports basecamp app updated). Moving to General, as this appears to be a problem across Desktop and Mobile.
Component: Dashboard → General
QA Contact: dashboard → general
Technically we should never get into this bug state if marketplace prevents adding two apps from the same origin. However, the implementation on the web and desktop side should not make the assumption the marketplace will catch all errors. Therefore, we need to be fault tolerant. We need to get a definition of what the expected behavior of the underlying mozApps API should be if it detects that a user is trying to install two apps under the same origin, just in case marketplace fails to prevent two apps being added under the same origin.
We have a definition: installing from an origin that is already installed is a reinstallation. (We may however not be presenting this very well to the user.)
Okay understood. The bug fix then might be warning the user then if a user tries to an install a 2nd app on the same origin with what will happen and provide a confirmation: "Warning: Installing Basecamp will remove Highrise from your installed applications. Are you sure you want to do this?" This at least gives a user notification of what's about to happen. This will likely address the desktop-side of the bug, but not the Soup side. The Soup side doesn't handle install from a 2nd origin at all. Probably need to open separate tickets for the desktop and mobile side of these issues.
Product: Web Apps → Core
QA Contact: general → general
Whiteboard: [mozappsapi]
Component: General → DOM: Mozilla Extensions
QA Contact: general → general
Summary: Installing two apps in succession that use the same app origin causes dashboard to show only the last app installed → Installing two apps in succession that use the same app origin needs better warning/error reporting
An alternative option to consider: 1. Install app #1 off of origin X a. OnSuccess callback with installation being successful 2. Install app #2 off of origin X b. OnError callback with a HTTP 500-style error reported
Whiteboard: [mozappsapi] → [mozappsapi] [marketplace-beta?]
If the marketplace is fixed so that it doesn't allow more than one registered app on an origin, then that make this case less likely (and signal the issue earlier to the developer). That might be sufficient.
(In reply to Ian Bicking (:ianb) from comment #11) > If the marketplace is fixed so that it doesn't allow more than one > registered app on an origin, then that make this case less likely (and > signal the issue earlier to the developer). That might be sufficient. True. I believe it's fixed on marketplace production (Kumar indicated that this is implemented on production and that no apps violate the one app per origin constraint).
Whiteboard: [mozappsapi] [marketplace-beta?] → [mozappsapi]
Blocks: 746465
Whiteboard: [mozappsapi]
In terms of a warning or error, I don't believe there's anything more we can do in the mozApps API or outside of the Marketplace (and it's been resolved for apps submitted to the Marketplace). Please reopen if there is any proposed action we can take.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WONTFIX
(In reply to Ian Bicking (:ianb) from comment #13) > In terms of a warning or error, I don't believe there's anything more we can > do in the mozApps API or outside of the Marketplace (and it's been resolved > for apps submitted to the Marketplace). mozApps API doesn't handle multiple apps per origin? I haven't seen any technical reason in the bug explaining why. Is there one?
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Version: unspecified → Trunk
(In reply to Mounir Lamouri (:volkmar) (:mounir) from comment #14) > mozApps API doesn't handle multiple apps per origin? I haven't seen any > technical reason in the bug explaining why. Is there one? This ticket isn't the best place to discuss the decision – there has been inconclusive discussions on dev.webapps, and you could start up another discussion if you want. My own brief take on it is that we don't have any good tools for defining spaces except at the origin level, so if we want to be able to map URLs to apps the origin is the best way we have to do that. Discussion: https://groups.google.com/d/topic/mozilla.dev.webapps/lILc00-owaQ/discussion https://groups.google.com/d/topic/mozilla.dev.webapps/YvL5Ewm_J0k/discussion
Status: REOPENED → RESOLVED
Closed: 13 years ago12 years ago
Resolution: --- → WONTFIX
Component: DOM: Mozilla Extensions → DOM
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.