Closed Bug 1107346 Opened 10 years ago Closed 9 years ago

[2.2] Minimal UI for Langpacks in Settings

Categories

(Firefox OS Graveyard :: Gaia::Settings, defect)

x86
All
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: stas, Assigned: stas)

References

Details

Attachments

(2 files)

While bug 1105528 is about designing the full-blown interaction for managing langpacks, we'd like to start with a simple UX in the Settings app which will make langpacks a little bit more discoverable for the users.

The current idea is to have a link to the Marketplace in the Settings > Languages panel which will open a dedicated category page on the Marketplace.
I think setting would need to handle the uninstall case, listing of langpakcs already installed and setting an installed language to the current language.  Marketplace can't handle the uninstall case, so I still think there may need to be some sort of language management interface like in bug 1105528.
Yeah, for 2.3 we will handle all of that. For 2.2 we will just handle install/update and we will purge all langpacks when user upgrades the system to 2.3+
I am not sure we can assume that we shouldn't handle removal.  Not all people will upgrade to 2.3+ and there needs to be a way to remove so that storage isn't eaten up.
Flagging Jenny to upload her specs that were sent by email a few weeks ago.
Flags: needinfo?(jelee)
Hi all, see attached for initial spec, thanks!
Flags: needinfo?(jelee)
Hi Jenny - see comment #3.
If you don't have a way to remove language packs, then the storage of a device can be eaten up without a way for the user reclaim the storage.   With limited-storage devices, this could be a problem.  As we've seen, you can't assume that people will upgrade to a new version or even that an upgrade will be available.
In earlier conversations, deleting was always on deck for 2.3 and later; it was not part of the initial/minimal scope.
I started working on this in https://github.com/stasm/gaia/tree/1107346-more-languages.

I followed the spec from attachment 8537621 [details] and the PRD at https://docs.google.com/a/mozilla.com/document/d/1ZxMklFdJSAC0oh1hTpzSI5F9fbVFI5XmdnCl-iniy9Y/edit

One difference I see is that the PRD wants to use a webactivity to go back to the Settings app after a langpack is installed, while the spec wants to show a banner and not do anything else.

IIUC, the webactivity approach will require an update of the Marketplace frontend to call something like:

  new MozActivity({
    name: 'moz_configure_window'
  });

…while the banner approach will likely require changes in the System app to recognize the 'langpack' role of the newly-installed app and show the special banner text.

David, Jenny -- what are your thoughts on this?  Which approach would you prefer to move forward with?
Flags: needinfo?(jelee)
Flags: needinfo?(dbialer)
I am implementation-neutral.  The only reason I suggested in the PRD the launch of the page as a webactivity was to be able to return back to the settings app after an install so that the user can continue the task to then set the language.  I think that Marketplace puts up a banner after the install of an app, so the banner message could originate from the Marketplace, and then return back to the settings app.

Wil - any thoughts on this
Flags: needinfo?(dbialer) → needinfo?(wclouser)
Hello Stas,

My concern is that during the time of downloading and installing, user can be doing something else (writing email, sending text etc), taking user to settings automatically can potentially be interrupting. It'd be more reasonable if we take a mild approach to help user complete the language pack install process.
Let me know if you have other concerns, thanks!
Flags: needinfo?(jelee)
As far as I understand it, the 'install successful' banner comes from the System app.  I updated the pull request to make it show a special message for langpacks:

https://github.com/stasm/gaia/commit/d42d9ef33568eb082f41a15465935906cfbb50fa

I'm still waiting for the patch in bug 1108096 to implement extending the list of available languages choices with languages originating from langpacks.
Depends on: 1108096
Attached file Pull request
There are three parts of the implementation in this bug:

 1. Show a link to the Marketplace category page for langpacks.

    - Arthur, this is implemented in the pull request as a 'marketplace-category' WebActivity.  Are you fine with this approach?

    - David, do you know what the slug of the category will be?

 2. Show a System banner when a langpack is installed.

    - Alive, I modified the code in apps/system/js/app_install_manager.js to recognize the special 'langpack' role when apps are installed.  Is this okay?

 3. Update and extend the list of available language choices shown to the user using the getAdditionalLanguages() API from bug 1108096.  I'm still waiting for the final patch to land in that bug.  My plan is to make the necessary changes in shared/js/languages_list.js which I wrote a while ago.  I also want to make sure the list is updated when the user returns to the Settings app.

I'll start working on tests if I get f+ from Arthur and Alive.

I think we can consider using a WebActivity in the Marketplace app to send the user back to the Settings app (as David suggested) in a separate bug.
Assignee: nobody → stas
Status: NEW → ASSIGNED
Flags: needinfo?(dbialer)
Attachment #8545874 - Flags: feedback?(arthur.chen)
Attachment #8545874 - Flags: feedback?(alive)
(In reply to Staś Małolepszy :stas from comment #12)

>     - David, do you know what the slug of the category will be?

Moving this to bug 1105530.
Flags: needinfo?(dbialer)
Comment on attachment 8545874 [details] [review]
Pull request

LGTM (Is this role newly invented?)
Attachment #8545874 - Flags: feedback?(alive) → feedback+
(In reply to Alive Kuo [:alive][NEEDINFO!] from comment #14)
> LGTM (Is this role newly invented?)

Yes, we're adding it in 2.2 in bug 1108096.
I'm going to split this into smaller bugs blocking this one.

(In reply to Staś Małolepszy :stas from comment #12)

>  1. Show a link to the Marketplace category page for langpacks.

Bug 1115798.

>  2. Show a System banner when a langpack is installed.

Bug 1119758.

>  3. Update and extend the list of available language choices shown to the
> user in Settings > Languages.

Bug 1115797.
Depends on: 1115798, 1119758, 1115797
No longer depends on: 1108096
Comment on attachment 8545874 [details] [review]
Pull request

Moving the feedback request on Arthur to bug 1115798.
Attachment #8545874 - Flags: feedback?(arthur.chen)
Requesting blocking-b2g:2.2 as this is part of the implementation of the language packages support that is targeting 2.2.
blocking-b2g: --- → 2.2?
(In reply to Staś Małolepszy :stas from comment #18)
> Requesting blocking-b2g:2.2 as this is part of the implementation of the
> language packages support that is targeting 2.2.

This is a feature request. Please feel free to ask for approval after the bug is fixed.
blocking-b2g: 2.2? → ---
Depends on: 1124098
No longer depends on: marketplace-langpacks
The dependencies have been fixed on master and I have requested approvals for 2.2 landings.

Marking this bug as fixed.  Thanks all!
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Flags: needinfo?(wclouser)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: