Tính dễ học và tính hiệu quả của giao diện người dùngBài giảng có tham khảo các nguồn tài liệu sau - MIT CS Course 6.813/6.831 - Jakob Nielsen, Usability Engineering, 1994... 2 5/24/16q
Trang 1Tính dễ học và tính hiệu quả của giao diện người dùng
Bài giảng có tham khảo các nguồn tài liệu sau
- MIT CS Course 6.813/6.831
- Jakob Nielsen, Usability Engineering, 1994
Trang 22 5/24/16
q Quá trình xử lí thông tin của con người
q Hiệu quả của click chuột
q Các nguyên tắc thiết kế
n Giao diện tốt hay xấu?
Trang 3Định nghĩa về tính khả dụng
n Tính khả dụng (usability)
q Đề cập đến việc người dùng có thể sử dụng tốt các chức năng của hệ thống
n Các phương diện của tính khả dụng
q Tính dễ học (learnability)
n Đề cập việc người dùng có thể dễ dàng học và sử dụng các màn hình giao diện
q Tính hiệu quả (efficiency)
n Đề cập đến việc người dùng có thể nhanh chóng thực thi các tác vụ, sử dụng giao diện được cung cấp
q Tính dễ nhớ (memorability)
n Đề cập đến việc người dùng có thể dễ dàng thực hiện lại các tác vụ đã được hướng dẫn qua
q Lỗi chương trình (errors)
n Người dùng có thường xuyên gây ra lỗi không? Có thể dễ dàng phục hồi lại sau khi bị lỗi không?
q Sự thỏa mãn (satisfaction)
Trang 44 5/24/16
Tính khả dụng chỉ là một trong các nhân tố
(Jakob Nielsen, Usability Engineering, 1994)
Trang 5Tính dễ học (learnability)
Trang 66 5/24/16
Nội dung
n Đường cong thể hiện quá trình học (learning curve)
n Khả năng nhớ của con người
n Các mô hình liên quan đến thiết kế giao diện
n Các nguyên tắc của tính dễ học
Trang 7Đường cong thể hiện quá trình học
(Jakob Nielsen, Usability Engineering, 1994, page 28)
Trang 88 5/24/16
Trang 1010 5/24/16
Bộ nhớ
n Bộ nhớ ngắn hạn (bộ nhớ làm việc)
q Ít: lưu trữ được nhóm khoảng 7 mục
q Tồn tại ngắn: khoảng 10s
q Việc lặp lại giúp giữ lại các nhóm này
n Sự xao nhãng làm ta mau quên các nhóm này
n Bộ nhớ dài hạn
q Không giới hạn về kích thước và thời gian lưu trữ
q Diễn tập tỉ mỉ giúp chuyển các nhóm này từ bộ nhớ ngắn
memory
Trang 11n Nhóm là đơn vị của bộ nhớ và quá trình nhận thức
q Phụ thuộc vào cách thể hiện thông tin
q Phụ thuộc vào những gì bạn đã biết
n Liên kết với kinh nghiệm quá khứ
H A PPY V A L E T I N E
HAPPY VALENTINE
Khó nhớ hết
Dễ nhớ
Trang 1212 5/24/16
Nhận dạng & hồi tưởng
n Hồi tưởng (recall)
q Nhớ lại mà không cần sự trợ giúp
q Chẳng hạn, bạn nhớ ra một người khi ai đó nhắc đến
người đó
n Nhận dạng dễ hơn hồi tưởng
q Bạn không thể nhớ hết các mục trong menu File của
Notepad
q Nhưng bạn có thể biết được các chức năng trong đó khi nhìn vào các mục
Trang 13Nhận dạng và hồi tưởng (tt)
n Các hàm ý (implications)
q Thực hiện các thao tác thông qua thể hiện trực quan thì dễ học hơn thể hiện dòng lệnh (command line)
q Thao tác trực tiếp thì dễ học hơn các loại tương tác khác
Xóa file keymap.txt Xóa file keymap.txt
Bạn cần nhớ thứ gì?
Trang 1414 5/24/16
Các mô hình
n Mô hình của hệ thống là thể hiện của các thao tác trong hệ thống đó
q Các thành phần của hệ thống
q Cách thức để các thành phần làm việc cùng nhau, thực hiện các tác vụ
n Ba loại mô hình liên quan đến thiết kế giao diện
q Mô hình hệ thống (system model) hay mô hình cài đặt (implementation model)
n Cấu trúc bên trong và tương tác giữa các thao tác trong hệ thống
n Cách hệ thống vận hành bên trong
n Các đối tượng Visio vs các ảnh Photoshop
q Mô hình giao diện (interface model)
n Các hệ thống hoạt động thông qua các giao diện/giao tiếp (interface)
n Giao diện dòng lệnh (command line) vs menu
n Chỉnh sửa đối tượng Visio vs chỉnh sửa ảnh Photoshop
q Mô hình người dùng (user model) hay mô hình trí óc (mental model) hay
mô hình ý niệm (conceptual model)
n Người dùng nghĩ hệ thống sẽ vận hành như thế nào
Trang 15Các mô hình (tt)
(Nguồn: MIT CS Course 6.813/6.831)
Trang 1616 5/24/16
Các mô hình (tt)
n Mô hình giao diện đóng gói và ẩn đi mô hình hệ
thống
q Làm giao diện trở nên đơn giản và phù hợp
n Mô hình giao diện nên phản ánh gần nhất mô hình người dùng
q Con chó này là dùng để thực hiện tác vụ tìm kiếm?
n Mô hình người dùng có thể sai
q Từ đó, các lỗi phát sinh
Trang 17q Bên trong, bên ngoài và phép ẩn dụ
q Hãy nói bằng ngôn ngữ của người dùng
q Các ẩn dụ
q Chuẩn trên các nền tảng
Trang 1818 5/24/16
Trang 2020 5/24/16
Tính trực quan
n Các thao tác nên trực quan đối với người dùng
q Điều khiển dòng lệnh trên Unix vs điều khiển bằng menu trên Windows
q Click phải chuột và chọn menu là rất không trực quan
n Lí do iOS không hỗ trợ tính năng này
q Drag-drop cũng không trực quan
n Nhưng nó là cách thao tác trực tiếp, phản ánh thế giới thực
Trang 21Phản hồi
n Hành động nên có phản hồi ngay tức thì
q Chẳng hạn, push buttons, scroll bars, mouse icons
n Các dạng phản hồi
q Âm thanh
q Hình ảnh
q Haptic (gây ra cảm giác, chẳng hạn rung chuột khi click
chuột gamepad rung khi người chơi bị đánh trong game)
Trang 2222 5/24/16
n Các phương diện cần nhất quán
q Bên trong: trong cùng hệ thống
q Bên ngoài: giữa các hệ thống với nhau
q Ẩn dụ: phản ánh các đối tượng đời thực
n VD: Icon in là phép ẩn dụ của máy in
Trang 23Tính nhất quán (tt)
n Hãy nói bằng ngôn ngữ của người dùng
q Sử dụng các từ thông dụng, không được dùng tiếng lóng (slangs, jargon)
q Nhưng cũng cần tránh quá dài dòng, rườm rà
Trang 2424 5/24/16
Phép ẩn dụ
n Ẩn dụ là cách sử dụng các đối tượng đời thực để
thể hiện trên giao diện người dùng
q Có thể gây ra hiểu lầm (deceptive/misleading) tiềm ẩn
q Có thể không được sử dụng nhất quán ở mọi chỗ
q Phụ thuộc vào văn hóa, cục bộ địa phương (localization)
Trang 25Chuẩn trên các nền tảng
n Hãy làm theo hướng dẫn của các nền tảng
q Hướng dẫn về giao diện người dùng trên Windows (MS
Windows user interface guidelines)
q Hướng dẫn về giao diện người dùng trên Apple (Apple
user experience guidelines)
n Hãy làm theo các framework
q Các framework khác nhau sẽ có các hướng dẫn về looks and feels khác nhau
n Hãy học hỏi từ các ứng dụng sẵn có
Trang 26Tính hiệu quả (efficiency)
Trang 27Nội dung
n Quá trình xử lí thông tin của con người
n Hiệu quả của click chuột
n Các nguyên tắc thiết kế
Trang 2828 5/24/16
Quá trình xử lí thông tin của con người
(Nguồn: MIT CS Course 6.813/6.831)
Trang 29Định luật Fitts
n Khoảng thời T để di chuyển tay đến đối tượng đích
có kích thước S, cách một khoảng D từ vị trí chuột hiện tại được tính theo công thức sau
T = a + b * log (D/S + 1)
-a, b: hằng số
-T: chỉ phụ thuộc vào log (D/S + 1)
-log (D/S + 1) được gọi là độ khó (index of difficulty)
D
S
Trang 3030 5/24/16
Hàm ý của định luật Fitts
n Các đối tượng tương tự nhau nên được nhóm lại
n Các đối tượng ở cạnh màn hình thì dễ bấm trúng
n Menu hình tròn thao tác nhanh hơn menu tuyến tính
q Nhanh hơn khoảng 15-20% theo nghiên cứu của Callahan,1994
n Tránh menu quá dài
(Callahan et al 1994, “An empirical comparison of pie vs linear menus,” CHI 1991)
Trang 31Luật về ảnh hưởng của thực hành
n Power law of practice
n Thời gian Tn để thực hiện một tác vụ, ở lần thứ n
Tn = T1 * n-a
a: 0.2 - 0.6
q Nhờ có thực hành, người dùng sẽ làm tốt hơn
q Nhưng hiệu năng của chúng gần như phẳng
q Đường learning curve của Nielsen
Trang 3232 5/24/16
Các qui tắc cải thiện tính hiệu quả
n Hãy làm to ra các đối tượng thường dùng
n Hãy nhóm các đối tượng thường sử dụng cùng
nhau
q Grouped toolbar buttons, menu items
n Hãy đặt các menu thường dùng lên trên
n Sử dụng các góc và cạnh màn hình
Trang 33Các nguyên tắc cải thiện tính hiệu quả (tt)
n Sử dụng phím tắt (keyboard shortcuts, menu
accelerators)
n Tạo các style định trước
Trang 3434 5/24/16
Các nguyên tắc cải thiện tính hiệu quả (tt)
n Nhóm lại và chọn sẵn các lựa chọn thông dụng
n Luôn có lựa chọn default
Trang 35Các nguyên tắc cải thiện tính hiệu quả (tt)
n Lưu lịch sử (chẳng hạn, recent files trong Word)
n Sử dụng auto completion
n Sử dụng auto suggestion
q This makes you lazy, doesn’t it?
Trang 3636 5/24/16
Các nguyên tắc cải thiện tính hiệu quả (tt)
n Tiên đoán
q Dự đoán xem người dùng sẽ làm gì tiếp theo và thể hiện các thao tác tương ứng để hỗ trợ
Trang 37Tốt hay xấu?
n Hãy đánh giá tính khả dụng của các thiết kế giao
diện sau đây
n Dựa trên các phương diện đã đề cập
Trang 3838 5/24/16
Tốt hay xấu?
Trang 39Tốt hay xấu?
Đóng góp: Nguyễn Hữu Đức
Trang 4040 5/24/16
Tốt hay xấu?
n HCMC’s bus
Đóng góp: Huỳnh Công Toàn