21 ms·
Wow those answers are indeed funny. I agree that as an OSS dev/maintainer, it's easy to fall on the vice of over-generalization and crusade for the perfect solu
by j1elo 2y ago
Wow those answers are indeed funny. I agree that as an OSS dev/maintainer, it's easy to fall on the vice of over-generalization and crusade for the perfect solution, and it feels that's exactly what happened there.
> this feature is algorithmically impossible
> You're just looking at one specific video, not the general problem.
> is not generally possible.
As a fellow multimedia dev, man, who cares? Sometimes we forget that software ought to be useful, not hypothetical ideals of truth. Just implement the feature for those codecs that support it and which probably are in the 98% percentile of what users actually use, regardless of the damned "general case".
Or accept and announce shamelessly that you don't have either the knowledge or the development resources to tackle such a complex feature. But excuses about not being possible for absolutely every possible codec in a completely generic way is just denying that the world is just a chaotic and dirty place where things are not ideal nor perfect. Just give your users a real-world solution (or rejection).
- ziml77 2y agoI notice a lot of devs try to deny the chaos of the world. It's almost like the code is where they go to hide from things that can't be cleanly and unambiguously expressed. I don't know how they get away with that though. In the coding work that I do, I'm constantly dealing with rules that have exceptions on top of exceptions. I just need to special-case some things, because the alternative is not delivering what the business needs.
- jbverschoor 2y agoAnd this is exactly the problem when these devs are in charge of creating systems that actually do matter. They will not support edge cases, problems in a process, etc.
- vharish 2y agoI mean.. can you show anyone piece of software or hardware or for that matter any man made creation that solves for all edge cases?
- jbverschoor 2y agoBut it’s just simple things, like allowing an override of a status field. Or using a status field to check something is ok or not, instead of always checking the data itself. People make wrong assumptions, and requirements change. Don’t make it all rigid that you always need to implement every case
- borski 2y agoEverything is a “simple thing” unless you’re the one implementing it. Things that seem simple on the surface rarely are, especially long-term.
- jbverschoor 2y agoI’d say it has to do with not willing to duplicate data. On paper forms, it is simple. Why can’t it be in a digital form?
- borski 2y agohttps://www.quora.com/Why-are-software-development-task-estimations-regularly-off-by-a-factor-of-2-3/answer/Michael-Wolfe https://www.quora.com/Why-are-software-development-task-esti...
- jbverschoor 2y agoThat article means: inexperience and unprofessional. Sounds about right.
- borski 2y agoIf you’ve never written software that needed to be used by tens of thousands or hundreds of thousands of people, then sure, it could seem that way.
- zerkten 2y agoWhen I was hired for my first real programming job, my future manager spent a lot of time asking me questions about how I deal with ambiguity. This stuck with me as a really important element to consider in people, but that doesn't seem universal, especially in tech circles.
- vharish 2y agoThis is a very broad generalization and not a good one either. Particularly in this context. It's obviously not possible to do it for all video formats in a consistent way. I haven't read through all of it yet I could tell all the proposed solutions are hacky ones. Your scenario doesn't apply here. Businesses are different. This is on open source project. Anyone can work on it. What are you even saying about the choas of the world?! Every dev knows how work is. You are just describing every other software job. Somehow it sounds like you are boasting how matured you are just because you do what your client asks/needs. Even then, many business/software make a concious choice to support or not support something based on some guidance. The guidance could be some core principles or just some product managers whim. It's highly likely that VLC developers chose not to support the feature for the very reason(s) that's described in the post. It's a concious choice they made. I don't see anything wrong in that. They definitely are not some school kids with some daddy issues to hide behind some code. They clearly have answered all the questions from a technical stand point.
- ziml77 2y agoBut the hacky solutions actually get done what people want the software to do. The point between me and the parent poster is that a solution necessarily being hacky is not a good reason to not implement a feature. And TBH the VLC example hardly even seems hacky. If you have a stream that can be seeked backwards in, then find the previous I-frame and internally run the video forward to the frame the user wants to see. That is exactly what the user is forced to do manually anyway. As far as it sounding like I'm boasting, all I can really do is assure you that was not the point. I was contrasting my experiences with how people tend to write about software development in blog posts and in comments on places like here. I do not think I'm better than them simply because I am ok with implementing hacky solutions where I think they make sense. But I am annoyed when useful features are denied because it would require a hacky solution. For FOSS, it's entirely within the devs rights to operate that way, but to me that's one way FOSS software can sometimes fall short of commercial software.
- admdly 2y agoOutside of those contributing to open source projects professionally, the vast majority of contributors will (naturally) be those with greater technical abilities, which unfortunately impacts the general UX of free/OSS overall in my opinion.
- marcus_holmes 2y agoBecause it's an open-source project, not commercial software. In your job, you have to special-case some things because the alternative is not delivering what the boss wants. Regardless of the problems this may cause, or how much tech debt it generates - those are (in the end) business decisions, and while you can make a case to the boss that implementing the special case feature is going to cause huge problems, it's the boss's call as to whether it gets implemented. In an open-source project the maintainer is the boss. If the maintainer thinks that the feature is going to cause problems, they're totally free to say "no, I'm not going to implement that feature". And, ofc, because it's FOSS, the user is totally free to fork it, or submit a PR for the feature, or whatever. > just got here from a Google search. I gotta say the replies from Remi sound defensively toxic. I'm not here to program the app, I'm just here to find a simple feature and/or request it. I think Remi sounds curt rather than toxic. There's no automatic right for anyone to go to a FOSS project and request a feature and have it implemented. The maintainer is perfectly within their rights to just say "no". It's their project, their code, their time, and they're free to do/not do anything they like with it.
- somnic 2y agoIf you say "no, we're not pursuing this feature because it's impossible" and users have used other software that implements the feature to a reasonable degree of functionality, you're not doing yourself any favours in terms of shutting down demands. You'd be better off either not giving a reason at all, or giving reasons that are clearer to people who aren't as knowledgable.
- tuxone 2y agoReasons are actually stated, they explained it is not feasible for the general case. Once the devs have made clear they don’t plan to do exceptions (as other softwares do) then users should accept it and move on instead of keep harassing volunteers.
- account42 2y ago... except VLC implements time-based seeking which has pretty much the same requirements and is consequently not possible with literally all files either. But both are possible with 99.99% of video files you will come accross. VLC developers are of course free to reject any feature request but if they do it by bullshitting their users (and that includes tacking on additional requirements that no user actually needs like perfect support for all formats under the sun) then they will be rightfully called out for it. Then throwing a tantrum and citing CoC violations is not going to improve things. It's their project so ultimately they get to choose to run it into the ground but this kind of behavior is not something I want to support as a user os I will stay away from VLC which includes not making helpful bug reports and not donating.
- upon_drumhead 2y ago> But excuses about not being possible for absolutely every possible codec in a completely generic way is just denying that the world is just a chaotic and dirty place where things are not ideal nor perfect. It's also not consistently applied. VLC will happily let you jump around in the videos, so his claim that the only way to do it is to play the video as fast as possible from the start of the video just doesn't jive with what is already there.
- sebastos 2y agoDisagree! VLC is what it is today because the authors understood video standards enough to make the _right_ abstractions that could generalize to ~every video format ever. That is no easy task. Video container standards are utterly perverse, and seem to delight in stomping over even the most innocent intuitions about what you would expect to find in a stream of bits that purports to contain "video". They often refuse to make even basic promises, like "the first frame's timestamp starts at 0" or "every parcel of data has a timestamp". Seemingly reasonable ideas that a neophyte might propose, like "suppose we store the video's framerate-" must be immediately interrupted with "you FOOL, there IS no framerate, nothing can be certain, this video might not even have frames, it might in fact be an interactive gift basket experience merely PRETENDING to be an mp4-". That's just the nature of the beast. A playback architecture that can wrangle all of that cruelty into a consistent experience was hard won. Of course they're not eager to throw new features into the mix that will pollute that mental model, and suddenly introduce thousands of codec-vs-player-feature checks that were heretofore ruled out in principle. At a certain point, the architecture is sacred, and it's the only thing making VLC maintainable. If a feature doesn't work for everything, it doesn't work.
- tumult 2y agoVLC doesn't have perfect compatibility. I think it worked correctly on random video files less frequently than mpv the last time I tried it. And mpv can actually step forward and back frame by frame.
- deleted 2y ago[deleted]
- Dalewyn 2y ago>Sometimes we forget that software ought to be useful, not hypothetical ideals of truth. I've long since come to the understanding that if I want software that are useful, I must go and pay for it. Commercial software exist to make money, and to make money they must be useful. If I want software that are hypothetical ideals of truth, I go and shitpost at the nearest neckbeard communion. Free-beer software exist to satisfy a man's desire to display his voluminous beard, everything else is tertiary.
- fragmede 2y ago> I've long since come to the understanding that if I want software that are useful, I must go and pay for it. Commercial software exist to make money, and to make money they must be useful. Even if it were free, wouldn't you want to do something nice (like give them money) for the person(s) who made the useful thing for you?
- Dalewyn 2y ago[flagged]
- usr1106 2y agoThis might be true in some application areas, but certainly not generally. Where is that commercial kernel that works over a wide spectrum of architectures and system sizes? Where is that commercial compiler that works on many architectures? Where is that commercial packet capture software that people a paying for to get work done? Where is that commercial emulator that can run your operating system on a very different machine in countless combinations. The list could go on and on...
- lupusreal 2y agoWhat commercial video player do you use which is better than both mpv and VLC?
- account42 2y agoIt's the opposite in my experience. Commercial software only cares at most about what is useful to the average user while anything for power users is written off as too expensive to maintain. And these days even if you pay you are often not the main customer since your data and attention is sold to someone else anyway, in which case what is useful to you matters even less.
- DonHopkins 2y ago"I'll be waiting for your patch. Surely you're not as lazy and incompetent as the existing volunteer developers."- Rémi Denis-Courmont I see Rémi Denis-Courmont's arrogant attitude and disrespect for users and developers hasn't improved in all these years. And neither has VLC's spectacularly awful UI. Coincidence, or cause and effect? https://news.ycombinator.com/item?id=13573499 https://news.ycombinator.com/item?id=13573499 DonHopkins on Feb 5, 2017 | parent | context | favorite | on: Nullsoft: The death of the last maverick tech comp... VLC's UI sucks so terribly, it's like they went WAY out of their way to make it sucks on purpose, and stubbornly refuse to acknowledge that there are any problems or ever consider fixing them. One example of many [1]: Type CMD-E (on Mac, or whatever the equivalent is on Windows) to get the video effects window. Select "Geometry". Now check "Magnification/Zoom". Notice how you get a picture-in-picture in the upper left corner, with a white rectangle showing the zoomed area, that you can move around by clicking. But if you press and hold, it also drags the entire windows (on a Mac -- I haven't tried on Windows -- VLC's UI and behavior on Mac and Windows diverges widely so I won't try to predict what happens). Now look underneath the picture-in-picture and notices some ugly upper case pixelated text that says "VLC ZOOM HIDE". See how it's jaggy and rendered at the resolution of the movie you're playing itself, not at screen in a full resolution overlay with readable text? Now look at the triangle with a jaggy curved hypotenuse below the jaggy words. That is the zoom "slider" (which also drags the window when you drag the mouse, so it's more like a clicker than a slider). See how it gets narrower and narrower in a succession of jaggy stair-step chunks, until it's merely one jaggy pixel wide? Well guess what: the TARGET AREA also gets narrow to match the width of the slider, so it's almost impossible to click on the bottom of the slider, to select the larger zoom sizes! Since the zoom slider is not very tall and its pixels fat and jaggy, you don't have fine grained access to very many zoom sizes at all, either. The zoom pixel steps are much bigger than screen pixels, depending on the video resolution! What possible purpose could that serve? Why would any user guess that the lower narrow part of the slider represents a wider zoom showing a bigger rectangle over the picture-in-picture, while the top wider part of the slider represents a tighter zoom showing a smaller rectangle over the picture-in-picture? And what slider have you ever used that gets narrower from top to bottom, with a jaggy curve, and an impossibly narrow hard to click target area at the bottom? This single facet of VLC's terrible UI deserves to be front and center in the User Interface Hall of Shame [2] -- it's even worse than Apple's infamous schizophrenically skeuomorphic QuickTime 4.0 player [3], from 1999! The latest version of VLC in 2017 is still much worse than the shameful QuickTime player was 18 years ago! Who could have possibly gone so far out of their way to design and implement such a terrible user interface on purpose, then smugly brushed off and ignored 16 years of bug reports and cries for help on the VLC message boards, without harboring a malicious contempt for their users? That's not even the worst of it. Now check "Transform" and pick one of the transforms like "Rotate by 90 degrees". Guess what? The magnification interface itself is rotated 90 degrees, because it's drawn on the video before it's rotated, so now it appears at the top right of the screen, rotated 90 degrees itself. And guess what else? The mouse clicks are not even transformed properly, so clicking on the magnification interfaces does NOTHING, rendering it completely useless! Depending on the aspect ratio of the video, you can't even click in the upper left corner where it USED to be and SHOULD still be to operate it, because it is clipped off the right edge of the window. Are those ugly cosmetic and impossible usability problems not bad enough for you? Then make a playlist with one item. Select "Repeat" mode. Play the movie. Now go to the finder and remove, rename or move the movie you're playing, or just unplug the USB stick containing the video. Not an uncommon occurrence, right? Now VLC will hang up, consuming 100% of the CPU time, often times seizing up the entire Mac, turning on the fan, locking out all user input, and forcing you to reboot! This happens to me all the time. These bugs have been around for years. The more you fiddle around with it, testing out the edge cases and trying to combine various poorly designed and implemented features, the more bugs you find. File a bug report, they say. People report these problems again and again. The developers just ignore them and brush them off. I've tried reporting these and other bugs, describing them in meticulous detail, which is frustrating because once I start writing step-by-step instructions to reproduce one problem, I keep finding more and more problems, each worse than the last, and then they just brush me off and ignore my bug reports too. VLC's user interface is maliciously terrible in so many ways, the developers are careless and arrogant towards their users, and there's no hope of the developers ever changing their ways, acknowledging the problems, and improving it. Instead of improving usability for everyone, they're more interested in adding yet another obscure anime decoder feature so they can watch their AMV cartoon porn [4] [5]. [1] http://imgur.com/gallery/g0acV http://imgur.com/gallery/g0acV [2] http://hallofshame.gp.co.at/index.php http://hallofshame.gp.co.at/index.php [3] http://hallofshame.gp.co.at/qtime.htm http://hallofshame.gp.co.at/qtime.htm [4] https://www.videolan.org/vlc/releases/2.1.5.html https://www.videolan.org/vlc/releases/2.1.5.html FOR ANIME FANS New 6.1 downmixer to 5.1 and Stereo from MKV/Flac 6.1. Correct YUV->RGB color matrix in the OpenGL shaders. Improved MKV support for seeking, and resiliancy. Editions support in MKV. Better subtitles and metadata support from MKV. Various ASS subtitles improvements. [5] https://myanimelist.net/forum/?topicid=208770 https://myanimelist.net/forum/?topicid=208770 Now, if you are an AMV (Anime Music Video) creator and want to edit the video directly, the MKV is your best friend since it's a lossless video-content container due to the fact that you will find yourself adding effects to the video frames/audio. In this case you will want to lose as little as possible in your video, so MKV compression best suits. TOPIC ANSWER: The reason why MKV is popular for anime is because of it's noted lossless compression. Anime show creators most likely notice this fact and use it to contain their video frames and audio tracks for maximum quality. - it has nothing to do with HD. derefr on Feb 5, 2017 [–] > Instead of improving usability for everyone, they're more interested in adding yet another obscure anime decoder feature so they can watch their AMV cartoon porn Mind you, FOSS is contributed to by people scratching their own itch. It's not so much that VLC has a lot of otaku developers; it's that a lot of people who watch (or subtitle) "AMV cartoon porn" see a problem with, or missing feature in, VLC, and think "I'm a programmer; I can fix that", and dash off one-off patches. DonHopkins on Feb 6, 2017 | parent | next [–] It just puzzles me that out of eight bullet points summarizing the new features in VLC 2.1.5, one of them was "FOR ANIME FANS" and none of them were "FOR USABILITY". It's the contempt and dismissal that the developers show to usability bug reports when they brush them off and ignore them, which bewilders and frustrates me. Go read some of the discussion group postings and bug reports over the many years, and you will see what I mean. It's a deeply entrenched pattern of behavior. majkinetor on Feb 6, 2017 | parent | prev [–] Its very hard to contribute patch to foss tool in general. There is no substitution for agile development team. DonHopkins on Feb 6, 2017 | root | parent [–] Oh I certainly wanted to contribute to the VLC project and integrate it into my own projects, but after having my concerns that I wrote up in great detail flippantly dismissed with such contempt, and seeing how the exact same thing happened to other users reporting legitimate longstanding bugs who were brushed off and ignored over so many years, I had no interest in contributing after that. It's fortunate that not every open source project suffers from such arrogant developers as VLC.
- hatsunearu 2y agoWonder how mpv deals with backwards step in infinite GOP/long GOP situations.