Today's blog post isn't about a new feature to Dabble DB, but to me, the user interface designer, it feels just as significant.
Interface design on the web can be both simple and complex. The simple path is often the wisest. Don't deviate from what everyone else does and people will figure out your interface. That's why you see blue links everywhere on the web: not because there's anything special about blue, but because that's what everyone is used to.
Sometimes though, the norm doesn't quite cut it. Or worse, there is no norm to do the cutting in the first place. One example is the combo box widget. A "combo box" is what we design nerds call it when a text box has a drop-down menu attached and they interact. (And a "widget" is interface-design-speak for a thing that you interact with, like a text box or a button.) In theory, when you start typing in the text box, a drop-down menu appears below, and shows choices related to what you've typed. Ideally, it changes quickly as you type.
Combo boxes help narrow down a wide array of options. One example is Firefox's built-in search box, where once you type something, it shows you other alternatives. You don't need to type the whole phrase to find a result. Very useful. We use combo boxes in Dabble DB too, when there are too many entries in a list to show them all comfortably in a single drop-down menu. This happens with Link to Entry and List of Entries fields, if you're choosing from say, 200 existing entries. Rather than show the entire list, you type in part of a name and then it shows you potential matches.
Desktop applications usually have good combo boxes because programmers have standardized widgets readily available to drop in. On the web, however, combo boxes have never been standardized, and they aren't terribly easy to create. The result is that many people have spent a lot of time creating their own, and most are half-baked. Variations are fine for Glenn Gould, but if people are going to take web applications seriously, we don't want 32 different styles of combo boxes.
We've used our particular combo box approach for a long time, but the implementation was neither elegant nor fast. It required you to type and then click on a menu, which is a pretty slow interaction. That it lasted as long as it did is because most Dabble DB users never saw the combo box and so they didn't have an opportunity to complain. (We hate complaints.)
We did receive a few complaints though -- justifiably -- and so we decided it was time to improve this widget. I'm happy to say that a new version has recently been deployed to everyone and, if you were used to the old one, this should inspire thoughts like, "What took them so long?" If you never noticed the old one, then hopefully this will inspire no thoughts at all because it just works.
For those that care about such things (and if you don't then you probably stopped reading this post ages ago), here are some little details that we worried about in making this widget more pleasant:
It gives you some visual feedback to indicate that search results are loading.
Once search results appear, you can simply press Enter to choose the first match.
You can use cursor keys (down and up) to select another match and then press Enter so that you don't need to move your hand to the mouse.
If you like moving your hand to the mouse, you can still do that too and click the match you want.
Overall, searches happen faster because the system doesn't waste time doing a new search after each letter you type. Instead it searches every tenth of a second only if something has changed and it cancels any previous results that are still loading.
We hope you enjoy.