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 |