2 puan yazan GN⁺ 2024-06-01 | 1 yorum | WhatsApp'ta paylaş

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

 
GN⁺ 2024-06-01
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.