यह समझना ज़रूरी है कि कनेक्टिविटी खराब या भरोसेमंद न होने पर, आपके ऐप्लिकेशन या साइट को इस्तेमाल करने का अनुभव कैसा होता है. साथ ही, उसी हिसाब से ऐप्लिकेशन या साइट को बनाना चाहिए. कई तरह के टूल आपकी मदद कर सकते हैं.
कम बैंडविड्थ और ज़्यादा इंतज़ार के समय के साथ टेस्ट करना
बड़ी संख्या में लोग, मोबाइल डिवाइसों पर वेब का इस्तेमाल करते हैं. यहां तक कि घर पर भी, कई लोग फ़िक्स्ड ब्रॉडबैंड के बजाय मोबाइल का इस्तेमाल कर रहे हैं.
इस संदर्भ में, यह समझना ज़रूरी है कि इंटरनेट कनेक्टिविटी खराब या भरोसेमंद न होने पर, आपके ऐप्लिकेशन या साइट को इस्तेमाल करने का अनुभव कैसा होता है. कई सॉफ़्टवेयर टूल की मदद से, कम बैंडविड्थ और ज़्यादा लेटेंसी को एम्युलेट और सिम्युलेट किया जा सकता है.
नेटवर्क थ्रॉटलिंग को एम्युलेट करना
कोई साइट बनाते या अपडेट करते समय, आपको यह पक्का करना होगा कि वह अलग-अलग तरह की कनेक्टिविटी स्थितियों में सही तरीके से काम करे. कई टूल से मदद मिल सकती है.
ब्राउज़र टूल
Chrome DevTools की मदद से, अपनी साइट की जांच की जा सकती है. इसके लिए, नेटवर्क पैनल में मौजूद प्रीसेट या कस्टम सेटिंग का इस्तेमाल करके, अपलोड/डाउनलोड की अलग-अलग स्पीड और दोतरफ़ा यात्रा के समय का इस्तेमाल किया जा सकता है. बुनियादी जानकारी पाने के लिए, नेटवर्क की परफ़ॉर्मेंस का विश्लेषण करने की सुविधा का इस्तेमाल शुरू करना लेख पढ़ें.

सिस्टम टूल
नेटवर्क लिंक कंडीशनर, Mac पर उपलब्ध एक प्राथमिकता पैनल है. यह Xcode के लिए, Hardware IO Tools इंस्टॉल करने पर उपलब्ध होता है:



डिवाइस एम्युलेशन
Android Emulator की मदद से, Android पर ऐप्लिकेशन (इनमें वेब ब्राउज़र और हाइब्रिड वेब ऐप्लिकेशन शामिल हैं) चलाते समय, नेटवर्क की अलग-अलग स्थितियों को सिम्युलेट किया जा सकता है:


iPhone के लिए, Network Link Conditioner का इस्तेमाल करके, खराब नेटवर्क की स्थितियों को सिम्युलेट किया जा सकता है (ऊपर देखें).
अलग-अलग जगहों और नेटवर्क से टेस्ट करना
कनेक्टिविटी की परफ़ॉर्मेंस, सर्वर की जगह और नेटवर्क के टाइप पर निर्भर करती है.
WebPagetest एक ऑनलाइन सेवा है. इसकी मदद से, अलग-अलग नेटवर्क और होस्ट की जगहों का इस्तेमाल करके, आपकी साइट के लिए परफ़ॉर्मेंस टेस्ट का एक सेट चलाया जा सकता है. उदाहरण के लिए, भारत में किसी सर्वर से 2G नेटवर्क पर या अमेरिका के किसी शहर से केबल पर अपनी साइट को आज़माया जा सकता है.

कोई जगह चुनें और ऐडवांस सेटिंग में जाकर, कनेक्शन का टाइप चुनें. स्क्रिप्ट का इस्तेमाल करके, जांच को ऑटोमेट भी किया जा सकता है. उदाहरण के लिए, किसी साइट में लॉग इन करने के लिए. इसके अलावा, RESTful API का इस्तेमाल करके भी ऐसा किया जा सकता है. इससे आपको कनेक्टिविटी की जांच को बिल्ड प्रोसेस या परफ़ॉर्मेंस लॉगिंग में शामिल करने में मदद मिलती है.
Fiddler, GeoEdge के ज़रिए ग्लोबल प्रॉक्सी का इस्तेमाल करने की सुविधा देता है. साथ ही, इसके कस्टम नियमों का इस्तेमाल करके, मॉडेम की स्पीड को सिम्युलेट किया जा सकता है:

