Bài viết được dịch từ blog Coding Horror
Sâu thẳm bên trong mỗi nhà phát triển phần mềm, có một nhà thiết kế đồ họa vừa chớm nở chờ đợi để có cơ hội được bộc lộ ra ngoài. Và nếu bạn để cho điều đó xảy ra, bạn sẽ gặp thảm họa. Hoặc ít nhất là người dùng của bạn sẽ gặp rắc rối to:

Joseph Cooney gọi cái này là The Dialog (hộp thoại):
Một lập trình viên cần một cửa sổ (screen) để làm một điều gì đó, trên đó có một hoặc hai textbox và không nhiều hơn, do đó họ tạo ra một “hộp thoại (dialog)”, có lẽ chỉ để “thử một cái gì đó” và luôn luôn có ý định loại bỏ nó trước khi phát hành sản phẩm. Họ phát hiện ra rằng họ cần thêm một vài thông số, do đó một vài control đã được thêm vào theo một bố trí khá lộn xộn. “Hộp thoại (dialog)” đưa ra các “tính năng (feature)”, một cái gì đó tương đối cool hoặc khá hữu ích. Phải thừa nhận rằng “tính năng (feature)” là phù hợp hơn đối với power user, nhưng nó vẫn còn khá cool.
Các lập trình viên cho rằng các thông số mới sẽ làm cho “tính năng (feature)” thậm chí còn mạnh mẽ hơn và do đó thêm chúng vào hộp thoại. Có lẽ một vài nhà phát triển khác hoặc các power user thấy “hộp thoại” và cũng thích “tính năng (feature)”. Nhưng tại sao nó không thể hiện tham số này? Các control mới được thêm vào. Đội ngũ kỹ thuật thường nhìn thấy “hộp thoại (dialog)” theo cách mà họ trở nên mù quáng với sự xuất hiện kỳ lạ của nó. Thời điểm phát hành đã tới và sản phẩm trải qua quá trình kiểm thử kỹ lưỡng hơn, “hộp thoại (dialog)” được phát hiện, nhưng lúc đó đã là quá muộn để có thể thay đổi. Thay vào đó nó được chải chuốt qua loa cho có phần bảnh bao một chút trước khi sản phẩm ra lò.
Nếu bạn cho phép các lập trình viên của mình tạo ra giao diện người dùng UI, thì điều vui nhộn sẽ xảy ra sau đó, như trong mẩu truyện tranh OK/Cancel kinh điển này. Nhưng khi phần mềm The FileMatrix được tung ra thì người dùng thật không thể tin nổi, nó giống như một bộ phim kinh dị vậy. Tôi vẫn cảm thấy rùng mình và ớn lạnh khi nghĩ về nó. Và cũng giống như một bộ phim kinh dị được nhượng quyền thương mại tồi, phần mềm FileMatrix hiện nay vẫn còn sống.

Giao diện “trực quan và dễ sử dụng” của phần mềm The FileMatrix
Đừng để những lập trình viên tạo ra giao diện người dùng.
Một yếu tố của việc trở thành một nhà phát triển phần mềm giỏi là phải biết giới hạn của mình. Hoặc là bạn hãy sao chép một cái gì đó đã được thiết kế tốt, hoặc bạn chỉ nên tập trung vào mảng lập trình và để phần thiết kế đồ họa cho các chuyên gia khác.
Các bài viết liên quan:
- Hãy tích cực viết blog để chia sẻ kinh nghiệm lập trình – Phỏng vấn anh Trịnh Minh Cường
- Lầm tưởng về số năm kinh nghiệm trong nghề lập trình
- Lập trình viên: hãy mài sắc lưỡi cưa của bạn
- Lập trình viên nên thuộc lòng triết lý KISS và YAGNI
- Làm thế nào để trở thành một lập trình viên giỏi hơn bằng cách không lập trình
Về tác giả bài viết:
Jeff Atwood là một chuyên gia công nghệ tại Mỹ, hiện đang sinh sống và làm việc tại Berkeley, CA. Anh là một kỹ sư phần mềm chuyên về công nghệ Microsoft .NET, và là một blogger nổi tiếng trong cộng đồng công nghệ với blog Coding Horror, anh là người sáng lập và kiêm Giám đốc điều hành (CEO) của trang web hỏi đáp uy tín Stack Overflow và cũng là đồng sáng lập của Stack Exchange và Discourse.
đây là lí do mà các wizard ra đời, để phân việc nhập liệu ra thành nhiều bước trực quan
Nhìn cái TheMatrix siêu kinh dị. Thật không thể tin nổi một phần mềm phát hành ra mà lại gây khó cho người sử dụng (UX) thì lý do gì để nó tồn tại.