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

सभी इस बात से सहमत हैं कि तेज़ और हल्के वेब पेज, लोगों को बेहतर अनुभव देते हैं. साथ ही, इससे लोगों को कॉन्टेंट को बेहतर तरीके से समझने और उसे याद रखने में मदद मिलती है. इसके अलावा, इससे कन्वर्ज़न और रेवेन्यू में बढ़ोतरी होती है. Google की रिसर्च से पता चला है कि "…ऑप्टिमाइज़ किए गए पेज, ओरिजनल पेज की तुलना में चार गुना तेज़ी से लोड होते हैं और 80% कम बाइट (डेटा) इस्तेमाल करते हैं. ये पेज बहुत तेज़ी से लोड होते हैं, इसलिए इन पर आने वाले ट्रैफ़िक में 50% की बढ़त भी देखने को मिली."
हालांकि, 2G कनेक्शन की संख्या में आखिरकार गिरावट आई है, लेकिन 2015 में 2G, अब भी सबसे ज़्यादा इस्तेमाल की जाने वाली नेटवर्क टेक्नोलॉजी थी. 3G और 4G नेटवर्क की पहुंच और उपलब्धता तेज़ी से बढ़ रही है. हालांकि, इनसे जुड़ी लागत और नेटवर्क की समस्याएं अब भी करोड़ों लोगों के लिए एक अहम समस्या बनी हुई हैं.
ये पेज ऑप्टिमाइज़ेशन के लिए मज़बूत तर्क हैं.
डेवलपर की सीधी भागीदारी के बिना, साइट की स्पीड को बेहतर बनाने के अन्य तरीके भी हैं. जैसे, प्रॉक्सी ब्राउज़र और ट्रांसकोडिंग सेवाएं. हालांकि, इस तरह की सेवाएं काफ़ी लोकप्रिय हैं, लेकिन इनके कई नुकसान भी हैं. जैसे, इमेज और टेक्स्ट को सामान्य तरीके से कंप्रेस करना (कभी-कभी यह स्वीकार्य नहीं होता), सुरक्षित (एचटीटीपीएस) पेजों को प्रोसेस न कर पाना, सिर्फ़ खोज के नतीजों से देखे गए पेजों को ऑप्टिमाइज़ करना वगैरह. इन सेवाओं की लोकप्रियता से ही पता चलता है कि वेब डेवलपर, तेज़ और हल्के ऐप्लिकेशन और पेजों के लिए उपयोगकर्ताओं की ज़्यादा मांग को पूरा नहीं कर रहे हैं. हालांकि, इस लक्ष्य तक पहुंचना एक जटिल और कभी-कभी मुश्किल काम होता है.
Save-Data अनुरोध का हेडर
एक आसान तरीका यह है कि ब्राउज़र की मदद ली जाए. इसके लिए, Save-Data अनुरोध का हेडर का इस्तेमाल करें. इस हेडर की पहचान करके, कोई वेब पेज उन उपयोगकर्ताओं के लिए उपयोगकर्ता अनुभव को पसंद के मुताबिक बना सकता है और उसे ऑप्टिमाइज़ कर सकता है जो लागत और परफ़ॉर्मेंस से जुड़ी सीमाओं का सामना कर रहे हैं.
यहां दिए गए ब्राउज़र में, उपयोगकर्ता के पास *डेटा बचाने वाला मोड चालू करने का विकल्प होता है. इससे ब्राउज़र को, पेज रेंडर करने के लिए ज़रूरी डेटा की मात्रा को कम करने के लिए, ऑप्टिमाइज़ेशन का एक सेट लागू करने की अनुमति मिलती है. इस सुविधा के उपलब्ध होने या इसका विज्ञापन दिखाए जाने पर, ब्राउज़र कम रिज़ॉल्यूशन वाली इमेज का अनुरोध कर सकता है. साथ ही, कुछ संसाधनों को लोड करने में देरी कर सकता है या अनुरोधों को ऐसी सेवा के ज़रिए रूट कर सकता है जो कॉन्टेंट के हिसाब से अन्य ऑप्टिमाइज़ेशन लागू करती है. जैसे, इमेज और टेक्स्ट रिसॉर्स को कंप्रेस करना.
ब्राउज़र समर्थन
- Chrome 49 और इसके बाद के वर्शन,
Save-Dataका विज्ञापन तब दिखाते हैं, जब उपयोगकर्ता मोबाइल पर "डेटा बचाने की सेटिंग" विकल्प या डेस्कटॉप ब्राउज़र पर "डेटा बचाने की सेटिंग" एक्सटेंशन चालू करता है. - जब उपयोगकर्ता डेस्कटॉप पर "Opera Turbo" मोड या Android ब्राउज़र पर "डेटा की बचत करें" विकल्प चालू करता है, तब Opera 35+
Save-Dataका विज्ञापन दिखाता है. - 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.
}
}
connection ऑब्जेक्ट में connection ऑब्जेक्ट मौजूद है या नहीं, यह देखना ज़रूरी है. ऐसा इसलिए, क्योंकि यह Network Information API को दिखाता है. यह सिर्फ़ Chrome, Android के लिए Chrome, और Samsung Internet ब्राउज़र में लागू होता है.navigator इसके बाद, आपको सिर्फ़ यह देखना होगा कि navigator.connection.saveData, true के बराबर है या नहीं. अगर ऐसा है, तो डेटा सेव करने से जुड़ी कोई भी कार्रवाई की जा सकती है.
अगर आपका ऐप्लिकेशन किसी सर्विस वर्कर का इस्तेमाल करता है, तो वह अनुरोध हेडर की जांच कर सकता है. साथ ही, अनुभव को ऑप्टिमाइज़ करने के लिए, काम का लॉजिक लागू कर सकता है.
इसके अलावा, सर्वर Save-Data अनुरोध का हेडर में, विज्ञापन में बताई गई प्राथमिकताओं को ढूंढ सकता है. साथ ही, कोई दूसरा जवाब दे सकता है. जैसे, अलग मार्कअप, छोटी इमेज और वीडियो वगैरह.
लागू करने के बारे में सलाह और सबसे सही तरीके
Save-Dataका इस्तेमाल करते समय, कुछ ऐसे यूज़र इंटरफ़ेस (यूआई) डिवाइस उपलब्ध कराएं जो इसे सपोर्ट करते हों. साथ ही, उपयोगकर्ताओं को एक से दूसरे अनुभव पर आसानी से स्विच करने की सुविधा दें. उदाहरण के लिए:- लोगों को बताएं कि
Save-Dataकाम करता है. साथ ही, उन्हें इसका इस्तेमाल करने के लिए बढ़ावा दें. - उपयोगकर्ताओं को सही प्रॉम्प्ट और चालू/बंद करने वाले बटन या चेकबॉक्स की मदद से, मोड की पहचान करने और उसे चुनने की अनुमति दें.
- डेटा बचाने की सेटिंग वाला मोड चुनने पर, इसकी सूचना दें. साथ ही, इसे बंद करने और ज़रूरत पड़ने पर पूरी सुविधा पर वापस जाने का आसान और साफ़ तौर पर तरीका बताएं.
- लोगों को बताएं कि
- ध्यान रखें कि कम साइज़ वाले ऐप्लिकेशन, कम सुविधाओं वाले ऐप्लिकेशन नहीं होते. इनमें ज़रूरी सुविधाओं या डेटा को शामिल किया जाता है. हालांकि, इनमें लागत और उपयोगकर्ता अनुभव पर ज़्यादा ध्यान दिया जाता है. उदाहरण के लिए:
- फ़ोटो गैलरी ऐप्लिकेशन, कम रिज़ॉल्यूशन वाली झलकियां दिखा सकता है. इसके अलावा, यह कम कोड वाले कैरसेल मेकेनिज़्म का इस्तेमाल कर सकता है.
- खोज करने वाला ऐप्लिकेशन, एक बार में कम नतीजे दिखा सकता है. साथ ही, मीडिया वाले नतीजों की संख्या को सीमित कर सकता है या पेज को रेंडर करने के लिए ज़रूरी डिपेंडेंसी की संख्या को कम कर सकता है.
- खबरों पर फ़ोकस करने वाली साइट, कम खबरें दिखा सकती है. साथ ही, कम लोकप्रिय कैटगरी को हटा सकती है या मीडिया की छोटी झलकें दिखा सकती है.
Save-Dataअनुरोध हेडर की जांच करने के लिए सर्वर लॉजिक दें.साथ ही, जब यह सुविधा चालू हो, तब पेज का कोई दूसरा, हल्का वर्शन उपलब्ध कराएं. उदाहरण के लिए, ज़रूरी संसाधनों और डिपेंडेंसी की संख्या कम करें, संसाधन को ज़्यादा कंप्रेस करें वगैरह.- अगर आपको
Save-Dataहेडर के आधार पर कोई दूसरा रिस्पॉन्स देना है, तो उसे Vary लिस्ट —Save-Data— में जोड़ना न भूलें. इससे अपस्ट्रीम कैश मेमोरी को यह पता चलेगा कि उन्हें इस वर्शन को सिर्फ़ तब कैश मेमोरी में सेव करना चाहिए और दिखाना चाहिए, जबSave-Dataअनुरोध हेडर मौजूद हो.Vary: Save-Dataज़्यादा जानकारी के लिए, कैश मेमोरी के साथ इंटरैक्ट करने के सबसे सही तरीके देखें.
- अगर आपको
- अगर किसी सर्विस वर्कर का इस्तेमाल किया जाता है, तो आपका ऐप्लिकेशन यह पता लगा सकता है कि डेटा सेव करने का विकल्प कब चालू किया गया है. इसके लिए, वह
Save-Dataअनुरोध हेडर की मौजूदगी की जांच करता है याnavigator.connection.saveDataप्रॉपर्टी की वैल्यू की जांच करता है. अगर यह सुविधा चालू है, तो देखें कि क्या अनुरोध को फिर से लिखा जा सकता है, ताकि कम बाइट फ़ेच की जा सकें. इसके अलावा, पहले से फ़ेच किए गए रिस्पॉन्स का इस्तेमाल किया जा सकता है. Save-Dataको अन्य सिग्नल के साथ जोड़ें. जैसे, उपयोगकर्ता के कनेक्शन टाइप और टेक्नोलॉजी के बारे में जानकारी. इसके लिए, NetInfo API देखें. उदाहरण के लिए, आपको 2G कनेक्शन का इस्तेमाल करने वाले किसी भी उपयोगकर्ता को लाइटवेट वर्शन दिखाना पड़ सकता है. भले ही,Save-Dataचालू न हो. इसके उलट, सिर्फ़ इसलिए कि उपयोगकर्ता के पास "तेज़" 4G कनेक्शन है, इसका मतलब यह नहीं है कि उसे डेटा बचाने में दिलचस्पी नहीं है. उदाहरण के लिए, रोमिंग के दौरान. इसके अलावा,Save-Dataकी मौजूदगी कोDevice-Memoryक्लाइंट हिंट की मदद से बढ़ाया जा सकता है, ताकि कम मेमोरी वाले डिवाइसों पर उपयोगकर्ताओं के हिसाब से और बेहतर तरीके से काम किया जा सके. उपयोगकर्ता के डिवाइस की मेमोरी के बारे में भीnavigator.deviceMemoryक्लाइंट हिंट में विज्ञापन दिखाया जाता है.
रेसिपी
Save-Data की मदद से, सिर्फ़ वही काम किए जा सकते हैं जो आपके दिमाग़ में हैं. आपको यह बताने के लिए कि क्या-क्या किया जा सकता है, आइए इस्तेमाल के कुछ उदाहरणों पर नज़र डालें. इसे पढ़ते समय, आपके दिमाग में इस्तेमाल के अन्य उदाहरण भी आ सकते हैं. इसलिए,
बेझिझक एक्सपेरिमेंट करें और देखें कि क्या-क्या किया जा सकता है!
सर्वर साइड कोड में Save-Data की जांच की जा रही है
Save-Data स्थिति का पता JavaScript में navigator.connection.saveData प्रॉपर्टी के ज़रिए लगाया जा सकता है. हालांकि, सर्वर साइड पर इसका पता लगाना कभी-कभी बेहतर होता है. कुछ मामलों में, JavaScript को लागू नहीं किया जा सकता. इसके अलावा, सर्वर साइड डिटेक्शन ही मार्कअप में बदलाव करने का एकमात्र तरीका है. ऐसा मार्कअप को क्लाइंट को भेजने से पहले किया जाता है. यह Save-Data के कुछ सबसे फ़ायदेमंद इस्तेमाल के उदाहरणों में शामिल है.
सर्वर साइड कोड में Save-Data हेडर का पता लगाने के लिए इस्तेमाल किया जाने वाला सिंटैक्स, इस्तेमाल की गई भाषा के हिसाब से अलग-अलग होता है. हालांकि, किसी भी ऐप्लिकेशन के बैक एंड के लिए, बुनियादी सिद्धांत एक ही होना चाहिए. उदाहरण के लिए, PHP में अनुरोध के हेडर, $_SERVER सुपरग्लोबल
ऐरे में सेव किए जाते हैं. इनके इंडेक्स HTTP_ से शुरू होते हैं. इसका मतलब है कि Save-Data हेडर का पता लगाया जा सकता है. इसके लिए, $_SERVER["HTTP_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, FOUT, और ब्राउज़र के अनुमानित नियम जैसे कॉन्सेप्ट शामिल हैं. इनकी वजह से, रेंडरिंग एक जटिल प्रोसेस बन जाती है.
इसलिए, यह सही हो सकता है कि आप उन उपयोगकर्ताओं के लिए गैर-ज़रूरी वेब फ़ॉन्ट शामिल न करें जिन्हें कम डेटा इस्तेमाल करने वाले ऐप्लिकेशन की ज़रूरत है. 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> स्निपेट को अपनी जगह पर छोड़ा जा सकता है. ऐसा इसलिए, क्योंकि ब्राउज़र सीएसएस रिसॉर्स (इसमें वेब फ़ॉन्ट भी शामिल हैं) को अनुमान के आधार पर लोड करता है. इसके लिए, वह पहले DOM पर स्टाइल लागू करता है. इसके बाद, वह यह देखता है कि क्या कोई एचटीएमएल एलिमेंट, स्टाइल शीट में मौजूद किसी भी रिसॉर्स को चालू करता है. अगर कोई व्यक्ति Save-Data चालू करके आता है, तो Fira Sans कभी लोड नहीं होगा. ऐसा इसलिए, क्योंकि स्टाइल किए गए DOM में कभी भी इसे चालू नहीं किया जाता. इसके बजाय, Arial फ़ॉन्ट का इस्तेमाल किया जाएगा. यह Fira Sans जितना अच्छा नहीं है, लेकिन यह उन लोगों के लिए बेहतर हो सकता है जो अपने डेटा प्लान को ज़्यादा समय तक इस्तेमाल करना चाहते हैं.
खास जानकारी
Save-Data हेडर में ज़्यादा बारीकियां नहीं होती हैं. यह चालू या बंद होता है. साथ ही, ऐप्लिकेशन को इसकी सेटिंग के आधार पर सही अनुभव देने की ज़िम्मेदारी लेनी होती है. भले ही, इसकी वजह कुछ भी हो.
उदाहरण के लिए, कुछ लोग डेटा बचाने की सेटिंग को चालू नहीं करते हैं. ऐसा इसलिए, क्योंकि उन्हें लगता है कि कनेक्टिविटी कमज़ोर होने पर भी, ऐप्लिकेशन का कॉन्टेंट या फ़ंक्शन काम नहीं करेगा. इसके उलट, कुछ लोग इसे डिफ़ॉल्ट रूप से चालू कर सकते हैं, ताकि पेज को ज़्यादा से ज़्यादा छोटा और आसान बनाया जा सके. भले ही, इंटरनेट कनेक्शन अच्छा हो. आपके ऐप्लिकेशन के लिए यह सबसे अच्छा है कि वह यह मानकर चले कि उपयोगकर्ता को पूरा और बिना किसी सीमा के अनुभव चाहिए. ऐसा तब तक करें, जब तक उपयोगकर्ता की किसी कार्रवाई से आपको साफ़ तौर पर यह पता न चल जाए कि उसे ऐसा अनुभव नहीं चाहिए.
साइट के मालिकों और वेब डेवलपर के तौर पर, आइए हम अपने कॉन्टेंट को मैनेज करने की ज़िम्मेदारी लें. इससे, डेटा और लागत की सीमाओं का सामना करने वाले उपयोगकर्ताओं के अनुभव को बेहतर बनाया जा सकेगा.
Save-Data और इसके बेहतरीन उदाहरणों के बारे में ज़्यादा जानने के लिए, अपने उपयोगकर्ताओं की Save Data मदद करें लेख पढ़ें.