Antarktika'da internet kullanım deneyimi
- Antarktika'da 14 ay boyunca sınırlı bir uydu bağlantısı üzerinden internete erişildi
- McMurdo Üssü'nde yaklaşık bin kişi birkaç onlarca megabitlik hızı paylaştı
- Ekim 2023 itibarıyla Güney Kutbu'nda internet bağlantısı günde yalnızca birkaç saat mümkündü
- Uydu bağlantısı nedeniyle yüksek gecikme süresi (yaklaşık 750 milisaniye) oluştu
Yavaş internet ortamında web ve uygulama mühendisliği sorunları
- Birçok web uygulaması yavaş internet ortamını dikkate almıyor.
- Örneğin, belirli bir uygulamanın çalışması için 20MB JavaScript yüklemesi gerekiyordu.
- Yavaş internet ortamında uygulama düzgün çalışmazsa kullanıcı ciddi rahatsızlık yaşar.
Başlıca sorunlar ve çözüm yolları
Sabit kodlanmış zaman aşımı ve parça boyutu
- Sabit kodlanmış zaman aşımı ve parça boyutları yavaş internet ortamında büyük sorunlara yol açar.
- Çözüm yolları:
- Veri akışı sürüyorsa kesmeyin, bunun yerine UI üzerinden ilerleme durumunu gösterin.
- HTTPS çağrısı başarısız olursa daha uzun zaman aşımıyla yeniden deneyin.
- Büyük veriyi tek seferde göndermeyin, küçük parçalara bölerek gönderin.
- Sorun çıktığında DNS, ICMP, HTTP gibi yöntemlerle tanılama yapın.
Örnek 1 - uygulama meta veri indirme
- Belirli bir masaüstü uygulaması, sabit kodlanmış zaman aşımı nedeniyle meta veri indirmede başarısız oldu.
- Çözüm yolları:
- Kademeli olarak daha uzun zaman aşımıyla yeniden deneyin.
- Önbelleğe alınmış veriyi kullanın veya varsayılan değerleri kullanın.
- Kullanıcının veriyi manuel olarak indirebilmesi için bir yöntem sunun.
Örnek 2 - sohbet uygulaması
- Belirli bir sohbet uygulaması, WebSocket başlatma için 10 saniyelik zaman aşımı kullandığından başarısız oldu.
- Buna karşılık başka bir sohbet uygulaması çeşitli ağ koşullarına iyi uyum sağladı.
- Çözüm yolları:
- Zaman aşımını dinamik olarak ayarlayın ve başarısızlık durumunda akıllıca yeniden deneyin.
- Mevcut ağ durumunu açıkça gösterin.
Örnek 3 - kademeli aktarım
- Blog paylaşım aracı veriyi küçük parçalar halinde gönderiyor ve başarısızlık durumunda kaldığı yerden devam ediyordu.
- Başka bir ticari platform ise büyük dosyayı tek seferde göndermeye çalıştığı için başarısız oldu.
Kullanıcıya indirme özelliği sunma
- Uygulama içi indirme özelliği başarısız olursa kullanıcının doğrudan indirebilmesi için bağlantı sunun.
- Kullanıcı bir dosyayı bir kez indirip birden fazla cihazla paylaşabilir.
- Bu, kullanıcıya indirmeyi yönetme konusunda esneklik sağlar.
Örnek 1 - macOS güncellemesi
- macOS güncellemesi, büyük dosya boyutu ve eksik önbellek işlevi nedeniyle sorun çıkarıyordu.
- Çözüm yolları:
- İndirme bağlantısı sağlayarak kullanıcının dosyayı doğrudan indirebilmesini sağlayın.
- İndirme aracına duraklat/devam et özelliği ekleyin.
- Gerekli tüm dosyaları içeren tam yükleyiciyi sunun.
Örnek 2 - Samsung Android telefon OS güncellemesi
- Samsung Android telefonların OS güncellemesi, duraklat/devam et özelliği olmadığı için başarısız oluyordu.
- Çözüm yolları:
- İndirme aracına duraklat/devam et özelliği ekleyin.
- Kullanıcının dosyayı doğrudan indirebilmesi için bağlantı sunun.
Örnek 3 - küçük uygulama otomatik güncellemesi
- Küçük bir masaüstü uygulamasının otomatik güncellemesi, duraklat/iptal düğmesi olmadığı için sorun çıkarıyordu.
- Çözüm yolları:
- İndirme aracına duraklat/iptal düğmesi ekleyin.
GN⁺ görüşü
- Yavaş internet ortamını dikkate alma: Birçok uygulama yavaş internet ortamını dikkate almadığı için kullanıcı ciddi rahatsızlık yaşar. Bu, özellikle uzak bölgelerde veya deniz ortamlarında önemli bir sorundur.
- Kullanıcı deneyimini iyileştirme: Uygulama geliştiricileri, farklı ağ koşullarını dikkate alarak kullanıcı deneyimini iyileştirmelidir. Bu, kullanıcı memnuniyetini artırır ve uygulamanın güvenilirliğini yükseltir.
- Teknik çözüm yolları: Zaman aşımı ayarı, parçalı aktarım, indirmeyi sürdürme gibi teknik çözümlerle sorun çözülebilir.
- Başka ürünleri önerme: Yavaş internet ortamında iyi çalışan uygulamalar arıyorsanız, rakip ürünleri karşılaştırmak da iyi bir yöntem olabilir. Örneğin, belirli bir sohbet uygulaması yavaş koşullarda daha iyi çalışabilir.
- Teknoloji benimserken dikkat edilmesi gerekenler: Yeni bir teknoloji devreye alınırken ağ koşulları mutlaka yeterince dikkate alınmalıdır. Bu, özellikle uzak veya kısıtlı ortamlarda önemli bir unsurdur.
1 yorum
Hacker News görüşleri
Çin'in internet ortamı: Çin'deki internet ortamı istikrarsız ve VPN de sınırlı. Geliştiricilerin 2005'e geri dönüp daha verimli web uygulamaları yapması gerekiyor.
Avustralya ve Londra'daki ağ sorunları: Avustralya'da ve Londra metrosunda ağ sık sık kopuyor, ancak çoğu uygulama bunu iyi yönetemiyor. WhatsApp bu konuda istisnai olarak iyi çalışıyor.
Uzak masaüstü kullanımı önerisi: Uzak masaüstü kullanmanın daha iyi bir deneyim sağlayıp sağlamayacağı merak ediliyor. Ağ koşullarının kötü olduğu durumlarda VNC/Windows Remote Desktop performansı belirsiz.
Yavaş internetin sorunu: Yavaş internette birçok web sitesi düzgün çalışmıyor. Sadece metin içeren sayfalar bile yavaş yükleniyor. Statik site üretecine geçmek üretkenliği artırmada büyük fayda sağladı.
Yerel öncelikli yazılım: Yerel öncelikli yazılıma ihtiyaç var. Bu, internetin asıl amacına uygun ve veri sahipliğini korumayı mümkün kılıyor.
Blog ve bant genişliği sorunu: Blog yazarı çok fazla bant genişliği tükettiği için başkaları bundan şikayet ediyor. Ancak PR değeri nedeniyle öncelik alıyor.
Ağ hackleme deneyimi: Farklı ağ ortamlarında NNCP kullanarak veriyi parçalara bölüp aktarma yöntemi öneriliyor. NNCP, güvenilir veri aktarımını garanti ediyor.
Yavaş ağ ortamlarını dikkate alma gereği: Pek çok kişinin hızlı internete erişimi yok. Yavaş ağ ortamlarında da iyi çalışan uygulamalar geliştirmek gerekiyor.
Güney Pasifik'teki deneyim: Starlink'in yüksek güç tüketimi nedeniyle yerel SIM kart kullanıldı, ancak EDGE (2G) ağı çok yavaştı. Yazılım testlerine düşük hızlı, yüksek gecikmeli bağlantılar da dahil edilmeli.
Gemilerde internet sorununu çözme: Gemilerde interneti verimli kullanmak için DNS sorgularını engelleme, kullanıcı oturumlarını sınırlama ve bant genişliğini adil dağıtma gibi yöntemler kullanılıyor.