Các nhà phát triển chia sẻ trải nghiệm thực tế với kết nối Internet kém và giải pháp thiết kế

Nhóm biên tập BigGo
Các nhà phát triển chia sẻ trải nghiệm thực tế với kết nối Internet kém và giải pháp thiết kế

Cộng đồng công nghệ đang tích cực thảo luận về cách kết nối internet kém ảnh hưởng đến người dùng thực tế, chia sẻ những trải nghiệm cá nhân làm nổi bật lý do tại sao các nhà phát triển nên thiết kế cho các kết nối không ổn định. Mặc dù dữ liệu gần đây cho thấy 97% hộ gia đình tại Mỹ có quyền truy cập internet, thực tế sử dụng các ứng dụng trên kết nối chậm hoặc không ổn định tiết lộ những vấn đề về khả năng sử dụng đáng kể mà nhiều nhà phát triển không bao giờ gặp phải trong quá trình phát triển.

Thống kê Truy cập Internet tại Mỹ (2021)

  • Có Truy cập Internet: 97.1% hộ gia đình có học sinh
  • Chỉ Truy cập qua Smartphone: 4.5% tổng số học sinh
  • Không có Truy cập Internet: 2.9% tổng số học sinh
  • Hộ gia đình thu nhập thấp (nhóm thấp nhất): 94.4% có truy cập internet, 9.8% chỉ qua smartphone

Mạng di động tạo ra những thách thức bất ngờ ở khu vực đông đúc

Các khu vực thành thị đưa ra những vấn đề kết nối độc đáo vượt ra ngoài khoảng trống phủ sóng nông thôn. Internet di động ở những địa điểm đông đúc như hệ thống tàu điện ngầm hoặc trong thời gian mất điện có thể trở nên thực tế không thể sử dụng được do tắc nghẽn mạng. Người dùng báo cáo rằng về mặt kỹ thuật việc trực tuyến không đảm bảo kết nối hoạt động, với một số mô tả cách toàn bộ khu phố chuyển từ WiFi sang dữ liệu di động trong thời gian mất điện khiến mạng di động hoàn toàn không thể sử dụng được. Điều này tạo ra những tình huống mà các ứng dụng hoạt động hoàn hảo trên kết nối ổn định trở nên khó chịu hoặc không thể sử dụng khi người dùng cần chúng nhất.

Kết nối độ trễ cao phơi bày thiết kế ứng dụng kém

WiFi hàng không và kết nối vệ tinh tiết lộ cách nhiều ứng dụng hiện đại phụ thuộc nhiều vào việc liên lạc khứ hồi nhiều lần giữa máy khách và máy chủ. Với độ trễ đạt 600 mili giây hoặc hơn trên kết nối vệ tinh địa tĩnh, các ứng dụng hoạt động mượt mà với độ trễ 10ms trở nên gần như không thể sử dụng. Các nhà phát triển làm việc trong môi trường độ trễ thấp thường bỏ lỡ hoàn toàn những vấn đề này, tạo ra các ứng dụng thực hiện hàng chục yêu cầu mạng tuần tự thay vì nhóm các hoạt động một cách hiệu quả.

Tốc độ Internet tối thiểu được khuyến nghị cho thiết kế

  • Tải xuống: 25 Mbps
  • Tải lên: 3 Mbps
  • Loại kết nối: Mặt đất (không phải vệ tinh)
  • Yêu cầu gọi video: 1-4 Mbps theo cả hai hướng ( Zoom )

Công cụ kiểm tra giúp các nhà phát triển trải nghiệm điều kiện thế giới thực

Cộng đồng phát triển đã xác định các giải pháp thực tế để kiểm tra ứng dụng trong điều kiện mạng kém. Các công cụ như toxiproxy và điều chỉnh mạng dựa trên trình duyệt cho phép các nhà phát triển mô phỏng giới hạn băng thông, biến động độ trễ và mất gói tin. Một số nhà phát triển đi xa hơn, kiểm tra ứng dụng của họ trên phần cứng cũ với kết nối được điều chỉnh xuống 128 kbps để đảm bảo khả năng sử dụng cơ bản trên nhiều điều kiện khác nhau.

Tôi luôn kiểm tra trang web của mình trên nhiều thiết bị khác nhau, bao gồm một PC cũ chạy Windows XP , một Mac từ năm 2011 chạy High Sierra , một điện thoại Android từ năm 2016, và một máy Linux sử dụng trình duyệt văn bản Lynx , và tôi kiểm tra việc tải trang web trên kết nối được điều chỉnh xuống 128kbps.

Công cụ kiểm thử mạng cho các nhà phát triển

  • toxiproxy: Mô phỏng giới hạn băng thông, độ trễ và mất gói tin
  • Công cụ phát triển trình duyệt: Tùy chọn điều chỉnh mạng tích hợp sẵn
  • tc-netem: Công cụ mô phỏng mạng Linux
  • PageSpeed Insights: Kiểm thử hiệu suất web (pagespeed.web.dev)

Nguyên tắc thiết kế ưu tiên ngoại tuyến ngày càng được chấp nhận

Nhiều nhà phát triển đang áp dụng các nguyên tắc thiết kế giả định kết nối kém là mặc định thay vì ngoại lệ. Điều này bao gồm thiết kế API yêu cầu ít chuyến khứ hồi hơn, triển khai các chiến lược lưu trữ tích cực và đảm bảo ứng dụng có thể hoạt động trong thời gian ngắt kết nối tạm thời. Cách tiếp cận này có lợi cho tất cả người dùng bằng cách tạo ra các ứng dụng phản hồi nhanh hơn, ngay cả đối với những người có kết nối internet tuyệt vời.

Cuộc thảo luận phản ánh nhận thức ngày càng tăng rằng các giả định về kết nối được đưa ra trong quá trình phát triển thường không khớp với các mẫu sử dụng thế giới thực. Khi ngày càng nhiều nhà phát triển chia sẻ trải nghiệm của họ với kết nối kém và chiến lược kiểm tra, cộng đồng đang xây dựng các thực hành tốt hơn để tạo ra các ứng dụng hoạt động đáng tin cậy trên các điều kiện mạng đa dạng.

Tham khảo: Should we design for iffy internet?