- Quá trình phát triển UI của Windows 95 được nêu như một ví dụ tiêu biểu về việc áp dụng có hệ thống thiết kế lặp (iterative design) và theo dõi vấn đề (problem tracking) trong phần mềm thương mại quy mô lớn
- Mục tiêu ban đầu là tạo ra một hệ thống dễ học với người mới bắt đầu nhưng vẫn hiệu quả cho người dùng thành thạo, và để làm được điều này, nhóm đã từ bỏ cách làm waterfall truyền thống để áp dụng thử nghiệm lặp lại và kiểm thử người dùng
- Các thành phần UI cốt lõi như menu Start, thanh tác vụ (Task Bar), hộp thoại tệp, trình hướng dẫn thiết lập máy in, thẻ chỉ mục trợ giúp được hoàn thiện qua nhiều vòng nguyên mẫu và phản hồi từ người dùng
- Xuyên suốt dự án, 699 phát biểu về khả dụng được quản lý trong cơ sở dữ liệu, trong đó 81% vấn đề đã được giải quyết, đạt tỷ lệ khắc phục cao
- Nghiên cứu này chứng minh hiệu quả thực tiễn của kỹ nghệ khả dụng trong phát triển sản phẩm quy mô lớn, và tiếp tục được phản ánh trong thiết kế của các phiên bản Windows về sau
Tổng quan phát triển UI của Windows 95
- Windows 95 là một bản nâng cấp toàn diện từ Windows 3.1 và Windows for Workgroups 3.11, đồng thời giao diện người dùng (UI) cũng được thiết kế lại hoàn toàn
- Mục tiêu là mang lại tính dễ học cho người mới bắt đầu và hiệu quả sử dụng cho người dùng thành thạo
- Một nhóm liên ngành gồm khoảng 12 nhà thiết kế và 12 nhà phát triển đã tham gia
- Thay vì mô hình waterfall cũ, nhóm áp dụng quy trình phát triển xoay quanh thiết kế lặp và kiểm thử người dùng
- Cải tiến liên tục thông qua chu trình thiết kế–kiểm thử–sửa đổi
Áp dụng thiết kế lặp (Iterative Design)
- Quá trình thiết kế diễn ra qua ba giai đoạn: khám phá (Exploration), tạo nguyên mẫu nhanh (Rapid Prototyping) và tinh chỉnh (Fine Tuning)
- Ở giai đoạn khám phá ban đầu, nhóm tạo các nguyên mẫu thử nghiệm bằng cách tận dụng tài sản UI của dự án Cairo (desktop, tray, yếu tố hình ảnh 3D, v.v.)
- Kết quả kiểm thử người dùng cho thấy cấu trúc chia đôi của File Cabinet và khái niệm thư mục chương trình gây nhầm lẫn cho người mới bắt đầu
- Sự trùng lặp chức năng của các nút tray cũng gây ra nhầm lẫn trong nhận thức
- Trong thí nghiệm so sánh với Windows 3.1, người mới bắt đầu mất trung bình hơn 9,5 phút để chạy chương trình, và gặp khó khăn với nhấp đúp, quản lý cửa sổ và hiểu cấu trúc phân cấp tệp
- Dựa trên các kết quả này, định hướng được chuyển sang tập trung vào hiệu quả của các tác vụ được dùng thường xuyên hơn là tính nhất quán với UI hiện có
Tạo nguyên mẫu nhanh và các thay đổi thiết kế chính
- Thay cho đặc tả dựa trên tài liệu, nhóm sử dụng nguyên mẫu và chính mã nguồn như một “đặc tả sống”
- Thiết kế được chia sẻ theo thời gian thực qua họp nhóm, email và thuyết trình
- Các vấn đề về khả dụng được theo dõi bằng cơ sở dữ liệu để quản lý trạng thái sửa đổi
- Nỗ lực tạo shell dành riêng cho người mới bắt đầu bị loại bỏ do vấn đề chuyển giao học tập, nhưng các ý tưởng rút ra từ đó như nhấp một lần, khả năng hiển thị cao và tương tác lấy menu làm trung tâm đã dẫn tới thiết kế menu Start
Ví dụ về thiết kế lặp của các thành phần UI chính
- Chạy chương trình (menu Start)
- Hợp nhất quyền truy cập tới chương trình, cài đặt, tìm kiếm và trợ giúp vào một nút duy nhất
- Cung cấp điểm vào nhất quán cho người dùng ở mọi mức độ thành thạo
- Quản lý cửa sổ (Task Bar)
- Phương án ban đầu hiển thị các cửa sổ đã thu nhỏ dưới dạng “plate” đã thất bại
- Sau đó phát triển thành thanh tác vụ (Task Bar) luôn hiển thị từng tác vụ
- Hộp thoại Mở/Lưu tệp
- Thông qua nguyên mẫu do nhóm Cairo dẫn dắt, nhóm xác lập thứ tự trường hợp lý và cấu trúc chọn lựa được đơn giản hóa
- Thiết lập máy in (Add Printer Wizard)
- Đơn giản hóa quy trình thiết lập phức tạp thành trình hướng dẫn (wizard) theo từng bước
- Kiểm thử người dùng xác nhận tỷ lệ thành công cao
- Tìm kiếm trợ giúp (thẻ Index)
- Cải tiến cấu trúc tìm kiếm hai bước phức tạp thành một danh sách duy nhất và cấu trúc chọn bật lên
Giai đoạn tinh chỉnh (Fine Tuning)
- Thông qua kiểm thử tổng kết (Summative Testing) và nghiên cứu hiện trường dài hạn (Field Study), nhóm xác minh mức độ hoàn thiện của toàn bộ UI
- Với 20 tác vụ chính, thời gian thực hiện giảm còn khoảng một nửa so với Windows 3.1, và mức độ hài lòng tăng ở 20 trong số 21 hạng mục
- Trong quan sát dài hạn với 20 người, không phát hiện khiếm khuyết khả dụng lớn; chỉ chỉnh sửa một số câu chữ và phần trợ giúp
Hệ thống theo dõi vấn đề (Problem Tracking)
- Nhóm xây dựng cơ sở dữ liệu quan hệ để ghi lại, phân công và quản lý trạng thái giải quyết của mọi vấn đề về khả dụng
- Trong tổng 699 phát biểu về khả dụng, có 551 mục được phân loại là vấn đề
- Mức độ nghiêm trọng: cấp 1 (15%), cấp 2 (43%), cấp 3 (42%)
- Trạng thái xử lý: 81% đã xử lý (Addressed), 8% xử lý một phần (Somewhat), 11% chưa xử lý (Not Addressed)
- Các mục chưa xử lý được chuyển tiếp thành dữ liệu khởi đầu cho thiết kế của phiên bản tiếp theo
Kết luận và bài học
- Thông qua thiết kế lặp và kiểm thử người dùng liên tục, mọi chi tiết của thiết kế ban đầu đều đã thay đổi
- Cách tiếp cận sử dụng nguyên mẫu làm đặc tả đã cải thiện cả tốc độ lẫn chất lượng
- Kiểm thử ở cấp độ toàn bộ sản phẩm đóng vai trò là bước then chốt để hoàn thiện sự hài hòa giữa các thành phần UI
- Cơ sở dữ liệu theo dõi vấn đề hoạt động như công cụ cốt lõi để hệ thống hóa việc cải thiện khả dụng trong các dự án quy mô lớn
- Trường hợp Windows 95 được đánh giá là một mô hình thực hành của kỹ nghệ khả dụng: “thừa nhận rằng không thể hoàn hảo ngay từ đầu, và hoàn thiện thông qua lặp lại”
1 bình luận
Ý kiến trên Hacker News
Tôi nghĩ mức độ hoàn thiện UI của Windows 7 cũng thực sự xuất sắc
Đặc biệt, khái niệm “Delights” xuất hiện sau mốc 23:45 trong bài trình bày PDC2008 rất ấn tượng
Steve Jobs từng nói vào năm 1996 rằng Microsoft “không có gu”, nhưng tôi không đồng ý
Tôi nghĩ Microsoft giai đoạn 1995~2000 mới là thời kỳ tinh tế nhất
Windows 95/NT4/98/2000, Office 97, Visual Basic 6, thậm chí cả Internet Explorer 5 đều có UI rất tốt
Theo tôi, sự đi xuống bắt đầu từ giao diện “Luna” của XP và ribbon của Office 2007
Ví dụ có cái ‘breathing status light’ sáng quá mức, đến mức ban đêm chiếu sáng cả căn phòng, vậy mà mọi người vẫn khen đó là “thiết kế tinh tế”
Còn có cả bài viết liên quan
Giờ thì họ đã bỏ hẳn đèn trạng thái, nhưng vẫn được tôn vinh là có “thiết kế tuyệt vời”, thật mỉa mai
Với người không chuyên hoặc người dùng trẻ, đây thậm chí còn là UI được ưa chuộng hơn, và hầu hết phím tắt cũng được giữ nguyên
Chỉ là nhiều công ty khác chỉ bắt chước vẻ ngoài nên làm hỏng mọi thứ
Có vẻ như áp lực kiếm tiền, thiếu cạnh tranh và sự mệt mỏi của người dùng đều góp phần
Cũng đáng tiếc là desktop Linux vẫn chưa trở thành lựa chọn thay thế đại chúng
menu Start và taskbar đã trở thành trục trung tâm của UI, còn những thay đổi về sau phần lớn chỉ mang tính tiệm tiến
Việc có thể làm cùng một việc theo nhiều cách lại mang đến trải nghiệm phù hợp hơn cho nhiều kiểu người dùng khác nhau
UI thời Windows 95 vừa trau chuốt, chuyên nghiệp và có tính sử dụng cao
Thật khó tưởng tượng Windows hiện nay có được mức độ tận tâm và kiểm thử như thời đó
Apple cũng đã tụt mạnh về chất lượng UI sau thời Jony Ive, với nhiều thất bại như “Liquid Glass”
Ví dụ như chế độ chỉnh sửa màn hình khóa trên iPhone có thể bị kích hoạt ngoài ý muốn, hoàn toàn không cần thiết
Kiểu “chỉnh sửa do vô tình” này làm UX tệ hơn
Tôi đã nhiều lần phải dùng chuỗi thao tác khẩn cấp để lấy đĩa ra chỉ vì không có nút eject CD vật lý
Vì thế các tính năng nâng cao chỉ bị giấu đi dưới kiểu thao tác như “nhấn giữ”
Các nhà thiết kế thường có xu hướng ít cởi mở với phản hồi hơn lập trình viên
Có lẽ vì vậy mà flat UI vẫn tiếp tục tồn tại bất chấp bị chỉ trích
macOS Tahoe rõ ràng kém khả dụng hơn Sequoia
Vì dù thiếu cảm quan thiết kế, họ vẫn có thể làm ra những ứng dụng trông tạm ổn
Người dùng thậm chí không có cơ hội để quen thuộc, lúc nào cũng phải học lại từ đầu
Cảm giác như ai đó lén vào nhà và đổi vị trí đồ đạc của tôi vậy
Bởi khả năng sử dụng khó đo lường khách quan như bug
Buồng lái của máy bay thương mại là giáo trình mẫu về thiết kế UI trực quan và hiệu quả
Tôi nghĩ thiết kế ngôn ngữ lập trình rốt cuộc cũng là vấn đề về khả năng sử dụng
Tôi sẽ có một buổi nói chuyện liên quan tại Yale vào tháng 4
Ví dụ, tính mơ hồ về phạm vi trong C++ là một vấn đề
Tôi nghĩ việc viết tường minh như
self.footrong Python sẽ tốt hơnNgôn ngữ nên phát triển theo hướng giảm lỗi do con người gây ra
Bản thân từ “trực quan” có thể là một từ nguy hiểm
Xem bài viết liên quan, bài luận của Raskin
Đây là cách tiếp cận để điều khiển bằng lệnh và UI trực quan có thể xây dựng lẫn nhau
Tôi nghĩ khẩu hiệu những năm 1990 của Microsoft, “Where do you want to go today?”, thực sự rất tuyệt
Nó gói trọn hoàn hảo tinh thần lạc quan số hóa của thập niên 90
Có cả video quảng bá và bài blog của tôi
Khi lần đầu thấy một chiếc PC Windows 95 tại Comdex 1996, tôi sợ nút ‘Start’
Tôi không dám bấm vì không biết sẽ bắt đầu cái gì. Nó mới lạ đến mức như vậy
Nếu muốn rút ra bài học thiết kế thực sự, bạn nên đọc bài của Ask Tog
Ông ấy là kỹ sư HCI đời đầu của Mac, và phân tích các trường hợp Windows mô phỏng Mac một cách sai lầm
Ví dụ, menu trên cùng của Mac tận dụng vùng nhấp vô hạn ở mép màn hình, trong khi Windows đặt menu trong từng cửa sổ nên vùng nhấp nhỏ hơn nhiều
Menu nằm trong cửa sổ của Windows tránh được sự mơ hồ đó
Mô hình của Windows, nơi mỗi cửa sổ hoạt động như một đơn vị độc lập, lại hợp lý hơn trên màn hình lớn
Phải đến khoảng 10.6~10.7 thì hai màn hình mới đều có thanh menu
Ví dụ, BOM của UTF-16 giải quyết vấn đề thứ tự byte nhưng lại gây ra rắc rối với liên kết tệp và lỗ hổng bảo mật
Tôi thích UI đơn giản hơn Win10 hay Win11, nhưng UI hiện đại cũng có một vài cải thiện
Chỉ là Microsoft dường như không còn hiểu hoặc quan tâm đến thiết kế UI nữa
Sự thay đổi động của giao diện ribbon chỉ làm tăng tải nhận thức
Windows 95/2000 và MacOS cùng thời là UI tốt nhất mà tôi từng trải nghiệm
Tôi hy vọng một ngày nào đó chúng ta sẽ quay lại cảm giác của thời đó
Vì Win10 không có chế độ classic nên tôi đã chuyển hẳn sang Linux, rồi dùng theme “Reactionary” của KDE để tái tạo phong cách Win95
Win95 là bước tiến lớn hơn Apple trong lịch sử GUI
Giờ thì cả Microsoft lẫn Apple đều đang thi xem ai enshittification hơn
Các yếu tố đồ họa lấy chuột làm trung tâm thường khiến ranh giới, trạng thái và ý nghĩa trở nên mơ hồ
Ví dụ, việc chỉnh kích thước cửa sổ trên Win11 rất bất tiện vì các góc bo tròn
UI lý tưởng là UI không bị cuốn theo trào lưu thị giác và khiến người dùng cảm thấy mình có quyền kiểm soát
Vấn đề là với kiểu UI ổn định như vậy thì khó được thăng tiến hay gây chú ý
Vì thế phần lớn hệ điều hành hiện đại cứ tiếp tục tạo ra những thay đổi không cần thiết