Mac OS/X's magnify feature is not the holy grail, because it zooms not only the entire screen, but ALL attached displays, so the contents of one display spill onto the other display.
It does not solve the problem of zooming just one display (the one you're watching the movie on) while leaving the other alone (so you can continue to do other things on your other display).
It also does not solve the problem of just zooming the VLC window itself without zooming the rest of the display (so you can zoom into part of a video and keep using the other windows on your single display).
On the other hand, the "magnify" user interface built into VLC desparately needs a keyboard interface to control it, because the mouse based user interface for controlling the magnification is just so terribly designed and implemented.
The terrible things about the design of the VLC magnification user interface are as follows:
The magnification is controlled by a curved triangular slider below the picture-in-picture. However, that triangle is rather narrow and short, so it does not have a lot of vertical precision, and the target area is small and hard to hit (especially when the window is not in full screen mode).
And to exacerbate that problem so much that it makes the mouse based magnification user interface almost impossible to use, the TARGET AREA of the vertical slider gets narrower and narrower towards the bottom, as it exactly follows the curved triangular shape of the magnification slider graphics. That was a horribly conceived idea, and on top of that, it's also horribly implemented.
The curved triangular target area is a terrible design decision, and a blatant violation of Fitt's Law:
https://en.wikipedia.org/wiki/Fitts_law
>Fitts's law (often cited as Fitts' law) is a model of human movement primarily used in human–computer interaction and ergonomics that predicts that the time required to rapidly move to a target area is a function of the distance to the target and the size of the target. Fitts's law is used to model the act of pointing, either by physically touching an object with a hand or finger, or virtually, by pointing to an object on a computer monitor using a pointing device. It was proposed by Paul Fitts in 1954.
>Fitts's law is an unusually successful and well-studied model. Experiments that reproduce Fitts's results and/or that demonstrate the applicability of Fitts's law in somewhat different situations are not difficult to perform. The measured data in such experiments often fit a straight line with a correlation coefficient of .95 or higher, a sign that the model is very accurate.
The magnification slider apparently uses a curved triangular graphic to imply that its function is to magnify, and the top of the slider is "big", and the bottom of the slider is "small", with graduated magnifications in between. The curve implies that there is some non-linear relationship between the vertical position and the magnification.
The graphic is at the same time redundant, confusing, deceptive, and ugly.
1) redundant: The user should already be well aware that the slider is used for magnification, because of the heads up display, with a label above it that says "VLC ZOOM HIDE".
The fact that the label is drawn in an ugly, low resolution, upper case font, with very little space between each word, and that the word "VLC" is redundant because we already know we're using VLC, and it serves no useful purpose and just wastes precious space.
There is no affordance to suggest the word "HIDE" is a button that hides the magnification HUD, or that the word "VLC" and the word "ZOOM" are not buttons, so the user has to click on them to discover their functionality. Does clicking the word "ZOOM" zoom somehow, like clicking the word "HIDE" hides? apparently not. What does clicking the word "VLC" do? Why is it there?
The label should simply say "Magnification" in a non-ugly, readable font, so there is no confusion about the meaning of the slider below it, and the "HIDE" label should actually look like a button. Call it "Zoom" or call it "Magnification", but not "Magnification/Zoom". Using two names for the same function in some places, but one name in other places, is inconsistent and confusing (see below). Pick ONE. Stick with it consistently. I suggest "Zoom" since it's a shorter word, and more related to video.
If the label was easier to read and understand, and not confused with a button, then there would be no need to go to such elaborate effort to make the zoom slider look like a curved triangle, at the expense of making it extremely hard to click with the mouse at the lower end.
2) confusing: it's ambiguous what the narrow to wide continuum of the curved triangle actually means, and how it relates to the zoom value.
The "wide/narrow" continuum of the slider could relate to the size of rectangle showing the area you're zooming into on the picture-in-picture above is large/small" where wide top of slider = large rectangle = low zoom value, and narrow bottom of slider = small rectangle = high zoom value. That's a perfectly reasonable (and visually obvious) interpretation, yet it's the opposite of how it actually works.
Or the "wide/narrow" continuum of the slider could relate to the numerical value of the zoom scale is large/small" where wide top of slider = large numerical zoom value = high zoom = small rectangle in PIP, and narrow bottom of slider = small numerical zoom value = low zoom = big rectangle in PIP. That is how it is actually implemented.
But the obvious visual interpretation is superior to the non-obvious mathematical interpretation. This is a textbook case of the programmer's mathematical model (of a numerical zoom value) inappropriately imposing on the user's visual model (I want to make that rectangle I see on the screen larger, so I drag the slider towards the larger end).
3) ugly: The slider is apparently drawn at the resolution of the video, with an extremely ugly aliased jagged stair-stepped curve.
Drawing an unaliased straight line with giant sharp square pixles is ugly, but trying to draw a curve that way is much uglier.
And to what effect? What is the purpose of the curve? What message is it trying to get across, and how important is that message? And what effect does the shape of that curve have on its usability?
The message the ugly curve is trying to communicate is apparently that there is a non-linear relationship between the vertical slider position, and the zoom level. Is that important? Does the user care?
I certainly don't think so, especially given the extremely coarse resolution of the slider, and the fact that the user instantly sees the effect of the zooming as they change the slider, and has to live with picking between the few number of possible zoom scales afforded by the giant stair step pixels of the zoom slider.
And what are the consequences of shaping the zoom slider like a curved triangle, whose curve only serves to make the triangle NARROWER with LESS AREA? The consequences are that it DRASTICALLY REDUCES THE TARGET AREA BY MORE THAN HALF, especially near the bottom, so there are only a couple of zoom scale available at the lower end, and they require extremely precise mouse movement to select.
So summarize: The idea of drawing the zoom slider as a curved triangle was terribly ill-conceived. And on top of that, the notion of limiting the target area to that small area is absolutely insane, bordering on malicious.
Programming it to work that way must have taken a lot of extra effort above and beyond what it would have taken to simply have a normal rectangular slider, with no ugly diagonal or curved stairsteps, and without reducing the target area by more than 50%.
I just cannot understand the though process that went into designing and implementing such a terrible user interface, unless the intention was to actually make it uglier, harder to use, and annoying to the user. Because the end result certainly qualifies for all of that criticism.
The terrible things about the implementation of the VLC magnification user interface are as follows:
1) On a two screen Mac, it only works on one of the displays, and ignores all mouse input when in either windowed mode or full screen mode on the other display.
2) When rotating or transforming the video, the ugly graphics follow the transform, but it ignores mouse input, and/or responds to mouse input in the wrong place. It is apparently not aware of the transform when it comes to mouse input, but is actually drawing on the video BEFORE the transform.
That explains why it's terribly pixelated: the user interface should be drawn ON TOP of the video, at SCREEN RESOLUTION, and it should be able to respond to the FULL RESOLUTION of the mouse input in the SAME coordinate system as it was drawn, including on retina displays.
3) And to top it off, there should certainly be keyboard shortcuts for zooming in and out and panning the zoom rectangle, both continuouly and in larger intervals, because the mouse based user interface is just so terribly unusable.
4) When looping a video, it resets the zoom. There should be a way to control whether or not it resets the magnification when switching videos (either looping to the same one or changing to a different one).
5) Even when the video is show on the one display on which the zoom interface is actually capable of receiving mouse input, and the video is not transformed in any way that confuses it, the mouse tracking is till inconsistent and flakey, so you can't always just press and drag to move the rectangle or change to zoom continuously. It should ALWAYS allow you to press and drag to continuously to change the zoom rectangle position or zoom level, no matter which screen you're on, and no matter what the transformation is. Is that too much to expect?
It really astounds me how terrible VLC's "Magnification/Zoom" user interface is. It belongs in the User Interface Hall of Shame.
http://www.interfacehallofshame.eu/www. ... /shame.htm