6 ms·
Funny how there are a few domains where the same problem is solved over and over again. Probably an indication that a good solution is truly missing. A long ti
by fasterdom 7y ago
Funny how there are a few domains where the same problem is solved over and over again. Probably an indication that a good solution is truly missing.
A long time ago I wrote a tiny audio synth. And yep, I wrote my own minimal GUI which had stuff like sliders, and most importantly knobs which general GUIs typically don't provide.
Now I'm working on a non-audio webapp, and I have a problem where a knob would be the ideal solution. Searched far and wide for a Vue knob, and what I found was not usable. It worked if you "rotated" it circularly, but it didn't work if you pulled it up/down like a slider. You might say "use a slider then if you want to pull it up/down". True, but a slider takes a lot of UI space which sometimes is very precious. More importantly, the slider resolution is limited to it's height, while a knob could for example use the whole screen height for a full turn.
- yoz-y 7y agoIs it better to write one own's GUI in this case? I believe most toolkits have a way to add new controls, so it should be less work to add a knob to GtK, Qt or any other toolkit.
- fasterdom 7y agoTrue, you could write a new Qt control. Then you hit the second requirement: complete bitmap theming, many times of a skeuomorphic kind. This is extremely difficult to do in something like Gtk/Qt.
- torarnv 7y agoBehold, in all its skeuomorphic glory, the Qt styles example: https://doc.qt.io/qt-5/qtwidgets-widgets-styles-example.html https://doc.qt.io/qt-5/qtwidgets-widgets-styles-example.html
- kazinator 7y agoThat looks almost exactly like Motif from 1991, but superimposed with a wood grain pattern.
- Narishma 7y agoLooks more like Windows 9x than Motif to me.
- kazinator 7y ago1. Motif came first. Among people who knew what Motif is, the look of Windows 95 was widely recognized as being very similar to Motif to the point of being a knock-off. 2. See the diamond-shaped radio buttons in the second example. :) 3. 3D embossed arrows on scroll bars.
- Narishma 7y agoOh, I didn't see the second screenshot. Yeah that one is more like what I remember Motif looking like. The first one though is definitely going for the Windows 95 look.
- jcelerier 7y agoQt has the following style that you can use, where you just have to ship the bitmaps for your controls in a predefined naming scheme : https://doc.qt.io/qt-5/qtquickcontrols2-imagine.html https://doc.qt.io/qt-5/qtquickcontrols2-imagine.html
- extra88 7y ago> minimal GUI which had stuff like sliders, and most importantly knobs which general GUIs typically don't provide. They don't provide knobs because they're a bad idea for input. Holding mousedown while drawing an invisible arc with the cursor is an awkward way to change a value. Sliders are generally better but still not great on interfaces with cursors (they're better on touchscreens). Skeuomorphism can be a useful visual design cue but it needs to be secondary to the input capabilities of the device. Up and down arrow buttons(or plus/minus, or whatever makes sense for the value) are very compact and operable with a variety of input methods. Buttons need a way display the value but there are many options including putting them in the center of a ring of numbers like a knob would use.
- vbsteven 7y agoIn a good knob it’s not an arc but just clicking and dragging straight up or down that makes it move. A lot of VST audio plugins work like this and they get a lot of controls into a small area like this.
- extra88 7y agoBut then the gesture doesn't correspond to the interface at all. You could get the compactness plus a visual that corresponds by having something like a vertical slider that appears when you mousedown on the spot.
- jcelerier 7y ago> But then the gesture doesn't correspond to the interface at all. I remember learning soft synths when I was 11 - 12 years old and back then it maybe took me a few minutes to get it. Come on.
- bch 7y ago> They don't provide knobs because they're a bad idea for input I like knobs because the distance from the center of that control (radius of your arc movement) can be a “fineness” or “coarseness” control. I think sliders don’t usually offer this.
- kitotik 7y agoIn the early days of the iOS App Store I worked on a music iPad app. Through many hours of user testing and researching prior art, the best solution we came up with was detecting the trajectory of the user input and supporting both vertical dragging and dial-like rotation. It took a shitload of trial and error fine tuning, but it eventually turned out pretty well. I think many music apps these days give you the option buried somewhere in settings.
- scrumper 7y ago> option somewhere buried That’s what I did. Made it slide by default (because I hate trying to twist a virtual knob). I briefly had a translucent rectangle popup when the control was in slider mode but it turned out not to be helpful as linear dragging seemed to make sense to everyone and I only had like eight options in total. The one nice innovation I had was automatically detecting horizontal or vertical drags - useful for things like pan controls where a horizontal motion makes more sense.
- amelius 7y ago> You might say "use a slider then if you want to pull it up/down". True, but a slider takes a lot of UI space which sometimes is very precious. More importantly, the slider resolution is limited to it's height, while a knob could for example use the whole screen height for a full turn. Perhaps the solution is to make the slider pop up if you press a button?
- djowel64 7y agoNot a bad idea, actually.
- jcelerier 7y ago> Probably an indication that a good solution is truly missing. I don't think so. It's a pretty standard exercise to try to create an ui framework so of course we're bound to see tons of them.