Minetest logo

IRC log for #minetest-dev, 2022-04-15

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
01:35 erle HuguesRoss rubenwardy i would suggest to use the tool “semgrep” to find specific API usage. entirely unlike grep, it understands language structure. here is an example where I used it to find code that allows dupings: https://mister-muffin.de/p/YbNr.txt
01:41 rubenwardy That's cool
01:41 rubenwardy Also, lots of code duplication
02:00 erle well, it's not like i wrote that code
02:00 erle i just needed a target where it becomes obvious that the general structure is the same
02:00 erle and the bug is the same
02:00 erle but the individual code is so different (look at the envil or jukebox for example)
02:03 erle the dupe is the same in all cases: digging the node results in the air node having the old metadata even after dropping the item
02:03 erle plucking the duplicated inventory literally out of thin air is left as a riddle for the reader, but i know at least three methods (and can provide the CSM, if you are interested)
02:04 erle three motheds without using a CSM i mean ;>
02:04 erle my goal is to figure out how to generalize such patterns well enough so that they are not only useful for a single game or mod but the entirety of contentdb
02:05 erle to exclude entire classes of bugs
02:05 erle but i have no idea how general bugs can be, except “using the API in an incorrect/deprecated way”
04:00 MTDiscord joined #minetest-dev
05:39 calcul0n joined #minetest-dev
05:48 calcul0n joined #minetest-dev
06:46 plhardy joined #minetest-dev
06:54 YuGiOhJCJ joined #minetest-dev
08:45 Baytuch Good evening
10:01 HuguesRoss joined #minetest-dev
11:31 Fixer joined #minetest-dev
12:48 proller joined #minetest-dev
12:55 ROllerozxa is there any reason as to why the GUI buttons have gradients while the rest of the UI is flat? they look kinda off and out of place IMO
12:55 sfan5 it's the irrlicht default
12:55 sfan5 that's all
12:57 erle if you redesign it please don't do the absolute bullshit that is flat design or material design
12:57 erle buttons HAVE to be recognizable as buttons!
13:04 proller joined #minetest-dev
13:13 proller joined #minetest-dev
13:18 proller joined #minetest-dev
13:21 troller joined #minetest-dev
13:26 proller joined #minetest-dev
13:30 proller joined #minetest-dev
13:50 proller joined #minetest-dev
13:52 ROllerozxa yeah so the reason I'm asking is I've been using Minetest with a custom patch for some time that removes the button gradient and I personally find non-gradient buttons to look better and generally fit in more (https://grejer.voxelmanip.se/uploads/Screenshot_20220415_145251.png)
13:53 ROllerozxa erle: do you think it looks like bullshit flat material design or does it still look like a button?
13:54 erle ROllerozxa i would have to compare it to other UI elements.
13:55 erle the problem with the bullshit designs is that input fields, buttons, links etc. can not be distinguished
13:55 erle whereas in non-bullshit designs you have visual cues: input fields have an inset border, buttons have an outset border, stuff like that
13:55 erle ROllerozxa can you make the border shadow more prominent and also show a bunch of other elements?
13:57 erle btw, i use “bullshit” not as a swear word but as “stuff that is devoid of meaning”
13:57 erle http://www2.csudh.edu/ccauthen/576f12/frankfurt__harry_-_on_bullshit.pdf
13:57 erle humbug, drivel, quackery etc.
13:58 erle a good UI makes it possible to infer meaning from the visual cues, and good UX generally does not leave the user guessing
13:59 erle so, ROllerozxa have a screenshot of a test formspec that shows all elements? if you show the normal button, disabled button, pressed button next to it, i can tell if it is bullshit ;-)
13:59 erle active tab, inactive tab etc.
14:08 ROllerozxa https://grejer.voxelmanip.se/uploads/Screenshot_20220415_160148.png here's with /test_formspec, left is with gradients and right is without. minetest doesn't have any disabled button elements and has no real distinction in active/inactive tab colouring
14:09 ROllerozxa so the only thing that has changed is that gradients from buttons are gone. the rest stays the same, more or less
14:09 ROllerozxa (I don't know what happened to the clipping of tabs in the screenshot, most likely an unrelated 5.5.0 vs. 5.6.0-dev change)
14:21 erle ROllerozxa so what is the cue for buttons now?
14:22 erle before: gradient = clickable
14:22 erle even if people can't articulate it and even if it is ugly, such stuff becomes ingrained (you have 10 years of history for it now)
14:23 erle ROllerozxa it kinda pains me saying it, because the right looks less ugly, but the gradients being gone makes it totally confusing for me in terms of how to know what is clickable.
14:23 erle just compare it to the way mcl2 does buttons and you see
14:24 erle or how random gtk themes do it
14:24 sometalgoo joined #minetest-dev
14:25 MTDiscord <MisterE> erle, why can't you just try it to see if it is clickable? Id rather have a better-looking ui. If some recent formspecs I've made, buttons are image buttons, that have no background. You get a clue from their position that they are clicable
14:26 MTDiscord <MisterE> And also, for a formspec replacement, all types of ui styles should be possible
14:26 MTDiscord <MisterE> Including gradient, but also flat
14:29 ROllerozxa erle: yeah fair enough, people would be used to buttons being gradients and if the default button gradient suddenly disappeared engine-wide then it would probably be jarring to some
14:32 ROllerozxa whether it is ambigious whether something is a button I'm not too sure on that. like, input fields are and have been brighter, dropdowns are and have been darker, and tabs are just flat like they've been prior
14:35 erle “why can't you just try it to see if it is clickable?“ … WHAT?
14:35 erle are you advocating mystery meat navigation?
14:36 erle ROllerozxa all the good UIs i have seen that get rid of the gradient replace it with something like the inset/outset stuff. think: windows 98 interface HIG basically.
14:36 erle ROllerozxa the flat tabs actually keep confusing me, even after years
14:37 erle MisterE buttons that are entirely images can be really confusing due to the only cue, the gradient, going missing. what do you mean with “cue from their position”?
14:38 erle ROllerozxa please show me the code for the changed buttons
14:40 ROllerozxa https://github.com/rollerozxa/rollertest/commit/67413de5cf19014d9297f94915f2e3101f83bea6
14:41 MTDiscord <MisterE> Cue from their position: a row of icons at the bottom that only make sense as buttons
14:41 MTDiscord <MisterE> And yes I am advocating that, I think it looks great :P
14:42 MTDiscord <MisterE> And I think its easy enough to figure out flat designs, maybe its because I have groen up with them
14:42 erle look, proper UX is hard. i once made a web page for a game where the download link was right at the top. and people kept asking about it, until i made that part of the page bright pink.
14:44 erle MisterE there are decades of research on the importance of cues and how good usability does not always “look” good. and there are countless people on the internet who “improve” a design just to satisfy some æsthetic craving and it totally makes sense to them. as i said before: good UX does not leave users guessing.
14:45 MTDiscord <MisterE> Games don't need usability as much as workflow apps to
14:45 erle MisterE is the letter A here clickable or not? https://mspoweruser.com/wp-content/uploads/2017/09/can-i-click.png
14:45 MTDiscord <MisterE> Yes
14:46 MTDiscord <MisterE> I would guess yes and not be too disappointed if not
14:46 erle lol
14:46 erle that's the uncertainty
14:46 MTDiscord <MisterE> and in that context I wouldn't care
14:47 MTDiscord <MisterE> https://cdn.discordapp.com/attachments/747163566800633906/964537392973381672/unknown.png
14:47 erle the nielsen group has done an eyetracking study on flat design to figure out if it makes stuff better https://www.nngroup.com/articles/flat-ui-less-attention-cause-uncertainty/
14:47 MTDiscord <MisterE> here is my example^
14:47 erle TL;DR: users are 22% slower
14:47 MTDiscord <MisterE> for games, doesnt matter
14:48 erle MisterE nice dialogue, but … are all the graphics clickable?
14:48 MTDiscord <MisterE> and once you learn a ui, you remember what is clickable and what itsnt
14:48 erle like what happens when i click on the worm
14:48 MTDiscord <MisterE> only the bottom 3 are
14:48 erle WHAT
14:48 erle this is disgusting
14:48 MTDiscord <MisterE> the worm is in a scrollbar
14:48 MTDiscord <MisterE> its a list of achievements
14:48 erle there is absolutely *no* indicator that those bottom 3 things are not just decorative elements
14:49 erle in fact, the same golden cup is there and in the top thing … clickable and not clickable, same symbol???!
14:49 MTDiscord <MisterE> except... that its a simple dialouge, and they are clickable. Users will experiment with it and discover that they are clickable and otehrs not. And because its so simple, it works
14:50 MTDiscord <MisterE> now, if you have a cad program, its absolutely essential to know what is clickable and what isnt with obvious buttons
14:50 erle please don't take this as an insult: you should learn interface design
14:50 MTDiscord <MisterE> because the ui is so complicated
14:50 erle uh no
14:50 erle it's always important
14:50 MTDiscord <MisterE> you should accept that others have different ui tastes
14:51 erle i don't have to. there is always people who think it is a matter of taste or fashion. it is a matter of science.
14:51 erle some UI conventions work massively better than others, the nielsen group has made a business out of that actually
14:52 MTDiscord <MisterE> no, its not. For important work applications, yes it is. For entertainment, you can spare some time to learn the interface, especially if it is simple
14:52 erle there are actually UI elements that are so bad usability-wise that you know people put in minimum effort or suck at prioritizing information. the hamburger button for example.
14:53 erle if you see a hamburger button, you know someone did not put in effort. they just stuffed everything in there that they did not want to think about.
14:53 erle and for entertainment, it is especially important that the interface works. otherwise it breaks the immersion.
14:53 erle and that conventions are not broken
14:53 MTDiscord <MisterE> I like hambuger buttons... I have seen them everywhwere so I instantly know what they are... a menu with settings
14:54 erle oh i am not saying that they are unusable. but they don't work as well as the alternatives AND the alternatives take time.
14:54 erle to design
14:54 MTDiscord <MisterE> ... for the older generation, yes
14:54 erle i think you misunderstand. this is not a story of taste or generations or something.
14:54 MTDiscord <MisterE> for those who have learned what they are, they are more effective because they take up less space
14:54 erle oh my
14:54 MTDiscord <MisterE> and convey meaning instantly
14:54 erle please wait here, i can explain
14:55 MTDiscord <MisterE> we should move to minetest
14:55 erle okay
14:58 Desour joined #minetest-dev
15:14 HuguesRoss joined #minetest-dev
15:20 sfan5 "for entertainment you can spare designing an inefficient user interface" ?!
15:21 sfan5 ROllerozxa: [Screenshot_20220415_145251.png] IMO the color is too dark for a button, if you remove the gradient it should use the lighter of the colors as fill background
15:22 erle yeah i also noticed that it becomes less readable, but i wanted to focus on the cues.
15:24 erle i think a very easy change that most people would “get” is: make buttons outset (at least 2px border), make input fields inset (at least 2px border). redesign tabs to be like buttons open at the bottom. ROllerozxa could you maybe make that change quickly and share a screenshot?
15:24 erle i would do it myself, but i do not know how
15:24 proller joined #minetest-dev
15:25 erle ROllerozxa for proper default colors, you can use the formula from WCAG 2.0 for AAA contrast to see if foreground/background contrast is okay.
15:25 MTDiscord <MisterE> for entertainment the instant suability of a UI is not as neccasary as for a tool
15:25 MTDiscord <MisterE> *usability
15:26 erle you keep saying that like a person who has never lost a hard-to-acquire item in a computer game due to shitty interface design
15:26 MTDiscord <MisterE> it should not be too hard to figure out
15:26 MTDiscord <MisterE> that might be true...
15:26 MTDiscord <MisterE> I played no mans sky for a bit
15:26 MTDiscord <MisterE> the UI was confusing at first
15:26 MTDiscord <MisterE> but I was able to figure it out, and then it was ok
15:27 erle well, bad discoverability does not necessarily mean bad usability. emacs is hard to learn, but has good usability.
15:27 erle problems start if *no matter what experience you have* you can not distinguish things at a glance
15:27 erle then games get frustrating
15:28 erle well, everything gets frustrating. but with games, it takes you out of the flow.
15:32 ROllerozxa erle: buttons are already outset but I don't know how many pixels, looks like 2 pixels?
15:33 erle ROllerozxa then make it 4. i have a hard time seeing it.
15:33 erle ROllerozxa, for contrast: calculate the relative luminance of text color and background color according to the formula here https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html#dfn-relative-luminance
15:34 erle ROllerozxa then after the L = 0.2126 * R + 0.7152 * G + 0.0722 * B dance (read the page, it is not simply RGB values) you do (L1 + 0.05) / (L2 + 0.05) to find the contrast ratio. it should be at least 4.5
15:35 erle there is software linked on the page that does this automatically for you
15:35 erle L1 is the luminance of the lighter color, L2 the one of the darker one
15:35 erle in fact, even when keeping the gradient, it makes sense to scour minetest for bad defaults here
15:37 erle sfan5 are you aware that crashing windows builds of minetest can leak some of the information about your dev machine where you built it, like your username?
15:38 erle assuming you build the windows builds
15:38 erle a friend of mine had a crash where the path was definitely not existing on their machine
15:39 sfan5 of course
15:39 erle okay. i just wanted you to know because sometimes people don't realize the info leaks.
16:45 Krock will merge #12194 in 10 minutes
16:45 ShadowBot https://github.com/minetest/minetest/issues/12194 -- upright_sprite: Fix walk animation in first person by SmallJoker
16:54 Krock merging
17:12 Desour joined #minetest-dev
17:29 Krock who thought that "on_secondary_use" was a good name? It's the opposite button of "on_use"
17:42 erle “git blame” is your friend?
17:48 Krock it won't change anything. 6 years too late. https://github.com/minetest/minetest/pull/3382#issuecomment-161159654
18:07 Taoki joined #minetest-dev
20:55 Desour joined #minetest-dev
22:35 panwolfram joined #minetest-dev
22:47 proller joined #minetest-dev
22:53 proller joined #minetest-dev

| Channels | #minetest-dev index | Today | | Google Search | Plaintext