0

Thắp đèn online trong 30 phút: thiết kế thời hạn, gia hạn và trạng thái hết hạn

Thắp đèn online trong 30 phút: thiết kế thời hạn, gia hạn và trạng thái hết hạn

Khi người dùng tìm đi chùa online, một ngọn đèn cầu nguyện có thể là hành động ngắn nhưng mang nhiều ý nghĩa. Trong sản phẩm web, đèn chỉ sáng một khoảng thời gian đặt ra hai câu hỏi rất thực tế: khi nào nó tắt, và làm thế nào người dùng biết mình còn kịp kéo dài thời gian? Nếu bộ đếm và trạng thái hiển thị khác nhau giữa hai thiết bị, một thao tác nhẹ nhàng trở thành nguồn bối rối.

Bắt đầu từ lời hứa hiển thị cho người dùng

Nếu đèn sáng 30 phút, giao diện cần nói rõ 30 phút bắt đầu từ thời điểm nào: lúc chọn chủ đề, lúc nhấn xác nhận, hay lúc đèn xuất hiện trong phòng? Chỉ một mốc được dùng cho cả thông báo và trạng thái trên máy chủ. Ghi rõ đèn vẫn sáng khi người tạo rời đi hay không, và người khác trong cùng phòng thấy nội dung gì. Khi một người đã thắp một ngọn đèn, nút tạo mới nên giải thích rằng đang có đèn hoạt động, thay vì âm thầm thay thế ngọn đèn cũ.

Hãy mở Đi Chùa Online để hình dung dòng thao tác. Trang giới thiệu một sân chùa 3D mở ngay trên trình duyệt; người ghé có thể chọn chủ đề như bình an, sức khỏe, học tập, công việc, biết ơn hoặc tưởng niệm và thắp đèn miễn phí. Một người chỉ có thể có một ngọn đèn tại một thời điểm; đèn sáng 30 phút trong phòng đã thắp kể cả khi họ rời đi, và có thể kéo dài trước khi tắt. Đây là một tình huống cụ thể để thiết kế thời hạn, không phải lời hứa mọi ứng dụng sẽ có cùng quy tắc.

Gia hạn là một hành động có thời điểm

Nút gia hạn chỉ có ý nghĩa nếu người dùng biết nó tác động lên ngọn đèn nào, và trong khoảng nào còn được phép dùng. Nên hiển thị thời gian còn lại gần nút, xác nhận khi thao tác thành công, rồi cập nhật thời điểm hết hạn theo phản hồi thực tế. Đừng đơn giản cộng thêm 30 phút vào con số đang nhìn thấy trước khi máy chủ xác nhận, bởi hai tab cùng mở có thể đưa ra hai thời điểm khác nhau. Nếu ngọn đèn đã tắt trước khi người dùng bấm, hãy báo rõ không thể gia hạn ngọn đèn cũ; đừng giả vờ nó vẫn sáng.

Một bài kiểm thử quan trọng là bấm gia hạn ngay sát thời hạn. Thiết bị A thấy còn hai giây, thiết bị B đã thấy hết hạn; phía nào quyết định? Máy chủ nên là nơi xác nhận trạng thái cuối cùng, còn giao diện phản hồi kết quả bằng lời ngắn dễ hiểu. Kiểm tra thêm thao tác lặp do mạng chậm: hai lần nhấn liên tiếp không nên cộng gấp đôi thời gian nếu chỉ một hành động được chấp nhận. Khi không chắc máy chủ đã nhận thao tác, đừng yêu cầu người dùng cứ nhấn lại; hãy kiểm tra trạng thái đèn trước.

Lời nguyện riêng và chủ đề công khai

Thời hạn của đèn không phải thời hạn của dữ liệu riêng tư. Chủ đề được người cùng phòng nhìn thấy có thể cần biến mất khỏi phòng khi đèn tắt, nhưng lời nguyện riêng nếu được lưu trong ghi chép cá nhân vẫn chỉ nên cho người viết đọc. Trường lời nguyện tối đa 120 ký tự cần cho người dùng biết giới hạn khi nhập, và người không muốn viết vẫn có thể chỉ chọn chủ đề. Đừng dùng một ô duy nhất cho cả thông tin công khai và thông tin riêng rồi mong người dùng đọc điều khoản dài để tự hiểu.

Khi đèn tắt, giao diện cũng cần giải thích có thể làm gì tiếp theo: xem lại ghi chép, thắp ngọn đèn mới nếu quy tắc cho phép, hoặc quay lại đi dạo. Nếu một người khác vừa gửi lời chúc trước lúc đèn tắt, kết quả có được ghi nhận không? Một trường hợp ranh giới như vậy nên có quy tắc rõ, để lịch sử không biến thành bộ sưu tập sự kiện lúc có lúc không.

Kiểm thử vòng đời trong vài bước

Thử thắp một ngọn đèn, rời phòng rồi quay lại cùng phòng để xem trạng thái còn đúng không. Mở trang trên thiết bị thứ hai với cùng phiên được phép để so sánh thời điểm hết hạn. Thử gia hạn sớm, gia hạn sát hạn và nhấn hai lần khi mạng chậm. Đợi đèn tắt rồi xem nó còn hiển thị trong phòng không, đồng thời kiểm tra phần ghi chép cá nhân vẫn diễn giải đúng những gì người dùng đã làm. Cuối cùng, đăng xuất hoặc dùng tư cách khách phù hợp, để chắc chắn nội dung riêng tư không rò qua một URL công khai.

Một ngọn đèn online không cần kỹ thuật phức tạp để tạo cảm xúc, nhưng nó cần quy tắc thời gian đáng tin. Mỗi thông báo, nút gia hạn và ranh giới riêng tư đều giúp người dùng đặt tâm ý vào hành động, thay vì phải tự hỏi hệ thống đang giữ trạng thái nào.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí