Chrome, Opera, और Yandex ब्राउज़र में उपलब्ध Save-Data क्लाइंट हिंट अनुरोध हेडर की मदद से, डेवलपर उन उपयोगकर्ताओं को कम स्टोरेज वाले और तेज़ ऐप्लिकेशन उपलब्ध करा सकते हैं जिन्होंने अपने ब्राउज़र में डेटा बचाने वाला मोड चालू करने का विकल्प चुना है.
हल्के पेजों की ज़रूरत

सभी इस बात से सहमत हैं कि तेज़ी से लोड होने वाले और कम साइज़ के वेब पेज, उपयोगकर्ताओं को बेहतर अनुभव देते हैं. साथ ही, इनसे कॉन्टेंट को बेहतर तरीके से समझा और याद रखा जा सकता है. इसके अलावा, इनसे कन्वर्ज़न और रेवेन्यू में भी बढ़ोतरी होती है. Google की रिसर्च से पता चला है कि "…ऑप्टिमाइज़ किए गए पेज, ओरिजनल पेज की तुलना में चार गुना तेज़ी से लोड होते हैं और 80% कम बाइट (डेटा) इस्तेमाल करते हैं. ये पेज बहुत तेज़ी से लोड होते हैं, इसलिए इन पर आने वाले ट्रैफ़िक में 50% की बढ़त भी देखने को मिली."
हालांकि, 2G कनेक्शन की संख्या आखिरकार कम हो रही है, लेकिन 2015 में 2G अब भी सबसे ज़्यादा इस्तेमाल होने वाली नेटवर्क टेक्नोलॉजी थी. 3G और 4G नेटवर्क की पहुंच और उपलब्धता तेज़ी से बढ़ रही है. हालांकि, करोड़ों उपयोगकर्ताओं के लिए, नेटवर्क से जुड़ी लागत और नेटवर्क की सीमाएं अब भी एक अहम समस्या हैं.
पेज को ऑप्टिमाइज़ करने के लिए ये अहम तर्क हैं.
डेवलपर की मदद लिए बिना, साइट स्पीड को बेहतर बनाने के लिए अन्य तरीके भी उपलब्ध हैं. जैसे, प्रॉक्सी ब्राउज़र और ट्रांसकोडिंग सेवाएं. हालांकि, इस तरह की सेवाएं काफ़ी लोकप्रिय हैं, लेकिन इनमें काफ़ी कमियां भी हैं. जैसे, इमेज और टेक्स्ट को कंप्रेस करने का तरीका आसान (और कभी-कभी अस्वीकार्य) होता है, सुरक्षित (एचटीटीपीएस) पेजों को प्रोसेस नहीं किया जा सकता, सिर्फ़ खोज के नतीजे से विज़िट किए गए पेजों को ऑप्टिमाइज़ किया जा सकता है, और भी बहुत कुछ. इन सेवाओं की लोकप्रियता से ही पता चलता है कि वेब डेवलपर, तेज़ और हल्के ऐप्लिकेशन और पेजों के लिए, उपयोगकर्ताओं की मांग को ठीक से पूरा नहीं कर रहे हैं. हालांकि, इस लक्ष्य को हासिल करना एक मुश्किल और कभी-कभी चुनौती भरा रास्ता होता है.
Save-Data के अनुरोध का हेडर
एक आसान तरीका यह है कि ब्राउज़र की मदद ली जाए. इसके लिए, Save-Data अनुरोध के हेडर का इस्तेमाल किया जा सकता है. इस हेडर की पहचान करके, कोई वेब पेज उपयोगकर्ता अनुभव को पसंद के मुताबिक बना सकता है. साथ ही, उन उपयोगकर्ताओं को बेहतर अनुभव दे सकता है जिनके पास कम पैसे हैं और जो परफ़ॉर्मेंस से जुड़ी समस्याओं का सामना कर रहे हैं.
नीचे दिए गए ब्राउज़र, उपयोगकर्ता को *डेटा बचाने वाला* मोड चालू करने की अनुमति देते हैं. इससे ब्राउज़र को ऑप्टिमाइज़ेशन का एक सेट लागू करने की अनुमति मिलती है, ताकि पेज को रेंडर करने के लिए ज़रूरी डेटा की मात्रा को कम किया जा सके. इस सुविधा के चालू होने या इसके बारे में विज्ञापन दिखाए जाने पर, ब्राउज़र कम रिज़ॉल्यूशन वाली इमेज का अनुरोध कर सकता है. इसके अलावा, कुछ रिसॉर्स को लोड होने से रोक सकता है या अनुरोधों को किसी ऐसी सेवा के ज़रिए भेज सकता है जो कॉन्टेंट के हिसाब से अन्य ऑप्टिमाइज़ेशन लागू करती है. जैसे, इमेज और टेक्स्ट रिसॉर्स को कंप्रेस करना.
ब्राउज़र समर्थन
- Chrome 49+,
Save-Dataका विज्ञापन तब दिखाता है, जब उपयोगकर्ता मोबाइल पर "डेटा बचाने का टूल" विकल्प या डेस्कटॉप ब्राउज़र पर "डेटा बचाने का टूल" एक्सटेंशन चालू करता है. - Opera 35+,
Save-Dataका विज्ञापन तब दिखाता है, जब उपयोगकर्ता डेस्कटॉप पर "Opera Turbo" मोड या Android ब्राउज़र पर "डेटा सेविंग" विकल्प चालू करता है. - Yandex 16.2+, डेस्कटॉप या मोबाइल ब्राउज़र पर टर्बो मोड चालू होने पर,
Save-Dataका विज्ञापन दिखाता है.
Save-Data सेटिंग का पता लगाना
उपयोगकर्ताओं को "लाइट" वर्शन कब दिखाना है, यह तय करने के लिए आपका ऐप्लिकेशन, Save-Data क्लाइंट हिंट के अनुरोध का हेडर देख सकता है. इस अनुरोध के हेडर से पता चलता है कि क्लाइंट, डेटा के कम इस्तेमाल को प्राथमिकता देता है. ऐसा डेटा ट्रांसफ़र करने की ज़्यादा लागत, कनेक्शन की धीमी स्पीड या अन्य वजहों से हो सकता है.
जब उपयोगकर्ता अपने ब्राउज़र में डेटा बचाने वाला मोड चालू करता है, तो ब्राउज़र सभी आउटगोइंग अनुरोधों (एचटीटीपी और एचटीटीपीएस, दोनों) में Save-Data अनुरोध का हेडर जोड़ देता है.
इस दस्तावेज़ को लिखे जाने के समय, ब्राउज़र हेडर में सिर्फ़ एक *on- टोकन का विज्ञापन दिखाता है (Save-Data: on). हालांकि, आने वाले समय में उपयोगकर्ता की अन्य प्राथमिकताओं को दिखाने के लिए, इसे बढ़ाया जा सकता है.
इसके अलावा, यह भी पता लगाया जा सकता है कि JavaScript में Save-Data चालू है या नहीं:
if ('connection' in navigator) {
if (navigator.connection.saveData === true) {
// Implement data saving operations here.
}
}
navigator ऑब्जेक्ट में connection ऑब्जेक्ट की मौजूदगी की जांच करना ज़रूरी है. ऐसा इसलिए, क्योंकि यह नेटवर्क की जानकारी वाले एपीआई को दिखाता है. यह एपीआई सिर्फ़ Chrome, Chrome for Android, और Samsung Internet ब्राउज़र में लागू किया गया है. वहां से, आपको सिर्फ़ यह देखना होगा कि navigator.connection.saveData, true के बराबर है या नहीं. इसके बाद, उस स्थिति में डेटा सेव करने के लिए कोई भी कार्रवाई की जा सकती है.
अगर आपका ऐप्लिकेशन सर्विस वर्कर का इस्तेमाल करता है, तो वह अनुरोध के हेडर की जांच कर सकता है. साथ ही, उपयोगकर्ता अनुभव को बेहतर बनाने के लिए, काम का लॉजिक लागू कर सकता है.
इसके अलावा, सर्वर Save-Data अनुरोध के हेडर में, विज्ञापन की प्राथमिकताओं को खोज सकता है और वैकल्पिक जवाब दे सकता है. जैसे, अलग मार्कअप, छोटी इमेज और वीडियो वगैरह.
लागू करने के लिए सलाह और सबसे सही तरीके
Save-Dataका इस्तेमाल करते समय, कुछ ऐसे यूज़र इंटरफ़ेस (यूआई) डिवाइस उपलब्ध कराएं जो इसे सपोर्ट करते हों. साथ ही, उपयोगकर्ताओं को अलग-अलग अनुभवों के बीच आसानी से टॉगल करने की सुविधा दें. उदाहरण के लिए:- उपयोगकर्ताओं को बताएं कि
Save-Dataका इस्तेमाल किया जा सकता है. साथ ही, उन्हें इसका इस्तेमाल करने के लिए बढ़ावा दें. - उपयोगकर्ताओं को सही प्रॉम्प्ट और आसानी से इस्तेमाल किए जा सकने वाले ऑन/ऑफ़ बटन या चेकबॉक्स की मदद से, मोड की पहचान करने और उसे चुनने की अनुमति दें.
- अगर 'डेटा बचाने वाला' मोड चुना गया है, तो इसकी सूचना दें. साथ ही, इसे बंद करने और ऐप्लिकेशन के सभी फ़ंक्शन इस्तेमाल करने के लिए, आसान और साफ़ तरीका उपलब्ध कराएं.
- उपयोगकर्ताओं को बताएं कि
- ध्यान रखें कि कम स्टोरेज वाले ऐप्लिकेशन, कम सुविधाओं वाले ऐप्लिकेशन नहीं होते. इनमें ज़रूरी फ़ंक्शन या डेटा को नहीं हटाया जाता. इनमें सिर्फ़ लागत और उपयोगकर्ता अनुभव का ज़्यादा ध्यान रखा जाता है. उदाहरण के लिए:
- कोई फ़ोटो गैलरी ऐप्लिकेशन, कम रिज़ॉल्यूशन वाली झलक दिखा सकता है या कम कोड वाले कैरसेल मैकेनिज़्म का इस्तेमाल कर सकता है.
- कोई सर्च ऐप्लिकेशन, एक बार में कम नतीजे दिखा सकता है, ज़्यादा मीडिया वाले नतीजों की संख्या को सीमित कर सकता है या पेज को रेंडर करने के लिए ज़रूरी डिपेंडेंसी की संख्या को कम कर सकता है.
- समाचार से जुड़ी साइट पर कम खबरें दिख सकती हैं, कम लोकप्रिय कैटगरी को हटाया जा सकता है या मीडिया की झलक छोटी हो सकती है.
Save-Dataअनुरोध के हेडर की जांच करने के लिए, सर्वर लॉजिक उपलब्ध कराएं.साथ ही, इसके चालू होने पर, पेज का कोई दूसरा और हल्का रिस्पॉन्स देने के बारे में सोचें. उदाहरण के लिए, ज़रूरी संसाधनों और डिपेंडेंसी की संख्या कम करें, संसाधनों को ज़्यादा कंप्रेस करें वगैरह.- अगर
Save-Dataहेडर के आधार पर कोई दूसरा रिस्पॉन्स दिया जा रहा है, तो उसे Vary सूची —Vary: Save-Data— में जोड़ना न भूलें. इससे अपस्ट्रीम कैश मेमोरी को यह पता चलता है कि उन्हें इस वर्शन को सिर्फ़ तब कैश मेमोरी में सेव करना चाहिए और दिखाना चाहिए, जबSave-Dataअनुरोध का हेडर मौजूद हो. ज़्यादा जानकारी के लिए, कैश मेमोरी के साथ इंटरैक्शन के सबसे सही तरीके देखें.
- अगर
- अगर सर्विस वर्कर का इस्तेमाल किया जाता है, तो आपका ऐप्लिकेशन यह पता लगा सकता है कि डेटा सेव करने का विकल्प कब चालू किया गया है. इसके लिए,
Save-Dataअनुरोध हेडर की मौजूदगी की जांच की जा सकती है याnavigator.connection.saveDataप्रॉपर्टी की वैल्यू की जांच की जा सकती है. अगर यह चालू है, तो देखें कि क्या कम बाइट फ़ेच करने के लिए अनुरोध को फिर से लिखा जा सकता है या पहले से फ़ेच किए गए रिस्पॉन्स का इस्तेमाल किया जा सकता है. Save-Dataको अन्य सिग्नल के साथ बेहतर बनाने के बारे में सोचें. जैसे, उपयोगकर्ता के कनेक्शन टाइप और टेक्नोलॉजी के बारे में जानकारी (NetInfo एपीआई देखें). उदाहरण के लिए, हो सकता है कि आप 2G कनेक्शन वाले किसी भी उपयोगकर्ता को लाइटवेट वर्शन दिखाना चाहें, भले हीSave-Dataचालू न हो. इसके उलट, अगर कोई उपयोगकर्ता "तेज़" 4G कनेक्शन का इस्तेमाल कर रहा है, तो इसका मतलब यह नहीं है कि उसे डेटा बचाने में दिलचस्पी नहीं है. उदाहरण के लिए, रोमिंग के दौरान. इसके अलावा,Device-Memoryक्लाइंट हिंट की मदद से,Save-Dataकी मौजूदगी को बढ़ाया जा सकता है. इससे, कम मेमोरी वाले डिवाइसों पर उपयोगकर्ताओं को बेहतर अनुभव दिया जा सकता है. उपयोगकर्ता के डिवाइस की मेमोरी की जानकारी,navigator.deviceMemoryक्लाइंट हिंट में भी दी जाती है.
रेसिपी
Save-Data की मदद से, आपके पास अपनी क्रिएटिविटी को एक्सप्लोर करने के अनगिनत मौके हैं. इस सुविधा की मदद से क्या-क्या किया जा सकता है, यह जानने के लिए आइए कुछ उदाहरणों पर नज़र डालते हैं. इस लेख को पढ़ते समय, आपको इस्तेमाल के अन्य उदाहरण भी मिल सकते हैं. इसलिए, बेझिझक एक्सपेरिमेंट करें और देखें कि क्या किया जा सकता है!
सर्वर साइड कोड में Save-Data की जांच की जा रही है
Save-Data स्टेट को JavaScript में navigator.connection.saveData प्रॉपर्टी की मदद से पहचाना जा सकता है. हालांकि, कभी-कभी इसे सर्वर साइड पर पहचानना बेहतर होता है. कुछ मामलों में, JavaScript शायद काम न करे. इसके अलावा, सर्वर साइड डिटेक्शन ही मार्कअप में बदलाव करने का एकमात्र तरीका है. यह बदलाव, क्लाइंट को मार्कअप भेजने से पहले किया जाता है. यह Save-Data के कुछ सबसे फ़ायदेमंद इस्तेमाल के उदाहरणों में शामिल है.
सर्वर साइड कोड में Save-Data हेडर का पता लगाने के लिए खास सिंटैक्स, इस्तेमाल की गई भाषा पर निर्भर करता है. हालांकि, किसी भी ऐप्लिकेशन बैकएंड के लिए बुनियादी आइडिया एक जैसा होना चाहिए. उदाहरण के लिए, PHP में अनुरोध के हेडर, $_SERVER सुपरग्लोबल अरे में HTTP_ से शुरू होने वाले इंडेक्स पर सेव किए जाते हैं. इसका मतलब है कि $_SERVER["HTTP_SAVE_DATA"] वैरिएबल की मौजूदगी और वैल्यू की जांच करके, Save-Data हेडर का पता लगाया जा सकता है. इसके लिए, यह तरीका अपनाएं:
// false by default.
$saveData = false;
// Check if the `Save-Data` header exists and is set to a value of "on".
if (isset($_SERVER["HTTP_SAVE_DATA"]) && strtolower($_SERVER["HTTP_SAVE_DATA"]) === "on") {
// `Save-Data` detected!
$saveData = true;
}
अगर क्लाइंट को कोई मार्कअप भेजने से पहले यह जांच की जाती है, तो $saveData वैरिएबल में Save-Data स्थिति शामिल होगी. साथ ही, यह पेज पर कहीं भी इस्तेमाल के लिए उपलब्ध होगा. इस तरीके को समझने के बाद, आइए कुछ उदाहरण देखें कि इसका इस्तेमाल करके, उपयोगकर्ता को भेजे जाने वाले डेटा को कैसे सीमित किया जा सकता है.
हाई रिज़ॉल्यूशन वाली स्क्रीन के लिए, लो रिज़ॉल्यूशन वाली इमेज दिखाना
वेब पर इमेज का इस्तेमाल करने का एक सामान्य तरीका यह है कि इमेज को दो सेट में दिखाया जाए:
"स्टैंडर्ड" स्क्रीन (1x) के लिए एक इमेज और हाई रिज़ॉल्यूशन वाली स्क्रीन (जैसे, रेटिना डिसप्ले) के लिए दोगुनी बड़ी (2x) इमेज. हाई रिज़ॉल्यूशन वाली स्क्रीन, सिर्फ़ महंगे डिवाइसों तक ही सीमित नहीं हैं. अब ये आम तौर पर इस्तेमाल होने लगी हैं. अगर आपको ऐप्लिकेशन का अनुभव बेहतर बनाना है, तो इन स्क्रीन पर बड़ी (2x) इमेज के बजाय, कम रिज़ॉल्यूशन (1x) वाली इमेज भेजना बेहतर हो सकता है. Save-Data हेडर मौजूद होने पर, ऐसा करने के लिए हम क्लाइंट को भेजे जाने वाले मार्कअप में बदलाव करते हैं:
if ($saveData === true) {
// Send a low-resolution version of the image for clients specifying `Save-Data`.
?><img src="butterfly-1x.jpg" alt="A butterfly perched on a flower."><?php
}
else {
// Send the usual assets for everyone else.
?><img src="butterfly-1x.jpg" srcset="butterfly-2x.jpg 2x, butterfly-1x.jpg 1x" alt="A butterfly perched on a flower."><?php
}
यह इस्तेमाल का उदाहरण है कि किसी ऐसे व्यक्ति को कम डेटा भेजने के लिए कितनी कम मेहनत करनी पड़ती है जो आपसे खास तौर पर कम डेटा भेजने के लिए कह रहा है. अगर आपको बैक एंड पर मार्कअप में बदलाव करना पसंद नहीं है, तो Apache के mod_rewrite जैसे यूआरएल रीराइट मॉड्यूल का इस्तेमाल करके भी यही नतीजा पाया जा सकता है. यहां
कुछ उदाहरण दिए गए हैं, जिनसे पता चलता है कि कम कॉन्फ़िगरेशन
के साथ
इसे कैसे हासिल किया जा सकता है.
इस कॉन्सेप्ट को सीएसएस background-image प्रॉपर्टी तक भी बढ़ाया जा सकता है. इसके लिए, <html> एलिमेंट में एक क्लास जोड़ें:
<html class="<?php if ($saveData === true): ?>save-data<?php endif; ?>">
यहां से, अपनी सीएसएस में <html> एलिमेंट पर save-data क्लास को टारगेट किया जा सकता है, ताकि इमेज दिखाने का तरीका बदला जा सके. ऊपर दिए गए एचटीएमएल उदाहरण में दिखाए गए तरीके से, हाई रिज़ॉल्यूशन वाली स्क्रीन पर लो रिज़ॉल्यूशन वाली बैकग्राउंड इमेज भेजी जा सकती हैं. इसके अलावा, कुछ संसाधनों को पूरी तरह से हटाया जा सकता है.
ग़ैर-ज़रूरी इमेज हटाना
वेब पर मौजूद कुछ इमेज कॉन्टेंट ज़रूरी नहीं होता. हालांकि, इस तरह की इमेज से कॉन्टेंट को बेहतर बनाया जा सकता है, लेकिन हो सकता है कि वे लोग इन्हें पसंद न करें जो डेटा प्लान के हिसाब से डेटा का इस्तेमाल करते हैं. Save-Data के सबसे आसान इस्तेमाल के उदाहरण में, हम पहले के PHP डिटेक्शन कोड का इस्तेमाल कर सकते हैं और गैर-ज़रूरी इमेज मार्कअप को पूरी तरह से हटा सकते हैं:
<p>This paragraph is essential content. The image below may be humorous, but it's not critical to the content.</p>
<?php
if ($saveData === false) {
// Only send this image if `Save-Data` hasn't been detected.
?><img src="meme.jpg" alt="One does not simply consume data."><?php
}
इस तकनीक का असर साफ़ तौर पर देखा जा सकता है, जैसा कि नीचे दी गई इमेज में दिखाया गया है:
ज़ाहिर है कि इमेज को हटाना ही एकमात्र विकल्प नहीं है. Save-Data पर भी कार्रवाई की जा सकती है, ताकि अन्य गैर-ज़रूरी संसाधनों को भेजने से बचा जा सके. जैसे, कुछ टाइपफ़ेस.
गैर-ज़रूरी वेब फ़ॉन्ट हटाना
आम तौर पर, वेब फ़ॉन्ट किसी पेज के कुल पेलोड का उतना हिस्सा नहीं बनाते जितना कि इमेज बनाती हैं. इसके बावजूद, वे काफ़ी लोकप्रिय हैं. साथ ही, ये बहुत ज़्यादा डेटा भी खर्च नहीं करते. इसके अलावा, ब्राउज़र जिस तरह से फ़ॉन्ट फ़ेच और रेंडर करते हैं वह आपकी सोच से ज़्यादा जटिल है. इसमें FOIT, एफ़ओयूटी, और ब्राउज़र ह्यूरिस्टिक जैसे कॉन्सेप्ट शामिल हैं. इनकी वजह से, रेंडरिंग की प्रोसेस काफ़ी मुश्किल हो जाती है.
इसलिए, हो सकता है कि आप उन उपयोगकर्ताओं के लिए गैर-ज़रूरी वेब फ़ॉन्ट को हटाना चाहें जो बेहतर उपयोगकर्ता अनुभव चाहते हैं. Save-Data की मदद से,
यह काम काफ़ी आसान हो जाता है.
उदाहरण के लिए, मान लें कि आपने अपनी साइट पर Google Fonts से Fira Sans को शामिल किया है. Fira Sans, मुख्य हिस्से के लिए एक बेहतरीन फ़ॉन्ट है. हालांकि, हो सकता है कि डेटा बचाने की कोशिश कर रहे उपयोगकर्ताओं के लिए यह इतना ज़रूरी न हो. Save-Data हेडर मौजूद होने पर, <html> एलिमेंट में save-data क्लास जोड़कर, ऐसी स्टाइल लिखी जा सकती हैं जो पहले गैर-ज़रूरी टाइपफ़ेस को शुरू करती हैं. हालांकि, Save-Data हेडर मौजूद होने पर, इससे ऑप्ट आउट कर लेती हैं:
/* Opt into web fonts by default. */
p,
li {
font-family: 'Fira Sans', 'Arial', sans-serif;
}
/* Opt out of web fonts if the `save-Data` class is present. */
.save-data p,
.save-data li {
font-family: 'Arial', sans-serif;
}
इस तरीके का इस्तेमाल करके, Google Fonts के <link> स्निपेट को अपनी जगह पर छोड़ा जा सकता है. ऐसा इसलिए, क्योंकि ब्राउज़र अनुमान के हिसाब से सीएसएस रिसॉर्स (वेब फ़ॉन्ट के साथ) लोड करता है. इसके लिए, वह पहले डीओएम पर स्टाइल लागू करता है. इसके बाद, यह जांच करता है कि कोई एचटीएमएल एलिमेंट, स्टाइल शीट में मौजूद किसी रिसॉर्स को शुरू करता है या नहीं. अगर कोई व्यक्ति Save-Data चालू करके आता है, तो Fira Sans कभी लोड नहीं होगा, क्योंकि स्टाइल किया गया DOM इसे कभी शुरू नहीं करता. इसके बजाय, Arial फ़ॉन्ट का इस्तेमाल किया जाएगा. यह Fira Sans जितना अच्छा नहीं है, लेकिन यह उन उपयोगकर्ताओं के लिए बेहतर हो सकता है जो अपने डेटा प्लान को ज़्यादा समय तक चलाना चाहते हैं.
खास जानकारी
Save-Data हेडर में ज़्यादा बारीकियां नहीं होती हैं. यह या तो चालू होता है या बंद. साथ ही, ऐप्लिकेशन को इसकी सेटिंग के आधार पर सही अनुभव देने की ज़िम्मेदारी उठानी पड़ती है. भले ही, इसकी वजह कुछ भी हो.
उदाहरण के लिए, कुछ उपयोगकर्ता शायद डेटा बचाने वाले मोड को चालू न करें. ऐसा तब हो सकता है, जब उन्हें लगे कि इससे ऐप्लिकेशन का कॉन्टेंट या फ़ंक्शन काम नहीं करेगा. भले ही, इंटरनेट कनेक्टिविटी खराब हो. इसके उलट, कुछ उपयोगकर्ता इसे सामान्य तौर पर चालू कर सकते हैं, ताकि पेज छोटे और आसान बने रहें. भले ही, इंटरनेट कनेक्टिविटी अच्छी हो. आपके ऐप्लिकेशन के लिए यह मानना सबसे सही है कि उपयोगकर्ता को ऐप्लिकेशन का पूरा और अनलिमिटेड अनुभव चाहिए. ऐसा तब तक माना जाना चाहिए, जब तक उपयोगकर्ता साफ़ तौर पर कोई कार्रवाई करके यह न बता दे कि उसे ऐसा नहीं चाहिए.
साइट के मालिकों और वेब डेवलपर के तौर पर, आइए हम अपने कॉन्टेंट को मैनेज करने की ज़िम्मेदारी लें. इससे, कम डेटा और कम बजट वाले उपयोगकर्ताओं को बेहतर अनुभव दिया जा सकेगा.
Save-Data के बारे में ज़्यादा जानकारी और इसके बेहतरीन उदाहरणों के लिए, अपने उपयोगकर्ताओं की मदद करें Save Data देखें.