design: touch panels

This commit is contained in:
liquidex 2024-12-03 22:20:44 +01:00
parent eb37656ebc
commit 47c2b74ecb
6 changed files with 286 additions and 0 deletions

View file

@ -20,6 +20,10 @@ this branch is about that.
% id = "01HQ8KV8RWS99XKPBKCTZ3NEJM" % id = "01HQ8KV8RWS99XKPBKCTZ3NEJM"
- that ain't default behavior. :hat_smug: - that ain't default behavior. :hat_smug:
% content.link = "design/touch-panels"
id = "01JE75K3MPAHR40TZR1Q92YYN7"
+ :page: touch panels
% content.link = "design/sidebars" % content.link = "design/sidebars"
id = "01HR9ZTS6T2ZBWGMJP8376NGX1" id = "01HR9ZTS6T2ZBWGMJP8376NGX1"
+ :page: sidebars + :page: sidebars
@ -27,3 +31,4 @@ this branch is about that.
% content.link = "design/digital-textures" % content.link = "design/digital-textures"
id = "01HQ8JHZ5QTZXQW3M26CXPFQDF" id = "01HQ8JHZ5QTZXQW3M26CXPFQDF"
+ :page: on digital textures + :page: on digital textures

View file

@ -0,0 +1,270 @@
%% title = "touch panels"
% id = "01JE246DXAKY4V4S49576JG0P9"
- 2024\. it seems like you can't go on without devices that have capacitive touch panels.
% id = "01JE246DXAJJ4N592H9K2FG0FQ"
- _obviously_ my smartphone has one.
% id = "01JE246DXAC6GYHV1GVW9G30X6"
- but also my oven has one,
% id = "01JE246DXADZKF1TMTWX2JA667"
- my induction stove has one,
% id = "01JE246DXAVY22EBMMBJKGA32C"
- the dishwasher at my parents' house has one, and _their_ oven as well,
% id = "01JE246DXACY732S6465M6ZBYR"
- my headphones have one too!
% id = "01JE246DXAW2YPBFB4083RW06E"
- but is that good?
% id = "01JE246DXAE6EFPASVXYZRRPNG"
- touch panels definitely look very elegant on pictures---no ugly buttons protruding out of your appliance, how slick is that!
% id = "01JE246DXANGVXZ4XFCV1N67ZC"
- but I find that touch panels are UX _hell_ on every single appliance I use them.
% id = "01JE246DXAX25V3F2030WDSXAX"
- not my smartphone, because it also has a _display_.
paired with a display, and set of responsive gestures, a touch panel can be quite good!
% id = "01JE246DXAG7EHW4V0QWFKEE1G"
- so let's look at some of those touch panels that give me nightmares.
% id = "01JE246DXAPSKNZQ0FYSB7CD6D"
- ### The Oven
% id = "01JE246DXAFYX4TT9DVE1BK5QC"
- my oven has a touch panel for operating the timer.
a very useful thing to have in a kitchen!
% id = "01JE246DXAGDGH6ASA4RZ6F7SJ"
+ I use the oven timer _all the time_ while cooking, because pulling out my smartphone every single time I want to count down time is kind of a pain in the butt.
% id = "01JE246DXAV99HZBXSZRDTT887"
- I also have my smartphone timer set to vibration only.
wouldn't want to annoy people with my loud WAH, WAH, WAH alarm sound every time my tea's finished brewing.
% id = "01JE246DXA0461801FNEGXTE3R"
- the UI makes me go insane though.
say you want to set a timer for one minute---how do you approach this?
![close-up of the oven in my kitchen. from the left: there's a function knob, the timer panel, and a temperature knob. the timer panel is a touch panel with five buttons, labelled with icons representing heat, a clock, a key, a minus, and a plus. the hour is 21:15.][pic:01JE731MZBPQFATV2XWQ8WDSK9]{title="please excuse how dirty my oven is. I don't compulsively clean my kitchen appliances"}
% id = "01JE246DXATB6YY2N46MMMCVVK"
- a sane person would push the `+` button and hold it down until the timer says `1:00`.
congratulations, your timer is set!
% id = "01JE246DXA2J69S44PRKB8CF4Z"
- but since I'm typing this, you know this is most definitely not how Bosch decided to do things in this oven.
% id = "01JE246DXAETP3Z6G2K31QD1XG"
- instead of something obvious, here's what happens:
% id = "01JE246DXAZ1DC9PCCX2ESRCVZ"
- _when the time left is `0:00` (or when the timer's unset)_, pushing `+` sets the timer to `10:00`, _but_ you can also push `-` to set the timer to `5:00`.
% id = "01JE246DXAX6G0APW3DMEYGY7D"
+ maybe saves you a bit of time for oven things... but not very useful as a general kitchen timer! what if you're brewing tea (1--3 minutes)? boiling eggs (apparently 6 minutes)?
% id = "01JE246DXAM2EV3SMRKB9TN3PS"
- I don't really eat boiled eggs, so I don't know how long to boil them.
6 minutes is the first thing that came up online ---w---
% id = "01JE246DXAJ31K3XZ623SPNP15"
- _when the timer is anything but `0:00`_, pushing the button adds one _second_, holding it for a couple seconds starts increasing the time in an accelerating manner, starting with 10 second increments, then 20 seconds.
I never push for long enough to notice it going any faster, so let's pretend these are the only two increments that matter.
% id = "01JE246DXADX2TBXNK7488NDZ8"
- okay so when is the last time you needed single-second precision on a kitchen timer.
% id = "01JE246DXA13DS8VSC73B64RYN"
+ at best I need 30 seconds, but that is still very sporadic...
% id = "01JE246DXAQKRC5Q0SD0HTSTAP"
- [sencha][] leaves can be infused up to about three times before the taste starts to diminish.
my first brew is 1 minute, the second is 1 minute 30 seconds, and the third is 2 minutes.
this is the only time I ever need half-minute precision in cooking.
I bet replacing the 1min 30s step with 2min would be just fine.
[sencha]: https://en.wikipedia.org/wiki/Sencha
% id = "01JE246DXA1P83GTYCSF39CZG5"
- _even when you wished_ for single-second precision, it is still effectively useless, because it's hard to predict the delay until the timer starts counting after your input!
% id = "01JE246DXA5FVV46M9YJY5MQSM"
+ this makes it impossible to get the desired time by tapping the `+` button multiple times, because I'm not gonna tap it _180 separate times_ to get _two minutes_!
% id = "01JE246DXA4D8M4GTDWPTQHKMK"
- (yes, 180---remember we have to count down [from 5 minutes][branch:01JE246DXAZ1DC9PCCX2ESRCVZ]...)
% id = "01JE27CBDAVFSKJ8ZZ3ZJCGHTR"
- even if the increments weren't so annoying, tapping a touch panel is much more annoying than pushing a button.
not to mention the accessibility problems---think about blind people, who literally cannot _see or feel_ any of the buttons on the panel!
% id = "01JE27CBDA0Q9617GNFXVGYAQX"
- in the case of an oven timer, I think the right way to go about adjusting it would be a rotary encoder---turn the knob to set the time, push it to start the countdown or cancel the alarm.
% id = "01JE27CBDASZQD5HK8S9AVDXWQ"
- yes, it protrudes out the front, but you don't have to make it protrude much! 1cm would be enough and still look aesthetically pleasing.
% id = "01JE27CBDA365KHC6B08Q2J4QK"
- this is really funny because this Bosch oven _does_ have two knobs that protrude out the front---one for function, the other one for temperature.
imagine if it had one knob for function and temperature, and the other one for controlling the timer.
how nice would that be!
% id = "01JE246DXAQMTVV0EXTF240VVZ"
- ### The Induction Stove
% id = "01JE27CBDA0MD77EJEYJ133HKN"
- upon first sight, nothing out of the ordinary---it even has very good and _fairly obvious_ UX!
![close-up of an induction stove's touch panel. there's a power button, buttons for controlling each of the four burners' power levels, a lock button, and a "stop + go" button.][pic:01JE731N7MER1CMBPGJXN99C9P]{title="I should definitely wipe all the grease off of it though..."}
% id = "01JE74T4AJFCWNPJK660C977PV"
- the `-` and `+` buttons adjust the power levels of each burner.
the first level is `◡`, then `1` through `9`, and then `P`.
% id = "01JE27CBDAPV6EV6YF9W034ZFY"
- I don't know what `◡` or `P` are supposed to mean, but from what I've tried the `◡` is probably very low power simmering mode, and `P` probably stands for [_pożar_](https://www.diki.pl/slownik-angielskiego?q=po%C5%BCar&locale=en_GB), because it has one hell of a power kick to it.
boils water almost as fast as an electric kettle!
% id = "01JE27CBDA41PCC2FYE0AE6RDM"
- unlike the stupid ass oven timer, the power levels increase in a linear fashion, which makes them nice and predictable.
% id = "01JE27CBDA64DW71JSZ6F1WY57"
- real buttons would have made the process a little less _slow_ though.
% id = "01JE27CBDAMPET9ZR976S3N8XG"
- the annoying part is that the touch panel is _capacitive_.
meaning that drops of water---or heck, _any_ wet things---tend to activate the panel, which causes it to turn off, especially when you _really_ don't want it to!
% id = "01JE27CBDACQACZHDYWR91KQCH"
- I've had _numerous_ cases where my veggies stopped frying because the I placed a wet chopping board on the panel.
% id = "01JE27CBDAXVM6ZAYA6Z28AJAC"
- in theory there's a _lock_ mode, which prevents making any adjustments---but it's really annoying to get into and get out of.
pushing the button down, and _then_ having to push down the `-` button to turn down the power can take long enough to make a difference between well done and [congratulation][pic:01JE281R9XT4VTR0DRENXSBPYS].
% id = "01JE27CBDAWT5RBPVCHWTR30CA"
- now this one I totally get why it _should_ be a touch panel---which doesn't make it any less annoying, but yeah.
% id = "01JE27CBDA8X2FW6CG59WNJXQM"
- UX-wise it's much better to be able to place your cutting board on any part of the surface, _provided it's dry of course_, than having to avoid any buttons annoyingly protruding out its top.
% id = "01JE27CBDAWK6A4H9795NJP7YE"
- granted this could be solved with a separate device you could install elsewhere---like I dunno, to the right of the stove, but that is more expensive and takes up kitchen counter real estate---which is at a premium in small kitchens, like the one in my apartment.
% id = "01JE246DXA4CRQTCZFC8JDNY0C"
- ### The Dishwasher
% id = "01JE27CBDAJ2MMR22A5BBRP53E"
- I don't currently have pictures of this one so you'll have to take my word for it.
% id = "01JE27CBDAJNPEKG39Z1KN9C1F"
- a while ago my parents replaced their dishwasher, as the old one had broken down, and the new one has a touch panel.
not sure if it's capacitive or resistive---probably the latter because, like, _water_---but it's a very good touch panel either way.
quite intuitive to use, and even makes use of sliding gestures, rather than being just a stupid "modern" way of implementing push buttons!
% id = "01JE27CBDASYXTDWW97P4795KA"
- the problem with it is... my grandma.
she is quite senile, and she absolutely _does not_ understand how the heck touch panels are supposed to work---not surprising considering _there's nothing tactile to press_, and her sight is degraded quite badly to be able to read all the icons and text.
% id = "01JE27CBDA07Q6WCFS9QRSCCY9"
+ same thing with the oven there, by the way.
though I'm not gonna complain about its panel, because I find the interface a lot more usable than the Bosch.
% id = "01JE27CBDAKG5NS1KK0C27CBTN"
- the acceleration on the `+` and `-` buttons is a little too fast for my liking, but eh.
at least it increments in minutes, so I can tap the buttons to get a precise value if I feel like it.
% id = "01JE27CBDAZMJFS3TVP1NHF2G7"
- you have to understand here: my grandma did not _choose_ to buy an appliance with a touch panel---my parents did it, probably because the price was reasonable (I do not come from a wealthy family.) she just happens to live with my parents and had no control over the choice.
% id = "01JE27CBDA548CFS47QFN7H068"
- I believe those were fine choices given the budget, but it saddens me to see her struggle with silencing the oven timer when it goes off.
% id = "01JE27CBDAFRWSDTTKZRY071N0"
- she used to be able to operate the old dishwasher, but cannot operate the new one.
% id = "01JE27CBDAJS8SP2CN13VKP114"
- I'm throwing this in as a note that touch panels pose a _serious_ accessibility problem---if you are designing an electric appliance, please, _please_ consider the fact that your device _may_ be used by people unable to use a touch panel, which requires having good sight.
% id = "01JE246DXA6V2AKWEJG3SWQ46V"
- ### The Headphones
% id = "01JE27CBDBMNQ3RJKWZXNBMNGK"
- this is the one that pisses me off the most, because my headphones are probably the device I use _the most_ throughout the day out of this entire list.
% id = "01JE27CBDBEVFRP4SQQ2EDAX9T"
- I have a pair of [Sony WH-1000XM5][wh1000xm5], and while the sound is very good, and the ANC is stellar, I absolutely _hate_ their capacitive touch panel interface.
[wh1000xm5]: https://electronics.sony.com/audio/headphones/headband/p/wh1000xm5-b
% id = "01JE27CBDB1FEHY0TYF0HTE14R"
- thing is that unlike in an oven, which stays in place and you can _see_ what you're doing---headphones are _mounted on your head_.
_they move with you_, and they _stay out of your viewport_.
% id = "01JE27CBDBAC3ECKYXBCKXH0TA"
- this means you have no frame of reference for where and how you're touching.
pair this with touch gestures that rely on swipe _direction_, and you've got a concoction of bad UX brewing real quick there.
careful or it'll boil over! (oops it just did ---w---)
% id = "01JE27CBDBW1BY067GKJX0YGK1"
+ another thing is that _this touch panel is capacitive_.
now, your average straight white male (i.e.: probably the designer that worked on these) wears short hair, but uh...
unfortunately, I am not straight but curvy, _thankyouverymuch_, and I wear long hair. (unlike me, it is not curvy.)
% id = "01JE27CBDBKBMNNZFAEEY6XMTA"
+ guess you could call me somewhat of a femboy.
in fact, random people on the street have confused me for a woman many times.
huh.
% id = "01JE27CBDBBW88753JJ78F64HF"
- though I don't really like the label of "femboy" because it's commonly associated with crossdressing.
which I _don't_ do---{-yet-}---but I do definitely have some feminine traits in myself, so I guess it's only natural to call me one.
% id = "01JE27CBDB83X046C4F3KFB3AB"
- hair is something you have to maintain, especially the longer it gets.
that maintenance means washing it at least once every two days
(which is a frequency that sits firmly on the _bare minimum maintenance_ but _still looks somewhat presentable_ side)
and washing your hair means it becomes _wet_ and has to dry.
% id = "01JE27CBDBM68W9GYCV17TW5EJ"
- [I dunno about you but I'm getting a strange sense of déja vu.][branch:01JE27CBDACQACZHDYWR91KQCH]
% id = "01JE287QG8HZB15B272V2BS19M"
- I've had numerous cases now where my wet hair triggered the touch panel by simply _being_, which is honestly even more infuriating than the chopping-board-on-induction-stove thing.
because, you know, I generally place my wet chopping boards on the stove deliberately, _knowing_ they will probably fuck up my cooking, but _wishing_ it will somehow work this time, out of laziness and time pressure.
% id = "01JE287QG8KNVFPYZ8QMBR49XP"
- at least Sony was clever enough to require a sliding or double-tapping action to do anything with this interface, so I usually just end up hearing the little _\*pem\*_ feedback sound and nothing else happens, but I don't like that it interrupts my music.
% id = "01JE287QG831BBMN3GH663JXTT"
- also I doubt this is a multitouch panel.
I wonder just how many times that has caused me to accidentally skip tracks instead of changing the volume.
yesterday (well, just a couple hours ago really) I did that _once_.
with wet hair.
% id = "01JE75FSD9JQSSXS8FH912EDB0"
- and for the curious.
I don't use a blow dryer because: a) I don't have one, b) it makes it easy to dry out your hair excessively, which can cause damage, c) I don't really mind waiting.
% id = "01JE287QG8KFP5XM3SDSNXNQ4A"
- I guess that concludes it for now.
I don't really like touch panels.
is there anything more to say?
% id = "01JE287QG8H13ZYHVYVM2TRDFC"
- I really wish designers stopped shoving them where they _really_ do not make the experience any better.
% id = "01JE287QG8JNY4J2KYYKY402YQ"
- _focus on the user experience, not the looks, because that's what matters in the end._

View file

@ -18,6 +18,16 @@ if you've been wondering what I've been up to, you've come to the right place.
% id = "01JDTAEQPT6C6P6RSETHMAKTNH" % id = "01JDTAEQPT6C6P6RSETHMAKTNH"
- hint: unlike this page (for now), the Atom feed exposes _categories_ you can feed to your reader to filter out posts you don't want to see. - hint: unlike this page (for now), the Atom feed exposes _categories_ you can feed to your reader to filter out posts you don't want to see.
% tags = ["design"]
id = "01JE75N3B0Y9H53TMJJV7MJY9V"
- ### [touch panels][page:design/touch-panels]
% id = "01JE75N3B0QVR0M05SYR9QVWY3"
- a few examples of bad touch panels on various kitchen appliances (and also, my headphones.)
% id = "01JE75N3B0AER5A3TR2Q5W1WWR"
- designers, please stop shoving touch panels into everything.
% tags = ["programming", "philosophy"] % tags = ["programming", "philosophy"]
id = "01JDZKAP3KT4AD36F6HPJTEM4Z" id = "01JDZKAP3KT4AD36F6HPJTEM4Z"
- ### [Advent of Code feels][page:programming/blog/aoc] - ### [Advent of Code feels][page:programming/blog/aoc]
@ -297,3 +307,4 @@ if you've been wondering what I've been up to, you've come to the right place.

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB