2 poin oleh GN⁺ 2024-06-01 | 1 komentar | Bagikan ke WhatsApp

Pengalaman menggunakan internet di Antarktika

  • Selama 14 bulan, akses internet dilakukan melalui tautan satelit yang terbatas.
  • Di Stasiun McMurdo, sekitar seribu orang berbagi kecepatan puluhan megabit.
  • Per Oktober 2023, di Kutub Selatan koneksi internet hanya tersedia beberapa jam per hari.
  • Karena koneksi satelit, latensi tinggi (sekitar 750 milidetik) terjadi.

Masalah rekayasa web dan aplikasi di lingkungan internet lambat

  • Banyak web app tidak mempertimbangkan lingkungan internet lambat.
  • Misalnya, aplikasi tertentu hanya bisa berjalan setelah memuat 20MB JavaScript.
  • Jika aplikasi tidak berfungsi dengan baik di lingkungan internet lambat, pengguna akan mengalami ketidaknyamanan besar.

Masalah utama dan cara mengatasinya

Timeout dan ukuran chunk yang di-hardcode

  • Timeout dan ukuran chunk yang di-hardcode menimbulkan masalah besar di lingkungan internet lambat.
  • Solusi:
    • Jika data masih mengalir, biarkan tetap berjalan dan tampilkan progres melalui UI.
    • Jika panggilan HTTPS gagal, coba lagi dengan timeout yang lebih panjang.
    • Jangan kirim data besar sekaligus; pecah dan kirim dalam chunk kecil.
    • Saat terjadi masalah, lakukan diagnosis melalui DNS, ICMP, HTTP, dan sebagainya.

Contoh 1 - Mengunduh metadata aplikasi

  • Sebuah aplikasi desktop tertentu gagal mengunduh metadata karena timeout yang di-hardcode.
  • Solusi:
    • Coba lagi dengan timeout yang makin panjang secara bertahap.
    • Gunakan data yang di-cache atau nilai default.
    • Sediakan cara agar pengguna dapat mengunduh data secara manual.

Contoh 2 - Aplikasi chat

  • Sebuah aplikasi chat tertentu gagal karena menggunakan timeout 10 detik untuk inisialisasi WebSocket.
  • Sementara itu, aplikasi chat lain menangani berbagai kondisi jaringan dengan baik.
  • Solusi:
    • Sesuaikan timeout secara dinamis dan lakukan retry secara cerdas saat gagal.
    • Tampilkan status jaringan saat ini dengan jelas.

Contoh 3 - Pengiriman bertahap

  • Alat penerbitan blog mengirim data dalam chunk kecil dan melanjutkan kembali saat terjadi kegagalan.
  • Platform komersial lain gagal karena mencoba mengirim file besar sekaligus.

Menyediakan fitur unduh untuk pengguna

  • Jika fitur unduh di dalam aplikasi gagal, sediakan tautan agar pengguna dapat mengunduhnya sendiri.
  • Pengguna dapat mengunduh file sekali lalu membagikannya ke beberapa perangkat.
  • Ini memberi fleksibilitas kepada pengguna untuk mengelola unduhan mereka.

Contoh 1 - Pembaruan macOS

  • Pembaruan macOS menimbulkan masalah karena ukuran file yang besar dan fitur cache yang tidak lengkap.
  • Solusi:
    • Sediakan tautan unduhan agar pengguna dapat mengunduhnya sendiri.
    • Tambahkan fitur jeda/lanjutkan pada alat unduh.
    • Sediakan installer lengkap yang mencakup semua file yang diperlukan.

Contoh 2 - Pembaruan OS ponsel Android Samsung

  • Pembaruan OS pada ponsel Android Samsung gagal karena tidak memiliki fitur jeda/lanjutkan.
  • Solusi:
    • Tambahkan fitur jeda/lanjutkan pada alat unduh.
    • Sediakan tautan agar pengguna dapat mengunduh file secara langsung.

