पब्लिश करने की तारीख: 3 अप्रैल, 2025
Chrome में कोई नई सुविधा लॉन्च करने से पहले, कई तरह की जांच की जाती है. इससे यह पक्का किया जाता है कि वह सुविधा सही से काम करती हो, नियमों का पालन करती हो, और भरोसेमंद हो. इनमें से एक संतुलन, Finch के प्रयोग हैं. इसकी "एक्सपेरिमेंट" वाली कैटगरी से यह न सोचें कि यह असुरक्षित है. यह बिलकुल उलट है. Finch के रोल आउट की मदद से, हम ऐसी सुविधाएं जोड़ पाते हैं जिनसे काम करने में समस्याएं आ सकती हैं. हालांकि, इन सुविधाओं को सुरक्षित तरीके से जोड़ा जाता है. अगर हमें कोई अनचाही समस्या आती है, तो हम उस सुविधा को तुरंत बंद कर सकते हैं. इस लेख में बताया गया है कि हम Chrome में कुछ सुविधाओं को रिलीज़ करने के लिए, Finch का इस्तेमाल कैसे और क्यों करते हैं.
आम तौर पर, Chrome में किसी सुविधा को चालू करने का मतलब है कि Chrome में बूलियन को बंद से चालू पर टॉगल करना. जब कोई नई सुविधा "रिलीज़" होती है, तो इसका मतलब है कि इस बूलियन की डिफ़ॉल्ट स्थिति सभी उपयोगकर्ताओं के लिए "चालू" पर सेट हो गई है. ऐसा करने के कई तरीके हैं:
- "कोड में" सुविधा चालू करें: इसका मतलब है कि Chrome के एक्ज़ीक्यूटेबल में एक सेटिंग होती है, जो डिफ़ॉल्ट रूप से चालू होती है.
- "ऑरिजिन ट्रायल के ज़रिए" सुविधा चालू करना: ऑरिजिन ट्रायल सिस्टम, किसी खास साइट के लिए एक तरीका है. इसकी मदद से, वह सभी Chrome उपयोगकर्ताओं को किसी एक्सपेरिमेंट में ऑप्ट इन कर सकती है. यह एक्सपेरिमेंट, सिर्फ़ उस साइट पर किसी खास सुविधा को चालू करता है.
- "Finch का इस्तेमाल करके" सुविधा चालू करें: Chrome समय-समय पर सर्वर से कॉन्फ़िगरेशन फ़ाइल फ़ेच करता है. इस फ़ाइल में, किसी सुविधा को चालू या बंद करने के निर्देश हो सकते हैं.
- "Finch का किलर स्विच": यह "Finch का इस्तेमाल करना" को चालू करने के उलट है. इस मामले में, सुविधा "कोड में" चालू होती है, लेकिन बाद में Finch सिस्टम का इस्तेमाल करके बंद कर दी जाती है. आम तौर पर, ऐसा लॉन्च के बाद पता चलने वाली समस्याओं की वजह से होता है
Finch के इस्तेमाल के उदाहरण
इस ब्लॉग पोस्ट का विषय Finch है. इसलिए, हम "कोड में" या "ऑरिजिन ट्रायल" को चालू करने के बारे में ज़्यादा नहीं बताएंगे. हालांकि, Finch का इस्तेमाल कई दिलचस्प तरीकों से किया जा सकता है.
उपयोगकर्ताओं के एक छोटे ग्रुप पर टेस्ट करना (A/B टेस्टिंग)
अक्सर, Finch का इस्तेमाल किसी सुविधा या ऑप्टिमाइज़ेशन की "A/B टेस्टिंग" करने के लिए किया जाता है. इस मामले में, किसी सुविधा को कुछ उपयोगकर्ताओं के लिए चालू किया जाता है, ताकि इस सुविधा के चालू होने और बंद होने पर, परफ़ॉर्मेंस, व्यवहार या इस्तेमाल में अंतर के बारे में डेटा इकट्ठा किया जा सके.
A/B टेस्टिंग का एक उदाहरण, संदिग्ध इमेज को डिकोड करने की सुविधा लॉन्च करना है. यह परफ़ॉर्मेंस में हुआ ऐसा सुधार है जिसका असर डेवलपर या उपयोगकर्ताओं को नहीं दिखेगा. हालांकि, इससे Chrome में पेज तेज़ी से लोड होंगे. हालांकि, यह पक्का करने के लिए कि कोई अनचाहा बदलाव न हुआ हो और परफ़ॉर्मेंस पर पड़ने वाले असर का सटीक आकलन किया जा सके, हमने Finch का इस्तेमाल करके A/B टेस्ट किया.
समस्या वाली सुविधा बंद करना
प्रॉडक्ट की सुरक्षा और उपयोगकर्ता अनुभव को बेहतर बनाने के लिए, Chrome, Finch सिस्टम का इस्तेमाल करके, "कोड में" चालू की गई समस्याग्रस्त सुविधाओं को रिमोट तौर पर बंद कर सकता है. उदाहरण के लिए, अगर कोई सुविधा डिफ़ॉल्ट रूप से चालू थी, लेकिन Chrome के स्टेबल स्टेटस में पहुंचने के बाद ही समस्याएं सामने आईं, तो हमें उस सुविधा को तुरंत बंद करने का तरीका चाहिए, ताकि उपयोगकर्ताओं और कारोबारों को फिर से सुरक्षित स्थिति में लाया जा सके. ऐसा तब ज़रूरी हो सकता है, जब सुविधा में ऐसे गड़बड़ियां हों जिनका पता न चला हो या जब कोई सुविधा अचानक से मौजूदा साइटों के साथ काम न करे.
जोखिम वाली सुविधाओं को सुरक्षित तरीके से चालू करना
Chrome में लॉन्च की जाने वाली ज़्यादातर सुविधाओं के लिए, खतरा बहुत कम होता है. इसकी वजह यह है कि हम यह जांच और पुष्टि कर सकते हैं कि नया कोड सभी साइटों पर काम करता है या नहीं.
हालांकि, कभी-कभी नई सुविधाएं लॉन्च करना काफ़ी जोखिम भरा हो सकता है. इसकी वजह, काम करने से जुड़ी समस्याएं या अन्य मुश्किल इंटरैक्शन हो सकते हैं. इस मामले में, Finch सिस्टम का इस्तेमाल, इस सुविधा को चालू करने के लिए किया जा सकता है. इसके बजाय, इसे सिर्फ़ एक किलर स्विच के तौर पर इस्तेमाल नहीं किया जा सकता.
उदाहरण के लिए, एचटीएमएल पार्सर "रिलैक्सेशन", पसंद के मुताबिक चुनने की नई सुविधा से जुड़ा एक बदलाव था. इसकी मदद से, <select>
एलिमेंट में पहले के मुकाबले ज़्यादा कॉन्टेंट डाला जा सकता था. इस बदलाव की वजह से, हो सकता है कि मौजूदा साइटों पर असर पड़े. इसलिए, हमें इसे सावधानी से रोल आउट करना था.
Finch का इस्तेमाल करके सुविधाओं को चालू करना, उन्हें हटाने के लिए Finch का इस्तेमाल करने से ज़्यादा सुरक्षित हो सकता है. इसकी वजह यह है कि Finch कई वजहों से 100% उपयोगकर्ताओं तक नहीं पहुंचता. उदाहरण के लिए, कुछ एंटरप्राइज़ उपयोगकर्ताओं के लिए ऐसी नीति बनाई गई है जो Finch कॉन्फ़िगरेशन को पूरी तरह से प्रतिबंधित करती है. अगर कोड में कोई सुविधा चालू की जाती है और फिर Finch का इस्तेमाल करके उसे बंद किया जाता है, तो उन उपयोगकर्ताओं को खतरा बना रहेगा. ऐसा इसलिए, क्योंकि उन उपयोगकर्ताओं को Finch की सेटिंग नहीं मिलेगी और सुविधा चालू रहेगी. इसके बजाय, Finch का इस्तेमाल करके इस सुविधा को चालू करने पर, हम यह गारंटी दे सकते हैं कि आपके पास आपातकालीन स्थिति में, सभी उपयोगकर्ताओं के लिए इसे बंद करने का विकल्प होगा.
यह कैसे पता करें कि आप Finch के एक्सपेरिमेंट में शामिल हैं या नहीं?
उपयोगकर्ताओं के लिए, सीधे तौर पर ऐसा करना मुश्किल होता है. हमारा सुझाव है कि आप Chrome इंजीनियर से संपर्क करें. आम तौर पर, Chromium बग के मामले में ऐसा करना चाहिए. साथ ही, उन्हें अपनी "वैरिएशन की सूची" भेजें. यह किसी ब्राउज़र के लिए, Finch की सभी सेटिंग के खास कोड वाले वर्शन की सूची है. इसे आसानी से वापस पाया जा सकता है:
chrome://version
पर नेविगेट करें.- "चालू वैरिएशन" के बगल में दी गई पूरी टेक्स्ट सूची (हां, यह काफ़ी लंबी हो सकती है) कॉपी करें.
- उस टेक्स्ट को किसी टेक्स्ट फ़ाइल (उदाहरण के लिए,
variations.txt
) में चिपकाएं और उसे किसी बग से अटैच करें.
वैरिएशन की इस सूची की मदद से, Chrome के इंजीनियर इस सूची को डिकोड कर सकते हैं और यह देख सकते हैं कि आपके ब्राउज़र पर कौनसी सुविधाएं चालू या बंद हैं.
Finch एक्सपेरिमेंट के 100% पूरे होने और उसे इस्तेमाल के लिए तैयार होने पर क्या होता है?
जब हमें लगता है कि हमारा प्रयोग "सफल" हो गया है और जिस सुविधा की बात हो रही है उससे डेवलपर या उपयोगकर्ताओं को कोई खतरा नहीं है, तब हम उस सुविधा को "कोड में" हमेशा चालू कर देते हैं. इस समय, Finch कॉन्फ़िगरेशन की समयसीमा खत्म की जा सकती है, ताकि कोड में इस सुविधा को चालू करने के बाद, ब्राउज़र पर इसका असर न पड़े.