https://ux.stackexchange.com/a/52349/43259
The problem with this idea is that the arrow pointer was never the only cursor. On the first Macintosh, there were many others including the text I-beam and a couple of kinds of crosshairs. And you could define any cursor of your own by providing a bitmap and transparency mask and the hotspot position.
You can see some of these cursors in the original Inside Macintosh Volume I and also in previous works from PARC.
https://web.archive.org/web/20230114223619/https://vintageap...
Page 50 of the PDF (page I-38 of the document) shows some sample cursors.
Page 158 of the PDF (page I-146 of the document) has the pixel detail and hotspot locations for several cursors.
Fun fact! The hotspot for the arrow cursor was not (0,0) but was (1,1).
Can anyone explain why? I think I used to know, but it has long since escaped my memory and I would appreciate a refresher.
This page also has the definition of the Cursor structure:
TYPE Bits16 = Array[0..15] OF INTEGER;
Cursor = RECORD
data: Bits16; {cursor image}
mask: Bits16; {cursor mask}
hotSpot: Point; {point aligned with mouse}
END;
Point is defined on page I-139 and is more or less what you would expect, a pair of vertical and horizontal coordinates.To be clear, the scary part is not that someone came up with the idea that (0,0) saved a few instructions. In fact, the notion came up elsewhere in this HN discussion. It's a perfectly reasonable hypothesis, until you realize that there are many cursor shapes that require different hotspots.
The scary part is that 188 people upvoted this answer!
Because laymen massively outnumber experts, the layman vote always overwhelms the informed one, so the reaction of people who don’t know the subject is the only thing that matters. Truth only seems to matter because most subjects either can be somewhat intuited by non-experts, or are in a niche that you’re not, so “layman plausibility” means your reaction, too. But the true nature of the dialog reveals itself as soon as people talk about something you’re an expert on.
Answers like this aren’t a bug in a truth machine, they’re a plausibility machine working as designed.
So people can state absolute absurdities and have people agree.
Let me guess: Tax brackets? That's the one thing that most regular workers in the US just don't seem to understand (and arguably, many people knowingly spread falsehoods to further some agenda).
> The phenomenon of people trusting newspapers for topics which they are not knowledgeable about, despite recognizing them to be extremely inaccurate on certain topics which they are knowledgeable about.
It's really a great strength of human species. We may not exceed animals in any other quality, except for persistence hunting, but we are exceptional at copying the behavior of other individuals of our species without considering whether it's sensible or not. Even monkeys don't do this as much as humans.
It's no surprise that people who lack expertise will downvote and actual expert. I see it happen every day when people try to be the smartest person in the meeting or just simply cannot allow anyone to think they are wrong.
Sometimes that is because experts just say "I am an expert so trust me" without proper explanations or links to explanations or evidence.
I mean just look to politics, that already explains enough!
in my experience thats true, its less familiar
The linked SO page is a page of complete speculation.
History isn't just a bunch of logical thought exercises, it's an assembling of documentation and evidence.
As far as I can see, there is no contemporaneous documentation claiming intentionality so the question remains unanswered.
A smoking gun would be a file with a name like cursor.bitmap or some code like "declare cursor_default = [ [ 1, 0 ... ] ];" from a major source (ms/xerox/apple) say, pre-1988 or so, with some comment above it explaining the rationale of why that cursor style in particular. I'd even accept a more minor source like Acorn, Digital Research, Quarterdeck, NeWS, VisiOn or MIT Athena (X).
Finding something that talks about say, lightpens and then defends the mouse cursor style in that way is working backwards from a hypothesis. It's weak and doesn't preclude other possibilities. Let's be rigorous and get it right.
The Inside Macintosh pages from 1985 I cited above may be what you're looking for.
Especially page 158 (I-146).
It doesn't give a longwinded rationale of why you need an X/Y hotspot offset, it does much better than that. It shows you several cursors with their hotspots, so you can see why a hotspot is needed. And it lists the data structure to support it.
The next question is why you need a white outline around the black arrow.
This is easy to answer: if you didn't do that, what would the black arrow look like against a black background?
There's an amazing video by Posy documenting mouse cursor history, and even provides his own cursor pack:
The scary part is that you will likely be saying it again in another ten years and again and then you’ll die as “that weird cursor offset obsessed fanatic”.
My assumption (not having an old Mac or documentation to confirm it...) is that the tip of the cursor had to be at (1, 1) to allow for a pixel's worth of mask around the outer edge of the tip.
the first macintosh was very late to the party, there had already been GUI cursors for about a decade at PARC, and cursor styles had settled down to some standards.
in the early days of GUI cursors on relatively low resolution displays (by today's standards), an important issue was to reduce the amount of calculation and squinting the human had to do to identify the hotspot so you could accurately select/swipe what you wanted to. the tilted arrow cursor points right at its hotspot quite effectively even if the tip pixel is blurred, as does the i-beam (whose vertical offset is not as important to know accurately) the five fingered hand for moving bulk selections also does not require accurate placement, although I think the hotspot is at the end of a finger.
early GUIs let you edit your own cursors and hotspots.
If you then design your cursor to be nice and pointy so it doesn't obscure the thing you're trying to click too much you end up with two angles where if you bisect them you're no longer at an integer ratio angle. So some fudging for the cursor tail is required.
Of course these days cursors are generally high resolution vector art, so none of the integer ratio angle concerns apply, but I assume most vector cursors originally got traced from their pixel predecessors.
This is all from memory and I was quite young back when any of this was relevant, so caveat emptor.
Perhaps it's because cursors have a one pixel wide black border around them to enhance contrast, but users associate the cursor's position with the first bit of white (or color) at the tip. (0,0) is colored black for a typical cursor.
Edit: ninja'ed further down.
Humans are tool makers and tool users. After enough time the tool becomes an extension of the body, even if the tip of the tool is mechanically or virtually detached from the hand that is controlling it. The tool maker designed this as a right-handed tool, coming into the frame in the right hand.
If the reason for the tilt direction was not this, then there would be no reason why it shouldn't tilt the other way. If you're right handed, try a right-leading cursor . It doesn't just look wrong, it feels wrong because it looks like a tool held in the left hand.
Does this have an effect on left-handed people? Perhaps. I'm left handed and it always felt wrong to use the mouse in my left hand. Is it because of the direction of the tilt? Who knows!
The tilt on the cursor has never seemed odd or wrong or strange to me in any way.
I've been using computer mice in one way or another for more than 30 years and perhaps a lack of oddness comes from having so very much gotten used to it. Maybe newer left-handed mouse users would find the cursor tilt strange?
Not sure if people realize, but this setting is changeable, probably since the times of single-digit Windows.
The "wrong"-pointed cursor annoyed me so much I had to find a utility to flip it. (On a Mac, which doesn't support custom cursors like Windows has since forever.) It seriously drove me nuts otherwise.
So it's really interesting to hear that if it was always that way for you, it doesn't bother you!
Seems inconsiderate from my parents, but I think they just didn’t think about that aspect.
Everything, or in this case the second answer on the linked page ;) I do believe you are (both) on to something though.
It feels foreign only for a little bit. I'm right-handed but started developing RSI in my right wrist from using the mouse with that hand, so I've been using my left hand for over a decade now and no issues. The brain is very adaptable. For instance, we very quickly adapt to seeing the world upside down:
https://theguardian.com/education/2012/nov/12/improbable-res...
I also use the mouse with my right hand and I'm always surprised by how many left-handers actually ended up using the mouse with the right. It's quite strange. Even stranger, was a right-handed colleague who decided to use the mouse with her left.
OFC you can set that graphically, but this way it's universal.
I say this because I use multiple computers and depending on when and where I am using them, sometimes want the mouse on the left. In addition to it "feeling wrong" to use a right handed cursor with my left hand (I swear it physically gives me cramps), having the cursor not match the buttons is super frustrating.
Once I got used to the direction of the cursor indicating the button configuration, it comes pretty naturally to click appropriately, even on occasions where I am using the mouse with the 'wrong' hand (because I'm using the other hand to pet a cat or drink my coffee or something).
On Windows 10/11, it's relatively easy to swap the buttons, but then I have to go into another, much more deeply buried menu (the old control panel that they seem to want to bury but can't get rid of because the Windows settings team is apparently too incompetent to put all the stuff you really need in the new configuration screens) to change the cursor to match. So then there's 5 seconds or so where the cursor doesn't match the button configuration during which my bones want to jump out of my wrist and then I need to go take a break. And for some reason, Windows 10 on my work computer seems to remember the button configuration but forget the cursor setting between reboots, so there's always a minute of confustion, there.
Also, if you're going to write some program with a cursor, DON'T OVERRIDE THE OS CURSOR WITH SOME {RIGHT|LEFT}-HANDED THING! I'm looking at dumb Acrobat Reader. The arrow in that program always points to the left even if I've flipped things in Windows, and then I get all confused when I try to click on the menus as if the mouse is in its right-handed configuration when it actually isn't.
I seem to recall some Linux distro that I used once upon a time getting this right, where there was an option to flip the cursor and the buttons at the same time. But I haven't seen that for a while.
Relatedly, why can't I have multiple cursors? There have been times when it would have been convenient to have a mouse plugged in on the left and the right and just have them both show up on the screen (pointing to the right and left, respectively, of course, with button configuration to match) so I could easily switch to whichever was more convenient at the time. Or for when $handedness-handed coworker wants to drive (just use the cursor that you normally would!). Best I found was some AutoHotKey script that didn't do quite what I wanted. Why does the OS layer need to assume exactly one cursor? Dumb if you ask me.
"The Parc mouse cursor appearance was done (actually by me) because in a 16x16 grid of one-bit pixels (what the Alto at Parc used for a cursor) this gives you a nice arrowhead if you have one side of the arrow vertical and the other angled (along with other things there, I designed and made many of the initial bitmap fonts). Then it stuck, as so many things in computing do."
https://archives.loomcom.com/contraltojs/
and follow the instructions under "Running Smalltalk 76".
https://www.theatlantic.com/magazine/archive/2024/03/faceboo...
giving the appearance that the mouse is tilted.
https://www.youtube.com/watch?v=YThelfB2fvg
It runs through the history of mouse cursors, as well as problems with some of the standard ones, and shows, among other things, historical cursors which were straight and not tilted.
It is one of those amazing videos that make the internet worthwhile, is short, and is by the author of Posy's Cursor Pack, http://www.michieldb.nl/other/cursors/
He never mentions the NeXT environment, DPS and differences in DPI, their own black and white arrow cursor, and how that cursor actually came into Mac OS X, not the one from System 1 and onward.
Hmm.
I use his set on Windows (It looks awesome) and on Ubuntu, the Linux port from here:
https://mspoweruser.com/wp-content/uploads/2020/04/windows-c...
An alternative explanation is that this intentional imperfection exists to match the unavoidable imperfection which occurred when the cursor graphic was originally drawn as tiny low resolution 1-bit pixel art. It looks correct because we're used to it being slightly wrong. And when viewed at a normal size, the difference is barely perceptible anyway.
[0] https://mspoweruser.com/why-windows-10s-asymmetrical-cursor-...
[1] https://old.reddit.com/r/TIHI/comments/fwnep0/thanks_i_hate_...
[2] edited, thanks jusuhi
Additionally, Windows 10/11 go to some extent to hide cursor scaling from applications. Win32 GDI/USER calls only see the base 32x32 arrow cursor and only DXGI Output Duplication (screen capture API) can see the real cursor. This causes other problems, though, such as various bugs and inconsistencies with custom cursor images.
As an aside, as a typical Amiga quirk, the early Amiga mouse cursor was tilted in a 45° angle to the x axis, contrary to all the other popular GUIs with more acute angles for the cursor. And there was a built-in tool for creating custom mouse cursors, which I personally loved. See for example http://toastytech.com/guis/amiga12.html
The style was changed to a sharper point in Amiga OS 2.0 but it was still slanted 45°. First on the Amiga 1200/4000 with AGA could you get a high-resolution mouse pointer.
Similar to the Macintosh mouse pointer the click point was not at (0,0) but at (1,1) (the orange point in the skin colored area in the editor on the linked page).
For starters for normal desktop usage like >95% of the time the thing I want to click on isn't under the mouse yet so it doesn't obscure anything. Instead I move the mouse to it and by the time the mouse is there I don't care what is under it anymore because the decision to click it was made already.
Second when the mouse is over something I need to be able to read it seems I tend to move the mouse away (even when it's over text and turns into a straight cursor). The reason being that no matter what cursor is used its lines are typically wider and higher than the lines in rendered characters underneath so always obscures something. In other words: even if the cursor weren't tilted it would still obscure the same amount of surface, but just in a slightly different location. And that's really only slightly so for practical use won't matter.
Wrt where something is approached from: that depends on where the cursr is and where the target is. It would be really interesting to put this in a heatmap from daily usage, but I quickly checked some of the things I access often, like in my bottom taskbar and browser tab bar at the top, and since the things clicked often are both left and right of the screen and my cursor can be seeminlgy anywhere there might still be one approach direction used more but only by some marging.
Lastly most software I checked where obsucring could actually matter (e.g. CAD) uses custom cursors like 1 pixel wide crosses etc, not something tilted.
I later found it much better for me to simply use my right hand for mousing about, leaving my left hand free for taking notes.
A usual GUI for the most part has straight edges and certain symmetries. A cursor that is similarly symmetric will blend in more easily, and get visually lost.
Which way it tilts is secondary, the irregularity of the tilt itself against the rest of the interface is key.
Random thought.
It's not just a question of historical fact. There's where it originated from. Then there are the documented reasons they first did it that way. Then the undocumented but plausible reasons it started that way. Then there are the reasons it has stayed this way. Those reasons aren't facts, they're counterfactuals.
Implicit in asking why the mouse cursor is like this is asking why it isn't a different way. If there was a better enough cursor, it would have won out. So all of its reasons of functionality, even the ones the inventor didn't think of or didn't matter historically, are part of why it is the way it is today.
Then, when implementing a more 'remote' on-screen pointer, the notion of pointing perpendicularly at the site was best projected by a tilted 2D marker.
Think of the mouse pointer kinda sticking out of the screen as a dart.
I can't imagine the arm strain the users of the light pen had to endure back in time ... Though the workflow was probably still more keyboard-bound.
When you have so few pixels, you really want to be able to use the exact pixel you intend.
EDIT: Another thought that crossed my mind is that with very lo-res screens a corner is the only way to get a well defined and sharp (yet fairly wide) arrowhead. The trade-off would be the shaft being pixelated, but the tip is more important.
For all practical purposes, I observed 2 other things.
The first is that English is written left to write. If you ever had the experience of using a different language that starts from right to left, this same arrow feels weird.
And the second is a little activity experience.
1. Arrange the 4 files in a square box, 2 up 2 down
2. Notice that as soon as the sharp point of the arrow touches any file boundary, the arrow can select the file by a pixel difference that you can't with a straight arrow (ease of use)
3. It also takes a constant number of operations (best case scenario) compared to the straight arrow where the algorithm has to decide based on the percentage of how much of the straight arrow shape hovers over another file to select
Here's the power-on procedure for a UNIVAC I:
http://bitsavers.trailing-edge.com/pdf/univac/univac1/UNIVAC...
Ockham's Razor. It really is that simple. Having had to do a lot of "dot art," in The Days of Yore, I understand perfectly, why this choice was made. Some systems did an "unfilled" arrow, with just the outer barbs. Same angle of the shaft, but the barbs were at 90 degrees. Leaning left was chosen, because of the prevalence of righties. The "unfilled" arrow was easier to confuse with the background.
I suspect that many of today's programmers would be absolutely aghast, at the resolution of our screens, back then.
ResEdit FTW!
For subsequent implementations it is likely mostly inertia.
Again this is all speculation but it doesn’t really have to be any more complex than that.
As a side note in the early 80s as a teenager I wanted to write a space game on my Apple //e computer that had a wedge shaped spacecraft like a star destroyer or the spacecraft from Asteroids. I spent many many hours hand drawing the bitmaps for each size and rotation. The shapes always looked a little jagged, except in the +/- 45 degree orientations.
Anyone have a working link?
https://www.youtube.com/watch?v=YThelfB2fvg
It also shows how absolutely horrid Windows' cursor designs are. They always were. I still remember making my own sets back in the early 2000s when DeviantArt was the home of desktop customization.
When the majority of your information is vertical/horizontal (such as text, window elements, etc), an angled cursor makes it easier to interpolate what's underneath. And the arrow shape keeps the bulk of the icon out of the way of your point of interest (compared to, for example, a reticle - although I expect we'd adapt just fine).
Also:
> Thankfully one of you
We can see your name.
I remember using a black rectangle as a mouse pointer in console based applications - it was literally one character of the console with inverted colors.
Yes. Set aside a few hours to watch ‘The Mother of all Demos’.
Well there ya go right there. The left side of the arrowhead is a nice clean straight line, and the right side of the arrowhead is as close as possible to 45 degrees, cutting down its "jaggedness".
That was 10 years ago.
Is it right? Probably not.
Did I answer instinctively? Yes.
Is it a problem to keep it there? I don't think so, there are plenty of other explanations in the same page.
Am I providing further evidence? No.
Please refer to https://xkcd.com/386/