Camera trên điện thoại thông minh tự điều chỉnh tiêu điểm và độ sáng chỉ với một lần chạm màn hình. Trước đây, người chụp ảnh phải tự tính toán khẩu độ và tốc độ màn trập, nhưng giờ đây máy móc đảm nhận việc tính toán đó. Vậy sự phức tạp trong việc chụp ảnh đã thực sự biến mất hay chưa? Nguyên tắc trả lời câu hỏi này rằng “sự phức tạp không biến mất mà chỉ chuyển chỗ” chính là “Định luật Tesler (Tesler's Law of Conservation of Complexity)”.
Nói một cách đơn giản, định luật Tesler là nguyên tắc cho rằng “mọi hệ thống đều có một mức độ phức tạp không thể giảm thêm, và vấn đề còn lại là ai sẽ gánh vác nó”. Nguyên tắc này do Larry Tesler, nhà khoa học máy tính từng cải tiến giao diện người dùng tại Trung tâm Nghiên cứu Palo Alto của Xerox (Xerox PARC) và Apple, đúc kết, và còn được gọi là “định luật bảo toàn sự phức tạp”.
Trong tài liệu này, chúng ta sẽ lần lượt tìm hiểu bối cảnh ra đời của định luật Tesler, ba chủ thể cùng đảm nhận sự phức tạp, các ví dụ trong đời sống, cũng như những nguyên tắc và giới hạn khi vận dụng vào thiết kế.
Định luật Tesler: Thiết kế quyết định nơi đặt sự phức tạp
Định luật Tesler là gì?

Tại Trung tâm Nghiên cứu Palo Alto của Xerox, Larry Tesler nghiên cứu phương thức chỉnh sửa “không chế độ (modeless)”, giúp người dùng không bị mắc kẹt trong một chế độ cụ thể. Đến năm 1980, ông chuyển sang Apple và tham gia xây dựng giao diện người dùng cho máy tính Lisa. Ông cũng nổi tiếng là người phổ biến cách cắt, sao chép và dán mà ngày nay ai cũng sử dụng.
Trong một bài hồi tưởng, Tesler cho biết khi có ý kiến phản đối rằng chức năng lưu tạm nội dung đã cắt sẽ làm tăng gánh nặng phát triển, ông đã lập luận rằng “để nhà phát triển gánh vác thì tốt hơn là để người dùng chịu”. Sau đó, ông hoàn thiện lập luận ấy và đúc kết vào khoảng năm 1984 như sau.
“Mọi ứng dụng đều có sự phức tạp vốn có không thể giảm thêm. Chỉ còn duy nhất một câu hỏi: ai trong số người dùng, nhà phát triển ứng dụng và nhà phát triển nền tảng sẽ xử lý nó?”
Từ “bảo toàn (Conservation)” xuất hiện trong tên định luật cũng mang ý nghĩa đó. Giống như năng lượng chỉ thay đổi hình thức mà không biến mất, sự phức tạp có thể được che khỏi màn hình nhưng không thể bị loại bỏ. Người ta cũng gọi đây là “lý thuyết đệm nước (Waterbed Theory)”, ví nó với chiếc đệm nước mà khi ấn xuống một bên thì bên kia sẽ phồng lên.
Ba chủ thể cùng đảm nhận sự phức tạp

Theo cách đúc kết của Tesler, sự phức tạp không thể giảm bớt cuối cùng sẽ do một trong ba chủ thể sau đây đảm nhận.
- Người dùng (User): Người dùng phải tự lựa chọn cài đặt, ghi nhớ trình tự và sửa lỗi.
- Nhà phát triển ứng dụng (Application Developer): Người tạo ra sản phẩm suy nghĩ nhiều hơn và viết nhiều mã hơn để giảm công sức của người dùng.
- Nhà phát triển nền tảng (Platform Developer): Hệ điều hành hoặc công cụ phát triển cung cấp sẵn các chức năng chung, giúp nhiều sản phẩm cùng chia sẻ một gánh nặng.

Trong những lựa chọn này, Tesler đặc biệt cảnh giác với việc chuyển gánh nặng sang người dùng. Trong một cuộc phỏng vấn được đăng trong sách của nhà thiết kế Dan Saffer, ông chỉ ra rằng nếu một triệu người dùng mỗi ngày đều lãng phí 1 phút vì sự phức tạp mà kỹ sư chỉ cần nỗ lực thêm một tuần là có thể loại bỏ, thì điều đó chẳng khác nào trừng phạt người dùng để giảm việc cho kỹ sư.
Định luật này có trọng tâm khác với định luật Hick (Hick's Law), theo đó càng có nhiều lựa chọn thì quyết định càng chậm, hay định luật Fitts (Fitts's Law), theo đó mục tiêu càng xa và càng nhỏ thì càng khó nhấn. Nếu hai định luật ấy là khuôn khổ đo lường thời gian người dùng cần bỏ ra, thì định luật Tesler đề cập đến vấn đề trách nhiệm trong việc quyết định giao sự phức tạp cho ai.
Hiểu sự dịch chuyển của sự phức tạp qua các ví dụ đơn giản

Chúng ta có thể dễ dàng nhận thấy sự phức tạp chuyển chỗ trong những dịch vụ sử dụng hằng ngày.
(1) Ô tìm kiếm
Người dùng chỉ nhập vài ký tự, nhưng phía sau là hàng loạt phép tính để sửa lỗi gõ, gợi ý từ khóa và xếp hạng kết quả. Hệ thống đã đảm nhận thay người dùng công sức nghĩ ra từ khóa chính xác.
(2) Nhập địa chỉ
Màn hình tự điền phần địa chỉ còn lại chỉ sau khi nhập mã bưu chính hoặc vài ký tự của tên đường là kết quả của việc chuyển gánh nặng viết chính xác một địa chỉ dài sang phía dữ liệu và phát triển.
(3) Ô tô và chỉ đường
Trong cuốn “Living with Complexity” xuất bản năm 2010, Donald Norman giải thích rằng hệ thống máy tính trong ô tô ngày càng phức tạp qua từng năm, nhưng chính sự phức tạp ẩn bên trong ấy lại giúp việc lái xe trở nên đơn giản và an toàn hơn. Giờ đây, việc tính toán tuyến đường tốt nhất cũng do hệ thống dẫn đường đảm nhận thay cho người lái.
Trong cả ba ví dụ, công việc của người dùng đều nhẹ đi, nhưng thiết kế và tính toán ở phía tạo ra sản phẩm cũng nặng nề hơn tương ứng. Tổng lượng phức tạp vẫn giữ nguyên, chỉ có người gánh vác sức nặng ấy là thay đổi.
Ứng dụng và giới hạn trong thiết kế

Để đưa định luật Tesler vào thiết kế, trước hết cần xác định phần phức tạp nào của công việc rốt cuộc không thể giảm bớt. Sau đó, nên chỉ giữ lại những phần người dùng nhất thiết phải tự quyết định, còn lại giao cho hệ thống đảm nhận thông qua các giá trị mặc định, tự động điền và hướng dẫn từng bước. Khi làm điều này, thay vì giả định một người dùng lý tưởng luôn hành động hợp lý, sẽ hiệu quả hơn nếu hiển thị hướng dẫn ngắn ngay tại nơi người dùng thực tế gặp vướng mắc, đúng vào lúc họ cần.
Tuy nhiên, che giấu toàn bộ sự phức tạp không phải là đáp án. Nếu che giấu quá mức, người dùng sẽ mất cách điều chỉnh theo ý muốn, vì vậy cần phân chia, chẳng hạn cung cấp hướng dẫn từng bước cho người mới và dành riêng phần cài đặt nâng cao cho người đã quen. Ngoài ra, nhà thiết kế giao diện Bruce Tognazzini cho rằng con người không dễ dàng chấp nhận việc sự phức tạp trong cuộc sống giảm đi. Khi chương trình trở nên dễ sử dụng hơn, người dùng sẽ thử sức với những công việc phức tạp hơn tương ứng.
Định luật Tesler cho chúng ta thấy rằng một màn hình trông đơn giản là kết quả của việc có ai đó gánh vác sự phức tạp thay cho người dùng, chứ không phải sự phức tạp đã bị loại bỏ. Vì vậy, có thể đánh giá một thiết kế tốt dựa vào việc nó đặt sự phức tạp ở đâu hơn là đã giảm được bao nhiêu.
Người tạo ra sản phẩm chủ động gánh vác trước phần gánh nặng mà người dùng phải chịu: đó chính là bước đầu tiên của thiết kế vì người dùng.