6 ms·
Hostile Volume – A game about adjusting volume with intentionally bad UI
- Pipe94 7mo agosomehow i'm amazed and annoyed at the same time
- Findecanor 7mo agoI have encountered the rate-limited spinner (#8) and the self-resizing slider (#5) in real desktop UIs. #3 are almost like Google Maps' zooming buttons. They jump around more, making you click on the map itself or swap in/out.
- jupin 7mo agoLaughed out loud but gave up at level 5
- deleted 7mo ago[deleted]
- Retr0id 7mo agoThere are two types of volume slider I've encountered thus far, "too logarithmic", and "not logarithmic enough".
- embedding-shape 7mo agoThat's because one ear is logarithmic-based and the other is exponential-based. Which one differs per person.
- JulianWasTaken 7mo agoDo you have a source, that seems unlikely at face value to me, though I've never gone and looked for perception studies myself.
- KolmogorovComp 7mo agoIt’s satire.
- JulianWasTaken 7mo agoAlways hard to tell.
- graypegg 7mo agoI think they're joking, this is on a thread about silly volume control UX
- ErroneousBosh 7mo agoIt's actually possible to turn a linear pot into an approximation of a log pot by wiring a resistor in parallel with the wiper and one end. The volume pot is a voltage divider so the amount it "scales" by is given by Scale = Rbottom / (Rtop + Rbottom). But, if you put a resistor in parallel, you need to work out that: R = 1 / ((1 / R1) + (1 / R2)) or Rbottom = 1 / ((1 / Rbottom) + (1 / Rfixed)) where Rfixed is the amount you're "bending" it by. So you could make the amount of "logness" be adjustable by having another (linear) control to vary Rfixed. You'd work out, for a pot rotation Vol from 0 to 1: Rbottom = 1 / ((1 / Vol) + (1 / Rfixed)) Rtop = 1 - Vol Scale = Rbottom / (Rbottom + Rtop) Now for those better at arithmetic than me, how can you reverse this? Imagine you've got a pot in a piece of equipment with a resistor between the wiper and ground giving a log curve, and you've got to read that with an ADC and turn it back into the linear position of the wiper. It ought to be possible but I've always sucked at arithmetic.
- dsmason321 7mo agoLevel 17 is NOT bugged. The slider is backward and the volume nonresponsive. Its a planned feature.
- apublicfrog 7mo agoYes, this took me a very long time to work out.
- washadjeffmad 7mo agoI still like to pretend that everyone played flash games growing up
- tobr 7mo agoMeanwhile, iPhone is still using this design https://xkcd.com/1884/ https://xkcd.com/1884/
- jimkleiber 7mo agoGot an error on Level 17, just a heads up. Love the game, btw.
- dsmason321 7mo agoIts intentional. Glad you like it!
- deanCommie 7mo agook but i manually used arrow keys to set it to by clicking right 25 times, and that didn't work, so i gave up.
- chaps 7mo agoYeah, I took that to mean to refresh the game and so I did.... and then lost my progress :(. I really want to play the rest but I don't want to go through the rest of the levels.
- tenderfault 7mo agothat’s not an error
- Daminoup 7mo ago[dead]
- TheLNL 7mo agoFinished the game. It was fun to play. I got stuck for a while on the opposite level where the display doesn't update, but was able to go through the rest just fine
- macromagnon 7mo agoI could tell in edge that right side was muted based on the icon next to the address bar and noticed you could use arrows to move one by one so just pressed left 25 times.
- apublicfrog 7mo agoMuch harder on a mobile device!
- xnx 7mo agoThe worst volume control UI in the world (2017): https://news.ycombinator.com/item?id=27819384 https://news.ycombinator.com/item?id=27819384
- graypegg 7mo agoThis is not an issue at all, but when ever I come across something like it, I like to poke at the frontend in dev tools a bit. You can pass most levels with `setVolume(25)` in the web console, since that function is just sitting in the document object. That feels like the ultimate volume UI puzzle heh.
- dsmason321 7mo agoI'll have to patch that!
- wizzwizz4 7mo agoI had to use it for #19, since YouTube doesn't load on my machine. Patching it would make the game unplayable past level 19.
- diacritical 7mo agoPlease don't. The game was fun, but level 22 didn't work on Tor Browser due to CORS errors. At first I thought the "NETWORK ERROR. TRY AGAIN" was part of the game until I saw the actual network tab. I wouldn't have made it past level 22 if not for the console command. Plus, if someone wants to cheat, why not?
- DrSiemer 7mo agoPlenty of annoyance in here for sure. Looks like 17 cannot be finished on mobile though. Switching to desktop view resets progress.
- dsmason321 7mo agoIt works fine on mobile. Planned feature. You'll encounter the same offscreen popup on desktop.
- RRRA 7mo agoNot sure how on desktop either, I've inspected the value and set it to 25 to no avail :P edit: ok... somehow my approach didn't work the first time, but got to 18!
- apublicfrog 7mo agoLook where the slider sits initially at 75%, not the same as earlier levels ;)
- anwar_nairi 7mo ago[flagged]
- deleted 7mo ago[deleted]
- jonathanlydall 7mo agoMy favourite bad volume control was in Real Player around 1997 where changing the volume in the application actually changed the global volume of Windows.
- whycome 7mo agoThat was a hardware/software thing as far as I remember. If it was using something like DirectSound it would adjust the audio independently. Other media players did the same thing.
- jonathanlydall 7mo agoIt was definitely noteworthy that it did this since I was used to other programs not doing so, for example Winamp, I would also have thought Windows' Media Player did not do this, but I can't remember for certain.
- anyfoo 7mo agoI feel like that was super common. Apart from changing the volumes of entire channels (e.g. changing the level of Line In vs. digital sound), volume was a relatively “global” thing. And I’m not sure if that was still the case in 1997, but most likely changing the volume of digital sound meant the CPU having to process the samples in realtime. Now on one hand, that’s probably dwarfed by what the CPU had to do for decompressing the video. On the other hand, if you’re already starved for CPU time…
- jonathanlydall 7mo agoI mentioned this in another thread now, but it was definitely noteworthy to me that it did this since I was used to other programs not doing so, for example Winamp, I would also have thought Windows' Media Player did not do this, but I can't remember for certain.
- anyfoo 7mo agoWinamp had a software equalizer with a preamp, which was noteworthy. Are you sure changing the volume did not mean changing the preamp level in Winamp? If you turned off the preamp (could be directly done in the EQ window I think), what did the volume control actually do?
- danjl 7mo ago...and, of course, there's really no need for a volume control in any app, since there's already a system volume...
- f1shy 7mo agoThere are cases where you want to have 2 applications running and playing sound, and want to set the relative volume of each...
- XorNot 7mo agoI mean technically that is a system level feature...and there's nothing really wrong with an application adjusting it's own volume as defined by a system level volume setting for that app.
- hdgvhicv 7mo agoThat’s what your system volume app does - each process outputting sound has its own slider and you can mix them at various levels.
- watwut 7mo agoPlease dont. I do not want to do that much clicking to mute your app. Have own slider and have it easily instantly accessible.
- wild_pointer 7mo agoHilarious, some of them are easy with the keyboard
- LoganDark 7mo agoThese mostly seem to be variations of "takes a long time / is tedious" rather than "annoying/fiddly / takes skill / is creatively bad", which is a little disappointing.
- pimlottc 7mo agoThis works for almost all levels: for (i = 0; i < 50; i++) { document.querySelector("#l3-down").click(); }
- burgerone 7mo agoPrwtty neat. Unfortunately wasn't able to solve the UI desync one :/
- cue_the_strings 7mo agoIt's inverted, 100 == 0, 75 == 25
- mdx97 7mo agoLevel 27 is not possible.
- dsmason321 7mo ago[dead]
- croes 7mo agoIt was actually one of the easier ones
- apublicfrog 7mo agoGreat fun, well done to the horrible person who made it. Apparently my RSS reader leaves the browswr live in the background, as the audio is still playing. Horrible to do on a mobile device. Worst level by far was 17.
- dsmason321 7mo ago[dead]
- susam 7mo agoI often write small userscripts to neutralise hostile or annoying UI patterns. I played the 'Hostile Volume' game for a while. Nice game! After a while, I wondered: if this were a real hostile website, could I write a userscript to make each level happy? Here is the script: // ==UserScript== // @name Hostile Volume Winner // @match https://hostilevolume.com/ // ==/UserScript== (function () { const s = document.createElement('script') s.textContent = ` (function () { function visible (id) { return !document.getElementById(id).classList.contains('hidden') } function win () { if (visible('victory-screen')) return if (visible('instructions-modal')) { document.getElementById('start-btn').click() setTimeout(win, 2000) return } setTimeout(function () { document.getElementById('l13-age-input').value = '01011970' window.cancelAnimationFrame(levels[currentLevelIndex].frame) }, 100) window.setVolume(25) setTimeout(win, 3500) } win() })() ` document.body.appendChild(s) })() If you don't have a userscript manager, you can just copy the script between the two backticks and paste it to the web browser's Developer Tools console.
- ua709 7mo agoI am familiar with this game. I play a variant of it on iOS everyday, sometimes multiple times a day, with my AirPods and iPhone. I'm not very good though. Somehow iOS always wins and finds a hostile volume to initiate playback with regardless of what I do with the UI.
- mort96 7mo agoiOS is great! I especially like how they tied the "alarm through speakers" volume to the "notifications through earbuds" volume so that you can choose between "loud enough to wake you up in the morning and also burst your ear drums when you receive a notification with earbuds in" and "quiet enough to make notifications comfortable and also not wake you up in the morning". Truly genius parody of hostile UX.
- ikekkdcjkfke 7mo agoTheir audio router (if any) needs a rewrite
- MereInterest 7mo agoI particularly love how they will periodically choose to only use the selected Bluetooth device for audio output, and will instead switch back to the builtin microphone. The builtin microphone may be in my pocket or across the room, and so the only indication I get is when the person on the other end of the line says that I’ve dropped off. Nothing changes in the UI to indicate this, nor could I find any setting to change this. Sometimes swapping the audio away from the headset and back to it helps, but it it at best a temporary fix.
- sourcegrift 7mo agoIm just happy theres someone out there who cares for masochists.
- benryanx 7mo ago[dead]
- Culonavirus 7mo agoEnded on the wheel of misfortune. Ain't nobody got time for dat!
- hsuduebc2 7mo agoThat was terrible. Thank you.
- VerifyID 7mo agolevel 19, after watching the video a wonderful 4 times it doesnt unlock anything to change the volume. the only saving grace setVolume(25) has been patched :(
- ahme 7mo agoUnbearable. 9/10
- ironcow 7mo agoVery interesting idea! Was happy when It was over haha good work!
- Leomuck 7mo agoWhat the hell. I got so annoyed at level 5 I had to quit :D But I love the idea. It can actually teach you a lot of things about UI design.
- croes 7mo agoAre you playing on mobile? It's easier on desktop
- LocalH 7mo ago14m45s. 1,042 victims before me. Diabolical villainy in this game