
Giao diện người dùng (tiếng Anh: User Interface, viết tắt: UI) là cầu nối giao tiếp giữa người dùng và máy tính trong một thiết bị. Điều này có thể bao gồm màn hình, bàn phím, chuột và giao diện máy tính để bàn. Nó cũng là cách người dùng tương tác với ứng dụng hoặc trang web. Với sự phụ thuộc ngày càng cao của doanh nghiệp vào các ứng dụng web, ứng dụng di động và mạng xã hội, nhiều công ty đã đặt sự ưu tiên lớn hơn vào UI để nâng cao trải nghiệm người dùng.
Tóm tắt lịch sử phát triển
Máy tính hàng loạt & Giao diện dòng lệnh (Batch Computer & Command Line Interface)
Giao diện người dùng của máy tính hàng loạt (Batch computer) chỉ cho phép nhập liệu qua thẻ đục lỗ hoặc phương tiện tương tự, và ngoài các phương tiện này, người dùng không thể tương tác với máy tính theo thời gian thực.
Giao diện dòng lệnh đã giảm đáng kể thời gian phản hồi từ vài ngày hoặc giờ xuống chỉ còn vài giây, vì giao diện này xử lý một loạt các yêu cầu ngay lập tức. Quan trọng là nó cho phép người dùng điều chỉnh yêu cầu dựa trên dữ liệu từ các giao dịch trước đó.
Ra đời của giao diện người dùng đồ họa (Graphic User Interface)

Giao diện người dùng kỹ thuật số và hệ thống con trỏ chuột đã nâng cao trải nghiệm người dùng đáng kể. GUI đầu tiên được phát triển bởi các nhà nghiên cứu tại Trung tâm Nghiên cứu Xerox Palo (PARC) vào những năm 1970, đánh dấu bước khởi đầu cho sự phát triển đồ họa máy tính đến nay.
Sự phát triển của điện thoại thông minh
Cuối năm 2010, thiết kế giao diện máy tính bắt đầu trải qua sự thay đổi mạnh mẽ do sự bùng nổ của điện thoại thông minh. Sự thay đổi này trong phần cứng máy tính đã buộc các nhà thiết kế phải xem xét lại các thiết kế trước đây.
Các nguyên tắc và quy chuẩn
Theo phương pháp thiết kế tập trung vào người dùng (usage-centered design), các nguyên tắc bao gồm:
- Nguyên tắc cấu trúc: Tổ chức giao diện một cách có chủ đích, sử dụng các mô hình rõ ràng, nhất quán và dễ nhận biết với người dùng. Ví dụ, nhóm các mục liên quan lại với nhau và tách biệt các mục không liên quan.
- Nguyên tắc đơn giản: Đơn giản hóa các tác vụ phổ biến để người dùng dễ thực hiện. Cung cấp các phím tắt hữu ích để giảm thiểu quy trình phức tạp.
- Nguyên tắc hiển thị: Hiển thị tất cả các tùy chọn và yếu tố cần thiết cho một tác vụ cụ thể cùng lúc, tránh làm người dùng phân tâm với thông tin không liên quan hoặc dư thừa. Một thiết kế tốt là không gây áp lực hoặc nhầm lẫn cho người dùng với thông tin không cần thiết.
- Nguyên tắc phản hồi: Thiết kế cần thông báo cho người dùng về các hành động, thay đổi trạng thái, điều kiện và các lỗi hoặc trường hợp ngoại lệ một cách rõ ràng và quen thuộc với họ.
- Nguyên tắc linh hoạt: Thiết kế nên linh hoạt để giảm thiểu sai sót và ngăn ngừa lỗi bằng cách chấp nhận nhiều thông tin và trình tự khác nhau, đồng thời diễn giải hợp lý.
- Nguyên tắc tái sử dụng: Thiết kế nên tái sử dụng các thành phần và hành vi bên trong và bên ngoài, duy trì tính nhất quán có mục đích thay vì nhất quán tùy ý, giảm sự cần thiết phải ghi nhớ và suy nghĩ lại cho người dùng.
Các loại giao diện người dùng