Contoh 3 - Auto-update aplikasi kecil

  • Auto-update pada aplikasi desktop kecil menimbulkan masalah karena tidak memiliki tombol jeda/batal.
  • Solusi:
    • Tambahkan tombol jeda/batal pada alat unduh.

Opini GN⁺

  • Mempertimbangkan lingkungan internet lambat: Banyak aplikasi tidak mempertimbangkan lingkungan internet lambat sehingga pengguna mengalami ketidaknyamanan besar. Ini menjadi isu penting terutama di wilayah terpencil atau lingkungan maritim.
  • Meningkatkan pengalaman pengguna: Pengembang aplikasi perlu mempertimbangkan berbagai kondisi jaringan untuk meningkatkan pengalaman pengguna. Ini dapat meningkatkan kepuasan pengguna dan keandalan aplikasi.
  • Solusi teknis: Masalah dapat diatasi melalui solusi teknis seperti penyesuaian timeout, pengiriman per chunk, dan melanjutkan unduhan.
  • Merekomendasikan produk lain: Jika mencari aplikasi yang bekerja baik di lingkungan internet lambat, membandingkan produk pesaing juga bisa menjadi cara yang baik. Misalnya, ada aplikasi chat tertentu yang bekerja lebih baik dalam kondisi lambat.
  • Hal yang perlu dipertimbangkan saat mengadopsi teknologi: Saat mengadopsi teknologi baru, kondisi jaringan perlu dipertimbangkan dengan matang. Ini особенно penting di wilayah terpencil atau lingkungan yang terbatas.

1 komentar

 
GN⁺ 2024-06-01
Opini Hacker News
  • Kondisi internet di Tiongkok: Kondisi internet di Tiongkok tidak stabil dan VPN juga dibatasi. Para pengembang perlu kembali ke tahun 2005 dan membuat web app yang lebih efisien.

  • Masalah jaringan di Australia dan London: Jaringan sering terputus di Australia dan di kereta bawah tanah London, dan sebagian besar aplikasi tidak menanganinya dengan baik. WhatsApp merupakan pengecualian yang bekerja dengan sangat baik.

  • Usulan penggunaan remote desktop: Ada yang penasaran apakah menggunakan remote desktop bisa memberikan pengalaman yang lebih baik. Performa VNC/Windows Remote Desktop dalam kondisi jaringan yang buruk masih belum pasti.

  • Masalah internet lambat: Banyak situs web tidak berfungsi dengan baik di internet lambat. Bahkan halaman yang hanya berisi teks pun lambat dimuat. Beralih ke static site generator sangat membantu meningkatkan produktivitas.

  • Perangkat lunak local-first: Dibutuhkan perangkat lunak local-first. Ini sejalan dengan tujuan awal internet dan memungkinkan kepemilikan data tetap terjaga.

  • Blog dan masalah bandwidth: Penulis blog memakai banyak bandwidth sehingga orang lain mengeluh. Namun, mereka mendapat prioritas karena nilai PR.

  • Pengalaman mengakali jaringan: Ada usulan untuk memakai NNCP di berbagai lingkungan jaringan dengan membagi data menjadi beberapa chunk untuk dikirim. NNCP menjamin pengiriman data yang andal.

  • Perlu mempertimbangkan lingkungan jaringan lambat: Banyak orang tidak memiliki akses ke internet cepat. Aplikasi perlu dikembangkan agar tetap bekerja dengan baik di lingkungan jaringan lambat.

  • Pengalaman di Pasifik Selatan: Karena konsumsi daya Starlink yang tinggi, digunakan SIM lokal, tetapi jaringan EDGE (2G) sangat lambat. Pengujian perangkat lunak perlu mencakup koneksi berkecepatan rendah dan berlatensi tinggi.

  • Mengatasi masalah internet di kapal: Untuk menggunakan internet secara efisien di kapal, digunakan cara seperti memblokir kueri DNS, membatasi sesi pengguna, dan membagi bandwidth secara adil.