• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: NSComboBox
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSComboBox


  • Subject: Re: NSComboBox
  • From: Clark Cox <email@hidden>
  • Date: Fri, 27 Jul 2018 10:23:17 -0700

In UIs like this that I have made in the past I use a popover or a custom
pop-up. I.e. something like:

           +----------------+
           |      Field     |
           +--------+-------+
                    ^
+-------------------+-------------------+
|             Filter Field              |
+---------------------------------------+
|                                       |
|  Item 1                               |
|  Item 2                               |
|  Item 3                               |
|  ...                                  |
|  Item n                               |
|                                       |
+---------------------------------------+

- The user tabs-into (or clicks) the field, and a popover is displayed, and the
filter field is made first responder.
- As the user types (into the now active filter field), the table below it is
filtered down to matching items
- The user can then either click on the appropriate option, or if there is only
one, just hit enter

You can see a similar UI if, in Xcode, you click the navigation pop up at the
top of a source file and start typing.


> On Jul 25, 2018, at 17:50, Casey McDermott <email@hidden> wrote:
>
>>> Or does the user need to scan the list of near-matches for some reason?
>
> Yes, exactly.  When you have 20K customer records, you don't remember how
> each was entered, or how spelled.  You may need to type a letter or 2 and then
> scroll the list.  It may take a few tries: Smith Company?  Smyth Company?
> The Smith Company?  Josephine Smith & Co?
>
> Our customer database has dozens of duplicate names, so they might be entered
> as
> Smith Company NY and Smith Company CA.
>
> Sometimes one has no idea what's in the list, so it really helps to be able
> to scroll.
> A popup is probably better for that, but not when in hands-on-keyboard mode.
>
> NSComboBox is so close.  That one sentence in the docs is so tantalizing!
>
> Thanks,
>
> Casey McDermott
>
> Turtle Creek Software
> http://www.turtlesoft.com
> 607 220-4514
>
> --------------------------------------------
> On Wed, 7/25/18, Quincey Morris <email@hidden> wrote:
>
> Subject: Re: NSComboBox
> To: "Casey McDermott" <email@hidden>
> Cc: "Cocoa-Dev List" <email@hidden>
> Date: Wednesday, July 25, 2018, 7:55 PM
>
> On Jul 25, 2018, at 15:40 , Casey
> McDermott <email@hidden>
> wrote:
>>
>> I forgot to mention
> that the lists may contain 10,000s of items. Maybe 100,000s.
>
>> Typing to select from NSPopUpButton
> works OK for short lists.  I just made a test
>> popup with 300 items and it's already
> awkward.  10K would be absurd.
>>
>> These are business records, and users may
> data enter hundreds a day.  They want
>>
> to tab, type a few letters to select a customer, tab to the
> next field, type a bit to
>> select an
> inventory item, etc.  Type a customer that doesn't
> exist and it should beep
>> and ignore
> the keystrokes.  If they need to enter a new customer,
> it's a right-click,
>> then a panel
> to enter more than just the name.
>>
>> Our current interface does use popup
> buttons for some things, but people complain
>> about them.  They don't want to take
> hands off keyboard.  We plan to convert those
>> to combo boxes so it can be completely
> mouseless.
>
> If
> that’s your use case, there’s something else gong on at
> the heart of this.
>
> What
> value — if there are tens of thousands of items — is
> there in popping anything up at all, whether it’s a
> combo-box-style popup or a menu-style popup? It seems that
> you should just validate the text field every stroke, and
> provide the rest of the field as soon as what is typed
> becomes unique. Or does the user need to scan the list of
> near-matches for some reason?
>
> Another approach to this might be to be
> something like autocomplete, but where you don’t start
> offering autocompletions until enough text has been entered
> to limit the possibilities to a manageable number of
> choices. Text fields have built-in support for autocomplete,
> although IIRC it gets a bit harder if the completions are
> context sensitive — if typing more characters changes the
> list of possibilities, rather than just limiting it.
> (Xcode’s autocompletions are content sensitive in this
> sense, but Xcode has its own implementation unrelated to
> NSTextField’s.)
>
> Or, use a
> table view next to the text field, and programmatically
> scroll to the area of the list that matches what the user
> has typed so far. NSTableView is essentially optimized for
> displaying small fragments of huge lists, so it might be
> better than trying to stuff all those entries in a combo
> box.
>
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden

--
Clark Smith Cox III
email@hidden

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >Re: NSComboBox (From: Casey McDermott <email@hidden>)

  • Prev by Date: Re: NSComboBox
  • Next by Date: Re: NSComboBox
  • Previous by thread: Re: NSComboBox
  • Next by thread: Re: NSComboBox
  • Index(es):
    • Date
    • Thread