2 पॉइंट द्वारा GN⁺ 2024-06-01 | 1 टिप्पणियां | WhatsApp पर शेयर करें

अंटार्कटिका में इंटरनेट इस्तेमाल का अनुभव

  • अंटार्कटिका में 14 महीनों तक सीमित satellite link के जरिए इंटरनेट का उपयोग किया गया
  • McMurdo Station में लगभग एक हज़ार लोग कुछ दर्जन मेगाबिट की स्पीड साझा करते हैं
  • अक्टूबर 2023 तक, South Pole पर हर दिन सिर्फ कुछ घंटों के लिए ही इंटरनेट कनेक्शन उपलब्ध था
  • satellite कनेक्शन की वजह से बहुत अधिक latency (लगभग 750 milliseconds) होती थी

धीमे इंटरनेट माहौल में web और app engineering की समस्याएँ

  • कई web apps धीमे इंटरनेट माहौल को ध्यान में रखकर नहीं बनाए जाते।
  • उदाहरण के लिए, एक खास app को चलने के लिए 20MB JavaScript लोड करनी पड़ती थी।
  • जब धीमे इंटरनेट माहौल में app ठीक से काम नहीं करता, तो उपयोगकर्ताओं को भारी असुविधा होती है।

मुख्य समस्याएँ और समाधान

hardcoded timeout और chunk size

  • hardcoded timeout और chunk size धीमे इंटरनेट माहौल में बड़ी समस्याएँ पैदा करते हैं।
  • समाधान:
    • अगर डेटा बह रहा है, तो उसे जारी रहने दें और UI के जरिए प्रगति दिखाएँ।
    • HTTPS call असफल होने पर अधिक लंबे timeout के साथ फिर से कोशिश करें।
    • बड़े डेटा को एक बार में भेजने के बजाय छोटे chunks में बाँटकर भेजें।
    • समस्या आने पर DNS, ICMP, HTTP आदि के जरिए कारण की जाँच करें।

उदाहरण 1 - app metadata डाउनलोड

  • एक desktop app hardcoded timeout की वजह से metadata डाउनलोड करने में असफल हो जाता था।
  • समाधान:
    • धीरे-धीरे लंबे timeout के साथ retry करें।
    • cached data का उपयोग करें या default values इस्तेमाल करें।
    • उपयोगकर्ता को डेटा manually डाउनलोड करने का तरीका दें।

उदाहरण 2 - chat app

  • एक chat app WebSocket initialization के लिए 10-second timeout इस्तेमाल करता था, इसलिए वह असफल हो जाता था।
  • वहीं, दूसरा chat app अलग-अलग network conditions में बेहतर तरीके से काम करता था।
  • समाधान:
    • timeout को dynamically समायोजित करें और विफलता पर समझदारी से retry करें।
    • मौजूदा network स्थिति को स्पष्ट रूप से दिखाएँ।

उदाहरण 3 - progressive transfer

  • एक blog publishing tool डेटा को छोटे chunks में भेजता था और विफल होने पर वहीं से फिर शुरू करता था।
  • दूसरी commercial platform बड़े files को एक बार में भेजने की कोशिश करती थी और असफल हो जाती थी।

उपयोगकर्ताओं को डाउनलोड सुविधा देना

  • अगर app के अंदर की डाउनलोड सुविधा विफल हो जाए, तो उपयोगकर्ताओं को सीधे डाउनलोड करने के लिए link दें।
  • उपयोगकर्ता एक बार file डाउनलोड करके उसे कई devices में साझा कर सकते हैं।
  • इससे उपयोगकर्ताओं को डाउनलोड प्रबंधन में अधिक लचीलापन मिलता है।

उदाहरण 1 - macOS update

  • macOS update बड़े file size और अधूरी cache functionality की वजह से समस्याएँ पैदा करता है।
  • समाधान:
    • download link दें ताकि उपयोगकर्ता खुद file डाउनलोड कर सकें।
    • download tool में pause/resume सुविधा जोड़ें।
    • ऐसा पूरा installer दें जिसमें सभी ज़रूरी files शामिल हों।

उदाहरण 2 - Samsung Android phone OS update

  • Samsung Android phone के OS update में pause/resume सुविधा न होने की वजह से विफलता होती थी।
  • समाधान:
    • download tool में pause/resume सुविधा जोड़ें।
    • उपयोगकर्ताओं को सीधे files डाउनलोड करने के लिए link दें।

