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 <supp...@turtlesoft.com> 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 <quinceymor...@rivergatesoftware.com> wrote:
> 
> Subject: Re: NSComboBox
> To: "Casey McDermott" <supp...@turtlesoft.com>
> Cc: "Cocoa-Dev List" <cocoa-dev@lists.apple.com>
> Date: Wednesday, July 25, 2018, 7:55 PM
> 
> On Jul 25, 2018, at 15:40 , Casey
> McDermott <supp...@turtlesoft.com>
> 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 (Cocoa-dev@lists.apple.com)
> 
> 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:
> https://lists.apple.com/mailman/options/cocoa-dev/clarkcox3%40gmail.com
> 
> This email sent to clarkc...@gmail.com

-- 
Clark Smith Cox III
clarkc...@gmail.com

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to