>
> In a way I want to at least think about the changes that might be needed
> for a user configurable layout as I don't want to have to go through a
> whole pile of refactoring of the underlying menu code if we do decide we
> want to do this, but at the same time I don't want to overcomplicate the
> design now based upon a future requirement that we might not implement for
> a long time, if ever.

I'm not sure I'd be focusing on this right now.

The existing design of using a collection view would lend itself to user
re-ordering, and the storage and maintenance of a sort order would be a
relatively simple addition. (see
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UICollectionView_class/index.html#//apple_ref/doc/uid/TP40012177-CH1-SW67
)

Some thought needs to be made around exposing new menu items to a
reordered/filtered list, though this is even further out in the future.

On Wed, Mar 9, 2016 at 11:36 AM, Emily Toop <et...@mozilla.com> wrote:

> also, is this something that we should even be taking into account now at
> this stage or do we just build for the existing design and work out
> potential future needs when they come about?
>
> In a way I want to at least think about the changes that might be needed
> for a user configurable layout as I don't want to have to go through a
> whole pile of refactoring of the underlying menu code if we do decide we
> want to do this, but at the same time I don't want to overcomplicate the
> design now based upon a future requirement that we might not implement for
> a long time, if ever. Either way, thinking about the challenges of user
> configuration will help us make design decisions now that will allow for
> ease of extendability later.
>
> On 9 March 2016 at 11:30, Emily Toop <et...@mozilla.com> wrote:
>
>> In the menu demo at the Product meeting yesterday, Robin mentioned that a
>> future update to the menu will allow for user configuration of the menu
>> order. The current design of the configuration doesn't account for this.
>>
>> I'm having a think about the changes that need to be made to accommodate
>> this, but I'd also like to open the question out. What are good ways to
>> make the menus user configurable? As always, feedback/comments/ideas are
>> welcome.
>>
>> On 3 March 2016 at 18:15, Emily Toop <et...@mozilla.com> wrote:
>>
>>> Thank you all for attending the menu meeting. All your feedback and
>>> comments were greatly appreciated.
>>>
>>> Next steps (Please remind me of anything I have forgotten):
>>>
>>> * Update DisplayLocation enum to become MenuState enum that will contain
>>> the current state required by the menu based on display location, current
>>> URL etc.
>>> * Pass this into the MenuViewController on creation and whenever the
>>> state changes (i.e. the URL changes in the background)
>>> * When setting a menu state, invalidate the menu causing a reload of the
>>> menu data & relayout of the components so the menu is always in sync with
>>> the current menu state (The design of the menu as a datasource/delegate
>>> view controller a la UITableViewController makes this trivial)
>>> * Create a MenuViewControllerDelegate that takes an instance of MenuItem
>>> as argument. Objects implementing this delegate would then be responsible
>>> for calling the associated Action on the MenuItem, injecting the delegate's
>>> requirements as needed. The delegate should be set on menu creation.
>>> * Create Pre and Post menu dismissal animators to handle animation
>>> actions that MenuItems might have to perform (i.e. bookmark twiddling or
>>> display of Find In Page dialog). Attach to MenuItems so they are called in
>>> sequence on menu item selection.
>>>
>>> Once again I will update the sample project and send around for feedback.
>>>
>>> Thanks again.
>>>
>>> On 3 March 2016 at 16:03, Richard Newman <rnew...@mozilla.com> wrote:
>>>
>>>> If this was not clear: The menu is presented modally: it greys out the
>>>>> content under it.
>>>>
>>>>
>>>> That's good to know!
>>>>
>>>> So we can start noting some constraints:
>>>>
>>>>
>>>>    - The menu is always displayed modally, even on iPads: the user
>>>>    can't interact with anything but the menu.
>>>>    - The menu must always close after the first interaction: we will
>>>>    never support multi-step actions like tap-toggles, slide-out choices, 
>>>> etc.
>>>>    within the menu itself.
>>>>
>>>>
>>>> Now we can return to asking more questions:
>>>>
>>>>
>>>>    - What happens when pages do in-page navigation? Is the menu
>>>>    closed, do items need to respond to page navigation events, are we 
>>>> going to
>>>>    suspend page navigation when the menu is open, or are we willing to have
>>>>    the menu reflect the state of some page that's not the one the user can 
>>>> see
>>>>    behind the menu? Some of these require that the menu 'capture' the 
>>>> current
>>>>    tab state at the instant of open; others require that the UI reflect
>>>>    navigation changes.
>>>>    - Similarly, what happens when pages trigger a new tab open? (Our
>>>>    current behavior if Block Pop-ups is unchecked is that window.open opens
>>>>    and focuses a new tab without user involvement.)
>>>>    - What happens if a page shows an alert while the menu is open?
>>>>    Alerts are modal, too. Do we just queue them? Are races possible here?
>>>>
>>>>
>>>
>>
>
> _______________________________________________
> mobile-firefox-dev mailing list
> mobile-firefox-dev@mozilla.org
> https://mail.mozilla.org/listinfo/mobile-firefox-dev
>
>
_______________________________________________
mobile-firefox-dev mailing list
mobile-firefox-dev@mozilla.org
https://mail.mozilla.org/listinfo/mobile-firefox-dev

Reply via email to