खराब नेटवर्क पर टेस्ट करना
सॉफ़्टवेयर और हार्डवेयर प्रॉक्सी की मदद से, मोबाइल नेटवर्क से जुड़ी समस्याओं को एम्युलेट किया जा सकता है. जैसे, बैंडविड्थ थ्रॉटलिंग, पैकेट में देरी, और रैंडम पैकेट लॉस. शेयर किए गए प्रॉक्सी या खराब नेटवर्क की मदद से, डेवलपर की टीम अपने वर्कफ़्लो में रीयल-वर्ल्ड नेटवर्क टेस्टिंग को शामिल कर सकती है.
Facebook का ऑगमेंटेड ट्रैफ़िक कंट्रोल (एटीसी), बीएसडी लाइसेंस वाले ऐप्लिकेशन का एक सेट है. इसका इस्तेमाल, ट्रैफ़िक को कंट्रोल करने और नेटवर्क की खराब स्थितियों को सिम्युलेट करने के लिए किया जा सकता है:

Facebook ने 2G Tuesdays भी शुरू किया, ताकि यह समझा जा सके कि 2G इस्तेमाल करने वाले लोग उनके प्रॉडक्ट का इस्तेमाल कैसे करते हैं. मंगलवार को, कर्मचारियों को एक पॉप-अप मिलता है. इसमें उन्हें 2G कनेक्शन को सिम्युलेट करने का विकल्प मिलता है.
Charles एचटीटीपी/एचटीटीपीएस प्रॉक्सी का इस्तेमाल, बैंडविड्थ और इंतज़ार के समय को अडजस्ट करने के लिए किया जा सकता है. Charles एक कमर्शियल सॉफ़्टवेयर है. हालांकि, इसे बिना किसी शुल्क के आज़माया जा सकता है.

Charles के बारे में ज़्यादा जानकारी codewithchris.com पर उपलब्ध है.
"" और "" को मैनेज करें
लाई-फ़ाई क्या है?
लाई-फ़ाई शब्द का इस्तेमाल कम से कम 2008 से किया जा रहा है. उस समय फ़ोन ऐसे दिखते थे. इस शब्द का इस्तेमाल, ऐसी कनेक्टिविटी के लिए किया जाता है जो जैसी दिखती है वैसी होती नहीं है. आपका ब्राउज़र ऐसा व्यवहार करता है जैसे कि उसमें कनेक्टिविटी हो, जबकि किसी भी वजह से उसमें कनेक्टिविटी नहीं होती.
कनेक्टिविटी को गलत तरीके से समझने से, उपयोगकर्ता को खराब अनुभव मिल सकता है. ऐसा इसलिए, क्योंकि ब्राउज़र (या JavaScript) संसाधनों को वापस पाने की कोशिश करता रहता है. इसके बजाय, उसे कोशिश करना बंद कर देना चाहिए और कोई सही फ़ॉलबैक चुनना चाहिए. लाई-फ़ाई, ऑफ़लाइन होने से भी ज़्यादा खराब हो सकता है. कम से कम, अगर कोई डिवाइस ऑफ़लाइन है, तो JavaScript सही कार्रवाई कर सकता है.
जैसे-जैसे लोग फ़िक्स्ड ब्रॉडबैंड से मोबाइल पर स्विच कर रहे हैं, वैसे-वैसे लाइ-फ़ाई की समस्या और बढ़ सकती है. अमेरिका की जनगणना के हाल ही के डेटा से पता चलता है कि लोग फ़िक्स्ड ब्रॉडबैंड से दूर जा रहे हैं. इस चार्ट में, साल 2013 की तुलना में साल 2015 में घर पर मोबाइल इंटरनेट के इस्तेमाल को दिखाया गया है:

रुक-रुककर होने वाली कनेक्टिविटी को मैनेज करने के लिए, टाइम आउट का इस्तेमाल करना
पहले, रुक-रुककर होने वाले कनेक्टिविटी की जांच करने के लिए, एक्सएचआर का इस्तेमाल करके हैकी तरीके इस्तेमाल किए जाते थे. हालांकि, सर्विस वर्कर की मदद से, नेटवर्क टाइम आउट सेट करने के लिए ज़्यादा भरोसेमंद तरीके इस्तेमाल किए जा सकते हैं. कोड की कुछ ही लाइनों के साथ Workbox का इस्तेमाल करके, ऐसा किया जा सकता है:
workboxSW.router.registerRoute(
'/path/to/image',
workboxSW.strategies.networkFirst({networkTimeoutSeconds: 3}),
);
Workbox के बारे में ज़्यादा जानने के लिए, Chrome Dev Summit में जेफ़ पॉस्निक की बातचीत, Workbox: Flexible PWA Libraries देखें.
Fetch API के लिए, टाइम आउट की सुविधा भी डेवलप की जा रही है. साथ ही, Streams API से कॉन्टेंट डिलीवरी को ऑप्टिमाइज़ करने और मोनोलेथिक अनुरोधों से बचने में मदद मिलनी चाहिए. जेक आर्किबाल्ड ने सुपरचार्जिंग पेज लोड में, लाइ-फ़ाई से निपटने के बारे में ज़्यादा जानकारी दी है.