Nhiệm vụ: Phát triển và ra mắt tính năng giao tiếp và trợ giúp trên nền tảng

Phát triển và ra mắt tính năng giao tiếp và trợ giúp trên nền tảng

Triển khai luồng "Yêu cầu trợ giúp" / "Tôi đang trực tuyến" với phản hồi nhanh, giao tiếp văn bản và cuộc gọi tích hợp.

Mục tiêu

Thêm một lớp trợ giúp trực tiếp nhẹ nhàng vào nền tảng mà không biến nó thành một chợ gia sư riêng biệt.

Mô hình cơ bản:

  • người dùng có thể nhấp vào "Yêu cầu trợ giúp";
  • những người dùng sẵn sàng giúp đỡ bật trạng thái "Tôi đang trực tuyến";
  • những người hỗ trợ đang hoạt động sẽ nhận được yêu cầu;
  • người đầu tiên chấp nhận yêu cầu sẽ nhận được yêu cầu đó;
  • việc giao tiếp tiếp theo được tiếp tục trực tiếp trên nền tảng;
  • nếu cần thiết, các bên sẽ chuyển sang cuộc gọi âm thanh/video;
  • sau khi hoàn tất, tương tác được lưu lại trong lịch sử.

Luồng người dùng chính

  1. Người hỗ trợ bật trạng thái "Tôi đang trực tuyến".
  2. Người dùng nhấp vào "Yêu cầu trợ giúp".
  3. Một yêu cầu được tạo với ngữ cảnh ngắn gọn: môn học, chủ đề, câu hỏi hoặc nhiệm vụ hiện tại.
  4. Thông báo thời gian thực (realtime) được gửi đến tất cả những người hỗ trợ đang hoạt động phù hợp.
  5. Người đầu tiên chấp nhận yêu cầu sẽ nhận được nó độc quyền; yêu cầu sẽ biến mất đối với những người khác.
  6. Phòng trò chuyện mở ra.
  7. Các tính năng có sẵn trong phòng:
    • trò chuyện văn bản;
    • gửi liên kết và hình ảnh;
    • cuộc gọi âm thanh/video;
    • chia sẻ màn hình nếu cần thiết.
  8. Sau khi hoàn thành, yêu cầu và lịch sử trò chuyện vẫn khả dụng cho những người tham gia.

Logic kinh tế

Nền tảng không thu hoa hồng từ việc trợ giúp hoặc học tập cá nhân tiếp theo.

Đối với người hỗ trợ, giá trị là một khách hàng tiềm năng (lead):

trợ giúp ngắn gọn ngay bây giờ → niềm tin → học viên lâu dài tiềm năng trực tiếp.

Người hỗ trợ tự quyết định:

  • khi nào bật trạng thái "Tôi đang trực tuyến";
  • trả lời yêu cầu nào;
  • giúp đỡ trong bao lâu;
  • có tiếp tục giao tiếp và giảng dạy ngoài yêu cầu một lần hay không.

Đối với người dùng, giá trị là nhận được sự giúp đỡ trực tiếp ngay tại thời điểm gặp khó khăn.

Đối với nền tảng, giá trị là tăng cường tính hữu ích và khả năng giữ chân người dùng mà không bắt buộc phải xây dựng một doanh nghiệp riêng biệt dựa trên hoa hồng bài học.

Những gì cần triển khai

Sự hiện diện (Presence)

  • trạng thái "Tôi đang trực tuyến";
  • TTL / tự động hết hạn trạng thái;
  • hiển thị tính khả dụng;
  • khả năng tắt trạng thái nhanh chóng.

Yêu cầu trợ giúp

  • tạo yêu cầu;
  • ngữ cảnh yêu cầu tối thiểu;
  • định tuyến đến những người hỗ trợ đang hoạt động phù hợp;
  • chấp nhận yêu cầu nguyên tử (atomic) bởi người phản hồi đầu tiên;
  • người dùng hủy yêu cầu;
  • thời gian chờ (timeout) nếu không có ai trả lời.

Thời gian thực (Realtime)

  • gửi sự kiện yêu cầu mới ngay lập tức khi tab đang mở;
  • cập nhật trạng thái yêu cầu mà không cần tải lại trang;
  • đồng bộ hóa trạng thái giữa những người tham gia.

Phòng giao tiếp

  • tin nhắn văn bản;
  • liên kết;
  • hình ảnh/tệp đính kèm;
  • lịch sử tin nhắn;
  • trạng thái người tham gia;
  • nút chuyển sang cuộc gọi.

Cuộc gọi

Hạ tầng WebRTC/STUN/TURN đã tồn tại, vì vậy nhiệm vụ ở đây là tích hợp nó vào luồng người dùng:

  • tạo phòng;
  • kết nối người tham gia;
  • âm thanh;
  • video;
  • chia sẻ màn hình;
  • kết thúc phiên làm việc chính xác.

Lịch sử

  • danh sách yêu cầu;
  • trạng thái: đang chờ / đã nhận / đã hoàn thành / đã hủy;
  • người tham gia;
  • ngày và giờ;
  • quyền truy cập vào lịch sử phòng.

Nguyên tắc

  • không có kịch bản bắt buộc nào phức tạp hơn mức cần thiết;
  • việc bắt đầu trợ giúp chỉ nên mất vài giây;
  • người hỗ trợ không bắt buộc phải liên tục ở trên trang;
  • trạng thái "Tôi đang trực tuyến" có nghĩa là sẵn sàng nhận yêu cầu, không phải nghĩa vụ phải trả lời;
  • tính năng này phải hữu ích ngay cả với một số ít người hỗ trợ hoạt động;
  • tính năng giao tiếp tích hợp phải là phần mở rộng tự nhiên của nền tảng, không phải là một sản phẩm riêng biệt.