उदाहरण 3 - छोटे app का auto update

  • छोटे desktop app के auto update में pause/cancel button न होने की वजह से समस्या होती थी।
  • समाधान:
    • download tool में pause/cancel button जोड़ें।

GN⁺ की राय

  • धीमे इंटरनेट माहौल पर विचार: कई apps धीमे इंटरनेट माहौल को ध्यान में नहीं रखते, जिससे उपयोगकर्ताओं को बड़ी असुविधा होती है। यह खासकर दूरदराज़ या समुद्री वातावरण में एक महत्वपूर्ण समस्या है।
  • user experience में सुधार: app developers को अलग-अलग network conditions को ध्यान में रखकर user experience बेहतर करना चाहिए। इससे user satisfaction बढ़ती है और app की reliability सुधरती है।
  • तकनीकी समाधान: timeout adjustment, chunk transfer, download resume जैसी तकनीकी विधियों से इन समस्याओं को हल किया जा सकता है।
  • दूसरे products की सिफारिश: अगर धीमे इंटरनेट माहौल में अच्छी तरह काम करने वाला app चाहिए, तो competitor products की तुलना करना भी अच्छा तरीका हो सकता है। उदाहरण के लिए, कुछ chat apps धीमे माहौल में बेहतर काम करते हैं।
  • तकनीक अपनाते समय ध्यान देने योग्य बातें: नई तकनीक अपनाते समय network conditions पर पर्याप्त विचार करना चाहिए। यह खासकर दूरदराज़ या सीमित वातावरण में बहुत महत्वपूर्ण है।

1 टिप्पणियां

 
GN⁺ 2024-06-01
Hacker News राय
  • चीन का इंटरनेट माहौल: चीन का इंटरनेट माहौल अस्थिर है और VPN भी सीमित हैं। डेवलपर्स को मानो 2005 में लौटकर ज़्यादा efficient web apps बनाने की ज़रूरत है.

  • ऑस्ट्रेलिया और लंदन की नेटवर्क समस्याएँ: ऑस्ट्रेलिया और लंदन Underground में नेटवर्क बार-बार कट जाता है, लेकिन ज़्यादातर apps इसे ठीक से handle नहीं करते। WhatsApp एक असाधारण अपवाद है.

  • Remote Desktop इस्तेमाल करने का सुझाव: यह जिज्ञासा है कि क्या Remote Desktop इस्तेमाल करने से बेहतर अनुभव मिल सकता है। खराब नेटवर्क conditions में VNC/Windows Remote Desktop की performance अनिश्चित है.

  • धीमे इंटरनेट की समस्या: धीमे इंटरनेट पर कई websites ठीक से काम नहीं करतीं। सिर्फ text वाले pages भी धीरे load होते हैं। static site generator पर switch करना productivity बढ़ाने में बहुत मददगार रहा.

  • Local-first software: Local-first software की ज़रूरत है। यह इंटरनेट के मूल उद्देश्य के अनुरूप है और data ownership बनाए रखने में मदद करता है.

  • ब्लॉग और bandwidth समस्या: ब्लॉग लिखने वाला व्यक्ति बहुत bandwidth खा जाता है, जिससे दूसरे लोग शिकायत करते हैं। लेकिन PR value की वजह से उसे प्राथमिकता मिलती है.

  • नेटवर्क hacking का अनुभव: अलग-अलग नेटवर्क माहौल में NNCP का उपयोग करके data को chunks में बाँटकर भेजने का तरीका सुझाया गया है। NNCP भरोसेमंद data transfer सुनिश्चित करता है.

  • धीमे नेटवर्क माहौल पर विचार की ज़रूरत: बहुत से लोगों को तेज़ इंटरनेट उपलब्ध नहीं है। ऐसे apps बनाने चाहिए जो धीमे नेटवर्क माहौल में भी अच्छी तरह काम करें.

  • दक्षिण प्रशांत का अनुभव: Starlink की ऊँची power consumption की वजह से स्थानीय SIM card का इस्तेमाल किया गया, लेकिन EDGE(2G) नेटवर्क बहुत धीमा था। software testing में low-speed, high-latency connections को शामिल करना चाहिए.

  • जहाज़ पर इंटरनेट समस्या का समाधान: जहाज़ पर इंटरनेट का कुशल उपयोग करने के लिए DNS queries को block करना, user sessions को सीमित करना, और bandwidth को निष्पक्ष रूप से बाँटना जैसी विधियाँ अपनाई गईं.