GTK3 includes the new switch button. Sadly, at the time of this writing, there seems to be no HIG recommendation for it yet so I’m left to guess what its proper use should or shouldn’t be. I’m all for choice/flexibility for developers, but what has been worrying me slightly in the new Control Center is the possible abuse of this new widget. Currently, it’s all over the place.
This is not meant to pick on anyone, but I thought Bastien’s screenshot would illustrate my point:
“Well, what’s wrong with it”, you say? Let me answer with my GIMP’ed version of it:
I don’t know. Maybe I’m old (or too young) and I don’t get this fancy iOS-like thing, but I believe my version makes it much easier to understand and has better overall usability.
Here are the problems (or fundamental misunderstandings) I have with gtkswitch as it is currently used:
- It does not do anything different than a checkbox (or pushbutton) widget except that you can “slide” it… which, I guess, is aimed at mobile, touchscreen devices, right (with a computer, you can still click it like a “normal” checkbox anyway)? Which begs the question: even on mobile devices, how is sliding so much more easier than tap-clicking?
- If gtk’s checkbox doesn’t have a big enough target/sensitive area, just make it bigger so that I can hit it with my thumb finger.
- If you fear your users may accidentally tap the widget, that’s what screen locking is for.
- As illustrated in my mockup above, in most situations, a checkbox provides clearer meaning in two ways:
- You can actually write text in a coherent and unambiguous sentence around the widget
- The ON/OFF thing can be confusing to a minority of users: does the fact that it currently displays “ON” mean that it “is on” or that “clicking this will turn it on”?
- ON/OFF translates/localizes badly. I know, for one thing, that the French will never dare translate it. And even if they wanted to, it would never fit in such constrained space. Comparatively with hardware with laser-etched on/off switches, this is software, it can be expected to be translated.
So far, the only proper use case I can see for this widget is in extremely constrained spaces where you can’t fit more than one word.
What am I blatantly missing here? Please enlighten me.