Giao diện dòng lệnh (Command-line)
Giao diện dòng lệnh cho phép người dùng tương tác với máy tính thông qua việc nhập các lệnh. Máy tính sẽ hiển thị lời nhắc và các nút phím của lệnh. Người dùng thực hiện lệnh bằng cách nhấn phím Enter hoặc Return.
Tương tác qua menu và bảng chọn (Menu-driven)
Loại giao diện này cho phép bạn tương tác với máy tính hoặc thiết bị thông qua một loạt các màn hình hoặc menu. Ví dụ như trên máy tính bảng hoặc điện thoại di động, nơi bạn sử dụng giao diện điều khiển menu. Bạn sẽ thấy một menu, chọn tùy chọn và sau đó menu kế tiếp sẽ xuất hiện trên màn hình.
Giao diện đồ họa (Graphic User Interface):
Đây là một thuật ngữ trong ngành công nghiệp máy tính, chỉ việc tương tác với máy tính hoặc thiết bị điện tử thông qua hình ảnh và văn bản thay vì chỉ dòng lệnh. GUI được ứng dụng rộng rãi trong máy tính, thiết bị di động, thiết bị đa phương tiện và các linh kiện điện tử văn phòng.
- Trải nghiệm người dùng
- Phân tích tìm kiếm
- Phân tích trang web
- Quảng cáo nhắm mục tiêu
- Quảng cáo biểu ngữ
- Quảng cáo theo chương trình
- Quảng cáo trực tuyến
- Thương hiệu số
- Tiếp thị chuyển đổi
- Tiếp thị liên kết
- Tiếp thị qua email
- Tiếp thị tái tương tác
- Tự động hóa tiếp thị
- Tối ưu hóa công cụ tìm kiếm
- Tối ưu hóa công cụ tìm kiếm địa phương
- Trang kết quả tìm kiếm
- Truyền thông sản phẩm
- Xác thực khách hàng tiềm năng
- Thiết kế web
- Thiết kế web đáp ứng
- Thương mại điện tử
- Thanh toán điện tử
- Quản lý quan hệ khách hàng
- Tiền điện tử
- Ứng dụng OTT
- Thiết kế hợp tác với khách hàng
- Google Panda
- ^ [https://searchapparchitecture.techtarget.com/definition/user-interface-UI] “Giao diện người dùng là gì?”
- ^ “Giao diện người dùng là gì?”.
Vào những ngày đầu của máy tính, giao diện người dùng hầu như không tồn tại ngoài vài nút bấm trên bảng điều khiển của người vận hành. Nhiều máy tính thời kỳ đầu đã sử dụng thẻ đục lỗ, tạo ra bằng máy đục lỗ, làm phương tiện chính để nhập dữ liệu và chương trình cho máy tính. Mặc dù thẻ đục lỗ đã gần như bị loại bỏ trong ngành công nghiệp máy tính từ năm 2012, một số máy bỏ phiếu vẫn còn sử dụng hệ thống thẻ đục lỗ.
- ^ “Giao diện dòng lệnh”.
Các loại giao diện người dùng bao gồm: giao diện đồ họa (GUI), giao diện dòng lệnh (CLI)
- ^ “Giao diện người dùng là gì?”.
Các loại giao diện người dùng bao gồm: giao diện đồ họa (GUI), giao diện dòng lệnh (CLI), giao diện điều khiển qua menu, giao diện cảm ứng, giao diện người dùng bằng giọng nói (VUI), giao diện dựa trên biểu mẫu, giao diện ngôn ngữ tự nhiên
- ^ “Lịch sử ngắn gọn về thiết kế giao diện người dùng máy tính”. Bản gốc lưu trữ ngày 21 tháng 11 năm 2022.
- ^ “Lịch sử ngắn gọn về thiết kế giao diện người dùng máy tính”. Bản gốc lưu trữ ngày 21 tháng 11 năm 2022.
Vào cuối những năm 2000, thiết kế giao diện máy tính bắt đầu thay đổi đáng kể nhờ sự gia tăng của điện thoại thông minh. Sự thay đổi lớn trong phần cứng máy tính này đã buộc các nhà thiết kế phải xem xét lại giao diện từ đầu. Dĩ nhiên, đã có các thiết bị di động trước iPhone của Apple, bao gồm cả máy tính xách tay và các thiết bị cầm tay như Pen Pad của Amstad, PalmPilot của US Robotics và có thể là smartphone đầu tiên: IBM Simon vào năm 1993, thiết bị đầu tiên kết hợp các tính năng điện thoại và PDA trong một thiết bị.
- ^ “Nguyên tắc thiết kế giao diện người dùng”.
- ^ “Thiết kế tập trung vào sử dụng”.
- ^ “Nguyên tắc thiết kế giao diện người dùng”.
Nguyên tắc cấu trúc: Thiết kế nên tổ chức giao diện người dùng một cách có chủ đích, theo các mô hình rõ ràng và nhất quán mà người dùng có thể nhận diện, nhóm các yếu tố liên quan lại và tách biệt những thứ không liên quan, phân biệt các yếu tố khác nhau và làm cho các yếu tố tương tự giống nhau. Nguyên tắc cấu trúc liên quan đến kiến trúc tổng thể của giao diện người dùng.
- ^ “Nguyên tắc thiết kế giao diện người dùng”.
Nguyên tắc đơn giản: Thiết kế nên làm cho các tác vụ phổ biến trở nên dễ dàng, giao tiếp rõ ràng và đơn giản bằng ngôn ngữ của người dùng, và cung cấp các phím tắt tốt có liên quan một cách có ý nghĩa đến các quy trình dài hơn.
- ^ “Nguyên tắc thiết kế giao diện người dùng”.
Nguyên tắc hiển thị: Thiết kế nên làm cho tất cả các tùy chọn và yếu tố cần thiết cho một tác vụ cụ thể hiển thị mà không làm người dùng phân tâm với thông tin không liên quan. Thiết kế tốt không làm người dùng choáng ngợp với các lựa chọn thay thế hoặc gây nhầm lẫn với thông tin không cần thiết.
- ^ “Nguyên tắc thiết kế giao diện người dùng”.
Nguyên tắc phản hồi: Thiết kế nên giữ người dùng được thông báo về các hành động hoặc giải thích về các thay đổi trạng thái, điều kiện và các lỗi hoặc trường hợp ngoại lệ có liên quan và quan trọng đối với người dùng thông qua ngôn ngữ rõ ràng, ngắn gọn và không mơ hồ.
- ^ “Nguyên tắc thiết kế giao diện người dùng”.
Nguyên tắc linh hoạt: Thiết kế nên linh hoạt và khoan dung, giảm chi phí sai sót và sử dụng sai bằng cách cho phép hoàn tác và làm lại, đồng thời ngăn ngừa lỗi càng nhiều càng tốt bằng cách chấp nhận các đầu vào và trình tự khác nhau và diễn giải tất cả các hành động hợp lý.
- ^ “Nguyên tắc thiết kế giao diện người dùng”.
Nguyên tắc tái sử dụng: Thiết kế nên tái sử dụng các thành phần và hành vi bên trong và bên ngoài, duy trì sự nhất quán với mục đích thay vì chỉ nhất quán tùy tiện, giảm nhu cầu cho người dùng phải suy nghĩ lại và ghi nhớ.
- ^ “Giao diện người dùng là gì?”.
Các loại giao diện người dùng bao gồm: giao diện đồ họa (GUI), giao diện dòng lệnh (CLI), giao diện điều khiển qua menu, giao diện cảm ứng, giao diện người dùng bằng giọng nói (VUI), giao diện dựa trên biểu mẫu, giao diện ngôn ngữ tự nhiên
- ^ “Giao diện điều khiển qua menu”.
- ^ “Giao diện điều khiển qua menu”.
Loại giao diện này cho phép bạn tương tác với máy tính hoặc thiết bị bằng cách điều hướng qua một loạt các màn hình hoặc menu.
- ^ “Giao diện đồ họa người dùng”.
- ^ “Giao diện đồ họa người dùng”.
Giao diện đồ họa người dùng (GUI) là cách tương tác với máy tính hoặc thiết bị điện tử thông qua hình ảnh và văn bản thay vì chỉ dùng các lệnh đơn giản. GUI rất phổ biến trên máy tính, thiết bị di động, thiết bị đa phương tiện và các linh kiện điện tử trong văn phòng, gia đình...
Những lĩnh vực chính của khoa học máy tính | |
|---|---|
| Các nền tảng toán học | Logic toán · Lý thuyết tập hợp · Lý thuyết số · Lý thuyết đồ thị · Lý thuyết kiểu · Lý thuyết thể loại · Giải tích số · Lý thuyết thông tin · Đại số · Nhận dạng mẫu · Nhận dạng tiếng nói · Toán học tổ hợp · Đại số Boole · Toán rời rạc |
| Lý thuyết phép tính | Độ phức tạp Kolmogorov · Lý thuyết Automat · Lý thuyết tính được · Lý thuyết độ phức tạp tính toán · Lý thuyết điện toán lượng tử |
| Các cấu trúc dữ liệu và các giải thuật | Phân tích giải thuật · Thiết kế giải thuật · Hình học tính toán · Tối ưu hóa tổ hợp |
| Các ngôn ngữ lập trình và Các trình biên dịch | Các bộ phân tích cú pháp · Các trình thông dịch · Lập trình cấu trúc · Lập trình thủ tục · Lập trình hướng đối tượng · Lập trình hướng khía cạnh · Lập trình hàm · Lập trình logic · Lập trình máy tính · Lập trình mệnh lệnh · Lập trình song song · Lập trình tương tranh · Các mô hình lập trình · Prolog · Tối ưu hóa trình biên dịch |
| Tính song hành, Song song, và các hệ thống phân tán | Đa xử lý · Điện toán lưới · Kiểm soát song hành · Hiệu năng hệ thống · Tính toán phân tán |
| Công nghệ phần mềm | Phân tích yêu cầu · Thiết kế phần mềm · Các phương pháp hình thức · Kiểm thử phần mềm · Quy trình phát triển phần mềm · Các phép đo phần mềm · Đặc tả chương trình · LISP · Mẫu thiết kế · Tối ưu hóa phần mềm |
| Kiến trúc hệ thống | Kiến trúc máy tính · Tổ chức máy tính · Các hệ điều hành · Các cấu trúc điều khiển · Cấu trúc bộ nhớ lưu trữ · Vi mạch · Thiết kế ASIC · Vi lập trình · Vào/ra dữ liệu · VLSI design · Xử lý tín hiệu số |
| Viễn thông và Mạng máy tính | Audio máy tính · Chọn tuyến · Cấu trúc liên kết mạng · Mật mã học |
| Các cơ sở dữ liệu và Các hệ thống thông tin | Hệ quản trị cơ sở dữ liệu · Cơ sở dữ liệu quan hệ · SQL · Các giao dịch · Các chỉ số cơ sở dữ liệu · Khai phá dữ liệu · Biểu diễn và giao diện thông tin · Các hệ thống thông tin · Khôi phục dữ liệu · Lưu trữ thông tin · Lý thuyết thông tin · Mã hóa dữ liệu · Nén dữ liệu · Thu thập thông tin |
| Trí tuệ nhân tạo | Lập luận tự động · Ngôn ngữ học tính toán · Thị giác máy tính · Tính toán tiến hóa · Các hệ chuyên gia · Học máy · Xử lý ngôn ngữ tự nhiên · Robot học |
| Đồ họa máy tính | Trực quan hóa · Hoạt họa máy tính · Xử lý ảnh |
| Giao diện người-máy tính | Khả năng truy cập máy tính · Giao diện người dùng · Điện toán mang được · Điện toán khắp mọi nơi · Thực tế ảo |
| Khoa học tính toán | Cuộc sống nhân tạo · Tin sinh học · Khoa học nhận thức · Hóa học tính toán · Khoa học thần kinh tính toán · Vật Lý học tính toán · Các giải thuật số · Toán học kí hiệu |
Chú ý: khoa học máy tính còn có thể được chia thành nhiều chủ đề hay nhiều lĩnh vực khác dựa theo Hệ thống xếp loại điện toán ACM. | |
