8 ms·
How does the classic Win32 ListView handle incremental searching?
- netsharc 3y agoMeanwhile, for the modern Microsoft implementation: Booting up a fresh Windows 10 laptop. It wants me to select my country from the dropdown. I type in the first letter of my country. Nothing happens. Hooray!
- hulitu 3y ago[flagged]
- rahkiin 3y agoWin 11 fresh installation also does not have this feature :(
- Aleklart 3y agoWindows 12 will be able to detect your country by analysing your room furniture with ChatGPT.
- rafaelgoncalves 3y agoOr just by telemetry, :D
- NotYourLawyer 3y agoHave you tried drinking a verification can?
- jancsika 3y agoTo answer it the Microsoft way: 1. [some blocking call] 2. [some other blocking call] 3. [draw a black rectangle in the area for impending animation easing of the menu] 4. [yet another blocking call] 5. [oops, user clicked the Start, no choice except to cancel the whole thing right after] 6. [we blocking one last time for good measure, and finally...] 7. [make sure we're idle so that we can guarantee that we redraw the start button slowly enough to cause a flicker] 8. Success!
- deleted 3y ago[deleted]
- mewpmewp2 3y agoWas it some sort of slow scrolling without arrow keys as well? I vaguely remember a horrible process of finding my country, but I'm not sure if it was Windows Setup.
- renewiltord 3y agoHaha, what you said reminded me of some software where you'd hit down on the bottom most entry and the next one would, agonizingly slowly, scroll up into view but if you just grabbed the scroll bar and moved it with the mouse you'd get where you wanted faster. If you tried grabbing the scrollbar after you'd hit 'down' on the bottommost entry, your inputs would be unrecognized. I'm positive it was MS software, but I can't recall now. I only see the memory.
- izacus 3y agoThat one genuinely makes me angry whenever I hit that dialogue.
- iggldiggl 3y agoVisa's exchange rate calculator was similarly annoying – a long list of countries/currencies, but they reimplemented the dropdown control in such a way that typing to jump to the entry I want didn't work. Though at least that one has been fixed recently…
- rkagerer 3y agoI wish modern apps gave this level of attentive detail to my keyboard.
- rafaelgoncalves 3y agoYeah, agreed... Today we see the focus is so much on the looks/visuals, no so much investment on the usability/accessibility side.
- rplst8 3y agoYeah. People really overlook the value of muscle memory on the keyboard and how changing the affects productivity.
- _zamorano_ 3y agoThese are the little things you don't notice but make a difference. It's a pity this kind of attention to detail is becoming obsolete in favor of flashy but unconvenient UI I expect this behaviour on any list I find in a Windows app. I also expect keystroke consistency, like press F2 to edit... but all this UI things seems old fashioned. I assume I don't get that on web apps, but "modern" Windows Apps are also deprecating these conveniences I wonder if in the apple sphere they're suffering this kind of degradation.
- mixmastamyk 3y ago> degradation Definitely, it’s an industry-wide ailment caused by a focus on the web and neophyte users. The irony is that this power user functionality didn’t impede new users, it’s just been gradually forgotten by folks only raised on the web, where almost everything had to be reimplemented from scratch. We gained a lot but lost a lot as well.
- ryandrake 3y agoYea, I think a lot of us old timers do notice these "little things" and it's infuriating when they are missing from the Shiny New Web Version of our desktop apps. And, like others said, the existence of these niceties does not detract from the experience for non-power users. It's simply a bonus for more experienced users, and these bonuses are slowly going away as more and more developers choose the "give up once the thing kind of works" strategy.
- dotnet00 3y agoI think what makes it worse is that a lot of 'UX' people seem to actively oppose these kinds of power user conveniences because they think they know better than their users.
- devmor 3y agoIt’s not that they think they know better, it’s that they know power users are the minority. Everything is about minimizing expense to an extreme degree to drive “growth” in the current tech economy, so there’s little focus put into things that do not test as an immediate boost to marketability.
- jstanley 3y ago> You see, there’s more than one way that people expect type-to-search to work. In one pattern, you type the first letter of the thing you want, and the system finds the first item that starts with that letter. If that’s not the one you want, you press that same letter again, and the system finds the second item that starts with that letter. Keep pressing that same letter until you get to the item you want. What! This is crazy! There can't be that many people who expect type-to-search to work that way.
- bradrn 3y agoHow is it crazy? This behaviour always made sense to me.
- canucker2016 3y agoI'm basing the listview behaviour based on how I interpret the article. Suppose you have a list: - jaguar - llama - lorax - manatee Typing 'l' should position the cursor on 'llama'. Typing another 'l' would signal that you want the next 'l' element and move the cursor to 'lorax'. To correct the position, you'd either have to hit backspace to go to the first 'l' item, press 'a' to move to the first 'lla' item (I'd hope... but if the control went to the first 'la' item - ignoring the second 'l' I typed, then I'd say the control has gone out of the ballpark) Or maybe the user moves the cursor with one of the cursor keys to position the cursor on the desired item.
- AlienRobot 3y agoIn theory, if you have a folder with every files that have every two-letter combination at the start, there will be 650 files with distinct letters and only 26 files that have the same first letter and same second letter. In practice, the amount of actual words that have the same first letter as the second letter is minuscule. Even words that have the same letter appearing twice in sequence. It's just optimized for the most convenient scenario.
- jodrellblank 3y ago
- hgs3 3y agoIs there a repository somewhere that documents these nuanced interactions? What annoys me when I'm developing native UI is I'm never sure my custom controls are capturing these nuanced behaviors. I shouldn't have to reverse engineer them through trial and error. There are Human Interface Guidelines provided by Microsoft, Apple, GNOME, etc. but they do not document these little behaviors.
- dataflow 3y agoNot that I'm aware of, but the underlying point here is you shouldn't be creating custom controls to begin with, if you can at all help it. Not only do you miss our on stuff like this that's currently handled, but you miss out on future improvements you couldn't possibly know about beforehand.
- hgs3 3y agoIdeally yes, but sometimes you need custom controls that are similar to existing ones. Example: Notepad++ is famously a vanilla win32 app, but uses the Scintilla code edit control rather than subclassing the native win32 edit control. Code edit controls might implement features, like multi-cursor editing, which are foundationally incompatible with the assumptions the native control made. These subtle design differences can impact core assumptions, like the implementation of undo/redo, so subclassing isn't always an option.
- dataflow 3y agoI'm well aware of that, but what I think you're missing is that if you need a large text editor, you'd just... use Scintilla, or one of the handful of alternatives. You wouldn't reinvent the wheel from scratch. The number of people who develop new controls from scratch exceeds the number who actually need to do so by orders of magnitude, in my anecdotal experience.
- toast0 3y agoSure, but someone wrote Scintilla and the alternatives, including the native control. Would be nice if they had some clear documentation on what they're supposed to do.
- nyanpasu64 3y agoOne annoyance with incremental search in file views is that if you press the wrong key, you have to wait some time to begin typing again from the beginning, unless you press Esc to clear the search history... except in file picker dialogs, it instead closes the dialog altogether!
- layer8 3y agoThe timeout is exactly 1 second. While sometimes annoying, and it being configurable would be nice, I think it's acceptable.
- tiptup300 3y agoare you familiar with the bug or maybe two different ones where on a save as dialog you rename an unrelated file, then it defaults the save filename to that renamed file, so you change it, and hit save, then it says "this will replace x file" similarly on that same dialog with deleting the file something similar happens.
- nyanpasu64 3y agoAlso if you accidentally click a folder, or type-to-find a folder to save in, it will overwrite the save filename.
- datavirtue 3y agoI quit using Total Commander because it didn't work like this. This is software that works the way I think. I discovered this feature 30 years ago because I thought that was the way it should work...and it did. Some people forget or don't realize that Microsoft was pumping out software hand over fist like this, creating UX that flowed when most software worked like Word Perfect and you needed a giant cheat sheet to get anything done.
- kazinator 3y agoWhat are the exact requirements? If we have LLA, and so back in prefix mode, but then type A, are we back in repeated letter mode, where LLAA would want the second item that starts with LLA, if it existed? Are we always back in repeated letter mode if the input terminates with a repeating letter?
- keitmo 3y agoBack in the day (1991 or so) during my brief time as a UI person we called the first mode "H for Hawaii" and the second "HAW for Hawaii". We never attempted the "why not both" option.
- bool3max 3y agoThis is pretty clever but admittedly this type of incremental search was never intuitive to me - I don't like that I can't see the current contents of the search buffer, which is always problematic if I make mistake when searching for something. Give me a textbox and fuzzy search.
- fifticon 3y agoAs an old geezer, and not necessarily a great fan of everything microsoft does/burns/kills, I witness with sadness how the standards their roman empire helped build and enforce in the 90's, are deteriorating the last 20 years, first on the web outside ms, and since win8, inside their own desktop OS as well. I dread whenever the windows(?) team/juggernaut updates any of the built-in microsoft system tools (what you might call "options" or "settings" in what is passing for being able to speak and express yourself in these youtube-tiktok-crayon days.) When I need to get anything done/fixed/working on windows, I first type "control panel", to get the age-old settings UI that was unbroken in win7. From there, it is still possible (on win10 - I have avoided win11 so far) to configure most things in a sane way. Whenever I land on one of the newer tools, they present a mix of - "you can't/shouldn't view/see that" - "you should not be able to change that". - "some settings have been hidden/are managed by your organisation" When I hit the newer screens, I cannot see my IP address, I cannot see my DNS providers, I cannot change my DNS providers, I cannot enable/disable my networks. Also, to get back on track: Search/incremental keyboard handling/sorting on lists of stuff is horrendously "I eat crayons, and my product manager eats crayons!" bad. Some of microsoft's own system list screens no longer allows you to easily navigate or search your lists. So you are presented with rubbish like having to page through () hundreds of items, presented 3 or 5 elements at a time (really, on a monitor with a resolution exceeding HD??) A pet rant, truncating list text fields to arbitrary "let's just show the first 16 characters, and then ...", still on the super-HD screen.. sigh. On some of them, no variant of incremental keyboard search works, so with the destroyed scrollbars, you are left with manually moving through them. () assuming the "scroll" interface even allows paging or using the cursor keys.. The modern scrollbar is the crucified victim of what modern crayon-eating humans have lost: - the size of the scrollbar thumb used to indicate the size of the list and the page size, so you could feel if you were scrolling a list of 20.000 or 300 items. - clicking beside the scrollbar thumb used to jump one page at a time, possibly with one single item overlap, so you could "tell" that you had jumped an exact page. - scrollbars used to have little arrows to let you jump 1 item/row at a time. - scrollbars used to be VISIBLE, so you could orientate yourself in the document ("I see, I am near the bottom of the document/list"). - nowadays, instead, you have to play a mix of "hide the mouse" and "gee, I wonder if you can spot WHICH rectangles in this window have extra available scrollbars, IF YOU HOVER IN THE RIGHT PLACE?"
- red_admiral 3y agoObligatory "falsehoods programmers believe about names" comment: in Welsh, "Ll" is technically a single _letter_. It even has its own unicode point, U+1EFA, though I couldn't tell you anyone that actually uses that. Most people just type 'l' twice. One of the most common place name prefixes is "Llan" which means "church", as in that Llanfair... place with a long name for the tourists. If you were to load a list of community wards in Wales and type L, that would get you to Laleston (near Bridgend), and typing L again this way would make you step through a few more before the "Llans" start. Worse still, this way there doesn't seem to be a way to type "Llanberis" (near Snowdonia/Eryri, highly recommended for hiking trips!) because it will interpret the second L as a sign to jump from Laleston to Lampeter, and then the A will put "La" not "Lla" in the box? Or does it remember that you typed "Lla" and fill this in when you press the A key? EDIT: read it again and this is actually in the last paragraph. It _does_ remember the second L you typed.
- LegionMammal978 3y agoThe two codepoints U+1EFA (Ỻ) and U+1EFB (ỻ) seem to be intended for Middle Welsh, not modern Welsh. They're marked under the heading "Medievalist additions" in the code chart.
- maupin 3y agoWouldn't it make more sense for the switch to pattern 2 prefix matching to ignore the repeated characters? So if the user typed LLA the prefix matched would be LA (ignore the first L), not LLA.