Vì sao con trỏ chuột hơi nghiêng thay vì thẳng đứng?
(ux.stackexchange.com)- Con trỏ chuột nghiêng ngày nay được giải thích là kết quả của một hình dạng đã được cố định từ thời Xerox PARC, khi trên màn hình độ phân giải thấp nó dễ vẽ hơn và cũng dễ nhận ra hơn
- Con trỏ ban đầu của Douglas Engelbart là mũi tên hướng lên, và câu trả lời được đánh giá cao nhất cho biết nó đã được đổi thành mũi tên nghiêng tương tự hiện nay trên các máy của Xerox PARC
- Trên màn hình pixel độ phân giải thấp, các đường 0 độ và 45 độ trông tương đối mượt ngay cả khi không có anti-aliasing, nên dễ tạo ra một con trỏ có đầu nhọn rõ ràng hơn mũi tên thẳng hướng lên
- Tư thế chỉ vào màn hình bằng tay phải, độ tương phản về hướng trên các màn hình có nhiều yếu tố ngang và dọc, cùng với góc sử dụng của que chỉ thực tế cũng được nêu như những lý do bổ trợ
- Có giải thích rằng gốc tọa độ của con trỏ được đặt ở góc trên bên trái để giảm việc tính toán vị trí nhấp, nhưng trong phần bình luận điều này tiếp tục bị phản bác dựa trên nguồn gốc và các ví dụ từ Xerox Alto
Con trỏ nghiêng được định hình tại Xerox PARC
- Chuột và con trỏ ban đầu do Douglas Engelbart tạo ra, và hình dạng đầu tiên là một mũi tên hướng lên
- Sau đó trên các máy của Xerox PARC, con trỏ được đổi thành mũi tên nghiêng
- Với độ phân giải màn hình thấp thời đó, cách vẽ một cạnh của mũi tên bằng đường thẳng đứng và cạnh còn lại bằng đường chéo 45 độ vừa dễ hơn vừa có khả năng nhận diện tốt hơn
- Cách giải thích này dựa trên tài liệu về chuột quang học của Xerox PARC và các tư liệu về lịch sử GUI
Những góc hiển thị rõ trên lưới pixel
- Trên màn hình dựa trên pixel hình chữ nhật, rất khó biểu diễn một đầu mũi tên sắc nhọn mà không dùng anti-aliasing
- Các đường ngang, dọc 0 độ và đường 45 độ là những hướng tiêu biểu trông tương đối mượt trên lưới pixel
- Nhiều con trỏ mũi tên tận dụng đặc điểm này bằng cách tạo một cạnh là đường thẳng đứng và cạnh còn lại là đường 45 độ
- Khi đó, đường phân giác ở giữa của mũi tên sẽ nghiêng khoảng 22,5 độ
- Vì khả năng nhận ra đầu nhọn quan trọng hơn phần đuôi, độ sắc của đầu mũi tên được ưu tiên
Tranh luận quanh điểm nhấp và việc tính gốc tọa độ
- Một câu trả lời cho rằng vì gốc của bitmap con trỏ nằm ở góc trên bên trái, việc nghiêng mũi tên sang trái giúp giảm bớt tính toán vị trí nhấp
- Cách giải thích này dẫn nguồn từ một bài viết trên Reddit, nhưng trong phần bình luận có phản bác rằng bài đó chỉ là bản chép lại từ một bài Yahoo! Answers không có căn cứ trích dẫn
- Các bình luận phản bác chỉ ra rằng ngay trên Xerox Alto cũng có những con trỏ mà hotspot không phải là
(0,0)- Con trỏ hình chữ thập trong vòng tròn và con trỏ mũi tên hướng sang phải được nêu làm ví dụ
- Theo một bình luận khác, khi triển khai con trỏ thường có trường hotspot, nên các con trỏ như hình chữ thập hoàn toàn khả thi
- Cũng có ước tính cho rằng chi phí tính toán nhỏ đến mức, ngay cả theo tiêu chuẩn thập niên 1970, vẫn đủ nằm trong khoảng thời gian giữa các lần cập nhật chuột
Cách lý giải rằng nó giống bàn tay và que chỉ ngoài đời
- Nhiều câu trả lời cho rằng mũi tên nghiêng trông giống tư thế bàn tay phải khi chỉ vào màn hình
- Cách lý giải này được xem là gần với trải nghiệm chủ quan hơn là một căn cứ lịch sử
- Cũng có câu trả lời cho rằng điều này phản ánh môi trường ưu tiên người thuận tay phải, kèm theo giải thích rằng trước đây nếu đổi nút nhấp trái/phải thì mũi tên sẽ quay sang hướng ngược lại
- Một câu trả lời khác cho rằng que chỉ ngoài đời cũng thường không chĩa vuông góc vào màn hình mà được dùng ở góc khoảng 30–45 độ, và góc này dẫn ánh nhìn tới đầu nhọn tốt hơn
- Cũng có ý kiến cho rằng mũi tên thẳng hướng lên dễ tạo cảm giác đang chỉ vào toàn bộ phía trên hơn là nhắm vào một điểm cụ thể
Giải thích bổ trợ về nhận thức thị giác và việc che khuất màn hình
- Một câu trả lời cho rằng con trỏ nghiêng có thể thuận lợi hơn cả ở khía cạnh nhận thức thị giác mức thấp
- Các vùng thị giác V1 và V2 xử lý những đặc trưng mức thấp như màu sắc, độ sáng, kích thước và hướng
- Vì trên màn hình có nhiều yếu tố ngang và dọc, một đường nghiêng có thể nổi bật hơn nhờ popout effect do có hướng khác với xung quanh
- Câu trả lời này tham khảo nghiên cứu năm 1988 của Treisman và Gormican cùng cuốn Visual Thinking for Design của Colin Ware
- Trong phần bình luận có phản hồi rằng đây có thể không phải nguyên nhân lịch sử thực sự, nhưng vẫn là một lý do bổ trợ thú vị
Các ví dụ về con trỏ thẳng và hình dạng khác
- Trong một số giao diện ít được biết đến hơn, đã từng có trường hợp dùng con trỏ mũi tên thẳng
- Phần bình luận cũng nhắc tới việc con trỏ bàn tay trên liên kết trong trình duyệt có dạng thẳng
- Có bình luận cho rằng ngay cả trong các ứng dụng hiện đại cũng vẫn có ví dụ dùng mũi tên thẳng
- Con trỏ hình bàn tay được nêu trong câu hỏi có vẻ có góc nhỏ hơn mũi tên khi xuất hiện trên nút bấm, nhưng các câu trả lời chính trong bài chủ yếu bàn về lịch sử và hình dạng của con trỏ mũi tên mặc định
1 bình luận
Ý kiến trên Hacker News
https://ux.stackexchange.com/a/52349/43259
Nhưng chưa bao giờ mũi tên là con trỏ duy nhất. Ngay cả Macintosh đầu tiên cũng đã có con trỏ I-beam cho văn bản, nhiều kiểu dấu thập khác nhau, v.v.; chỉ cần cung cấp bitmap, mặt nạ trong suốt và vị trí hotspot là có thể định nghĩa con trỏ tùy ý
Có thể thấy những con trỏ này trong Inside Macintosh Volume I bản gốc và cả các công trình trước đó ở PARC
https://web.archive.org/web/20230114223619/https://vintageap...
Trang 50 của PDF (trang I-38 trong tài liệu) có các con trỏ mẫu, và trang 158 của PDF (trang I-146 trong tài liệu) có chi tiết pixel và vị trí hotspot của nhiều con trỏ. Một điều thú vị là hotspot của con trỏ mũi tên không phải (0,0) mà là (1,1)
Tôi muốn biết có ai giải thích được tại sao không. Hình như trước đây tôi từng biết, nhưng lâu quá rồi nên quên mất
Trang này cũng có định nghĩa cấu trúc Cursor: một record gồm
data,mask,hotSpot, cònPointthì gần như là một cặp tọa độ dọc-ngang như được định nghĩa ở trang I-139Điều đáng sợ không phải là có người nảy ra ý tưởng rằng (0,0) giúp tiết kiệm vài lệnh. Trước khi nhận ra rằng các hình dạng con trỏ khác nhau cần các hotspot khác nhau, đó là một giả thuyết khá hợp lý. Điều thực sự đáng sợ là có tới 188 người bấm thích câu trả lời đó
Bạn tôi là kế toán thuế thì bị downvote khi sửa lại cách thuế thực sự vận hành, còn vợ tôi là nhà ngôn ngữ học cũng bị downvote khi giải thích rằng “ngôn ngữ không vận hành như vậy”. Không phải đáng sợ, mà là chuyện thường ngày
Trang Stack Overflow được liên kết thực chất gần như chỉ là suy đoán thuần túy
Lịch sử không phải là một tập hợp câu đố logic, mà là công việc ghép nối tài liệu và bằng chứng. Tôi chưa thấy căn cứ nào trong tài liệu thời đó khẳng định có chủ ý như vậy, nên câu hỏi này vẫn chưa có đáp án
Bằng chứng quyết định sẽ là một nguồn chính từ trước khoảng năm 1988 (Microsoft/Xerox/Apple) có tên tệp như
cursor.bitmaphoặc mã nhưdeclare cursor_default = [ [ 1, 0 ... ] ];, kèm chú thích giải thích vì sao họ chọn kiểu con trỏ đó. Các nguồn nhỏ hơn như Acorn, Digital Research, Quarterdeck, NeWS, VisiOn, MIT Athena(X) cũng có thể chấp nhận đượcSau khi tìm ra câu chuyện về light pen rồi dùng nó để biện hộ cho kiểu con trỏ chuột là đang suy ngược từ giả thuyết, nên khá yếu và không loại trừ được các khả năng khác. Cần phải khớp thật chặt chẽ
https://www.youtube.com/watch?v=YThelfB2fvg
http://www.michieldb.nl/other/cursors/
Có lẽ 10 năm nữa tôi vẫn sẽ lại nói y như vậy
Con người là sinh vật chế tạo và sử dụng công cụ, nên theo thời gian công cụ trở thành phần kéo dài của cơ thể. Dù đầu công cụ có tách khỏi bàn tay theo nghĩa cơ học hay ảo thì vẫn vậy, và công cụ này có vẻ được thiết kế như một công cụ dành cho người thuận tay phải đang được cầm và đưa vào trong màn hình
Nếu đó không phải là lý do của hướng nghiêng, thì cũng chẳng có lý do gì để nó không nghiêng theo hướng ngược lại. Nếu bạn thuận tay phải, hãy thử dùng con trỏ có phần bên phải đi trước. Không chỉ trông kỳ lạ, mà còn cho cảm giác như một công cụ cầm bằng tay trái
Tôi không biết điều đó có ảnh hưởng đến người thuận tay trái hay không. Dù là người thuận tay trái, tôi vẫn luôn thấy dùng chuột bằng tay trái có gì đó kỳ kỳ, nhưng không rõ có phải vì độ nghiêng hay không
Tôi đã dùng chuột máy tính theo nhiều cách suốt hơn 30 năm, nên có thể đã quá quen và cảm giác lạ biến mất rồi. Có khi những người thuận tay trái mới dùng chuột sẽ thấy độ nghiêng của con trỏ hơi lạ
Về mặt lý thuyết, con trỏ trực quan nhất có thể là dấu thập, nhưng tôi đã thử dùng và không thích
Bộ não thích nghi cực kỳ tốt. Ví dụ, chúng ta cũng thích nghi rất nhanh với việc nhìn thế giới bị lộn ngược
https://theguardian.com/education/2012/nov/12/improbable-res...
Còn thiếu việc các câu trả lời trên Stack Overflow không nhắc đến Alan Kay. Người tạo ra con trỏ chuột nghiêng tại PARC là Alan Kay, và khi được hỏi câu này ông đã trả lời như sau
“Tôi đã tạo ra hình dạng con trỏ chuột của PARC. Trên lưới pixel 16x16 1-bit mà chiếc Alto của PARC dùng cho con trỏ, nếu để một cạnh của mũi tên thẳng đứng và cạnh còn lại nghiêng thì sẽ tạo ra một đầu mũi tên trông ổn. Tôi cũng đã thiết kế và tạo ra nhiều phông chữ bitmap thời kỳ đầu. Và rồi, như nhiều thứ khác trong ngành máy tính, nó cứ thế thành chuẩn cố định.”
¹ https://jameshk.com/mouse-cursor
Đã đến lúc xem video YouTube yêu thích của tôi từ Posy (Michiel de Boer), Mouse cursor history (and why I made my own)
https://www.youtube.com/watch?v=YThelfB2fvg
Video này điểm qua lịch sử của con trỏ chuột và các vấn đề của một số con trỏ tiêu chuẩn, đồng thời cũng cho thấy những con trỏ lịch sử không bị nghiêng
Đây là một video ngắn tuyệt vời khiến bạn cảm thấy Internet thật đáng giá, và cũng là video của tác giả bộ Posy’s Cursor Pack: http://www.michieldb.nl/other/cursors/
Nó cũng hoàn toàn không đề cập đến môi trường NeXT, DPS, sự khác biệt về DPI, con trỏ mũi tên đen trắng riêng của nó, hay cách chính con trỏ đó thực sự đi vào Mac OS X thay vì các con trỏ sau System 1
https://github.com/simtrami/posy-improved-cursor-linux
Câu hỏi thực sự là vì sao con trỏ Windows lại trông không hoàn hảo
https://mspoweruser.com/wp-content/uploads/2020/04/windows-c...
Một cách giải thích khác là sự không hoàn hảo có chủ đích này được giữ lại để phù hợp với sự không hoàn hảo không thể tránh khỏi khi đồ họa con trỏ ban đầu được vẽ dưới dạng pixel art 1-bit độ phân giải rất thấp. Chúng ta đã quen với vẻ hơi lệch đó nên thấy nó là đúng. Ở kích thước bình thường, khác biệt này gần như không thể nhận ra
[0] https://mspoweruser.com/why-windows-10s-asymmetrical-cursor-...
[1] https://old.reddit.com/r/TIHI/comments/fwnep0/thanks_i_hate_...
[2] đã chỉnh sửa, cảm ơn jusuhi
Ngoài các lý do mà tôi thấy hợp lý như không che khuất đối tượng được trỏ tới và bắt chước động tác chỉ bằng ngón tay, có thể thêm một lý do nữa: gần như mọi thứ hiển thị trên màn hình đều vuông góc với trục x hoặc trục y. Vì thế con trỏ nghiêng nổi bật giữa phần còn lại của nội dung
Bổ sung thêm nét khác biệt rất Amiga: con trỏ chuột Amiga thời kỳ đầu nghiêng 45° so với trục x, khác với các con trỏ sắc nhọn hơn của những GUI phổ biến khác. Nó cũng có công cụ tích hợp để tạo con trỏ chuột tùy chỉnh, và cá nhân tôi rất thích. Có thể xem ví dụ tại http://toastytech.com/guis/amiga12.html
Trong Amiga OS 2.0 nó được đổi sang kiểu nhọn hơn nhưng vẫn nghiêng 45°. Mãi đến AGA trên Amiga 1200/4000 mới có thể dùng con trỏ chuột độ phân giải cao
Tương tự con trỏ chuột Macintosh, điểm nhấp không phải là (0,0) mà là (1,1). Trong trình chỉnh sửa ở trang được liên kết, đó là chấm màu cam nằm trong vùng màu da
Một lý do nghe khá thuyết phục là khi dùng con trỏ để chỉ vào thứ gì đó, nó không che khuất đối tượng đang được chỉ tới. Nếu con trỏ bị đảo ngược hoặc căn giữa, khi đặt lên nút bấm nó sẽ che mất một phần của nút
Điều này giả định người dùng tiếp cận từ phía dưới bên phải, mà bản thân điều đó cũng có thể là do hình dạng con trỏ tạo ra. Dù vậy, tôi vẫn thấy giả thuyết liên quan đến hướng đọc giải thích tốt hơn việc người dùng muốn tiếp cận từ phía dưới bên phải
Lúc đầu tôi cũng nghĩ vậy, nhưng khi xem lại cách dùng chuột trong thực tế thì có vẻ không khớp lắm. Cũng tự hỏi không biết chỉ mình tôi thấy vậy hay không
Trước hết, trong hơn 95% trường hợp dùng desktop thông thường, đối tượng bạn định bấm vẫn chưa nằm dưới chuột nên không có gì bị che cả. Bạn di chuyển chuột tới mục tiêu, và đến lúc tới nơi thì đã quyết định sẽ bấm rồi, nên bên dưới có gì cũng không quan trọng
Thứ hai, nếu chuột đang nằm trên thứ cần đọc thì tôi thường sẽ di nó đi chỗ khác. Kể cả khi nó đổi thành con trỏ dạng chữ I trên văn bản cũng vậy. Dù là kiểu con trỏ nào thì độ dày và chiều cao của nét con trỏ thường vẫn lớn hơn các nét chữ được render bên dưới, nên lúc nào cũng sẽ che mất gì đó. Nghĩa là dù con trỏ không nghiêng thì nó cũng chỉ che cùng một diện tích ở vị trí hơi khác đi thôi, và trong sử dụng thực tế thì gần như không có khác biệt
Hướng tiếp cận phụ thuộc vào con trỏ đang ở đâu và mục tiêu ở đâu. Sẽ rất thú vị nếu có bản đồ nhiệt từ dữ liệu sử dụng hằng ngày, nhưng chỉ cần nhìn nhanh vào những thứ hay dùng như taskbar phía dưới và thanh tab trình duyệt phía trên thì có thể thấy mục tiêu bấm nằm ở cả bên trái lẫn bên phải màn hình, còn con trỏ thì có thể ở bất cứ đâu. Có thể một vài hướng tiếp cận phổ biến hơn đôi chút, nhưng chắc chênh lệch không lớn
Cuối cùng, những phần mềm như CAD, nơi việc che khuất thực sự có thể quan trọng, thường dùng con trỏ tùy chỉnh như hình chữ thập 1 pixel chứ không dùng con trỏ nghiêng
Có khi nó mô phỏng bút máy? Khi viết bằng bút máy thì người ta cầm như vậy, và con trỏ là ngòi bút ảo
https://youtu.be/U9mWKwXfF6s?t=155s
Lại là Xerox PARC. Có cảm giác như mọi thứ chúng ta có ngày nay đều được phát minh ở đây. Sao họ có thể thành công và có tầm ảnh hưởng đến vậy nhỉ?
Điểm cốt lõi của pointer là nó phải phân biệt được về mặt thị giác với đối tượng mà nó đang chỉ vào
GUI thông thường phần lớn có các góc thẳng và tính đối xứng nhất định. Một con trỏ đối xứng tương tự sẽ dễ hòa lẫn vào nền hơn và dễ bị mất dấu hơn về mặt thị giác
Nó nghiêng theo hướng nào chỉ là thứ yếu; điều quan trọng là sự bất quy tắc của độ nghiêng, tạo ra tương phản với phần còn lại của giao diện