تاريخ النشر: 3 نيسان (أبريل) 2025
عند طرح ميزة جديدة في Chrome، يتم إجراء العديد من عمليات التحقّق والتوازن لضمان أن تكون الميزة صالحة ومتوافقة وموثوقة. ومن بين هذه التوازنات تجارب Finch. لا تعتقد أنّ هذه الميزة غير آمنة بسبب كلمة "تجربة" في اسمها، بل على العكس تمامًا. تساعدنا عمليات طرح Finch في إضافة ميزات قد تتسبب في مشاكل التوافق بطريقة آمنة، لأنّها تسمح لنا بإيقاف ميزة بسرعة في حال واجهنا مشاكل غير متوقّعة. توضّح هذه المقالة كيفية استخدامنا لبرنامج Finch وسبب استخدامه في بعض إصدارات الميزات في Chrome.
بشكل عام، يعني تفعيل ميزة في Chrome تبديل قيمة منطقية من "إيقاف" إلى "تفعيل" داخل Chrome. عندما يتم "طرح" ميزة جديدة، يعني ذلك ببساطة أنّه تم تغيير الحالة التلقائية لهذا المتغير المنطقي إلى "مفعَّل" لجميع المستخدمين. هناك عدة طرق لإجراء ذلك:
- تفعيل الميزة "في الرمز": يعني هذا أنّ ملف Chrome التنفيذي نفسه يتضمّن إعدادًا مفعّلاً تلقائيًا.
- تفعيل الميزة "من خلال تجربة المصدر": نظام تجربة المصدر هو طريقة لموقع إلكتروني معيّن لإشراك جميع مستخدمي Chrome في تجربة، ما يؤدي إلى تفعيل ميزة معيّنة على هذا الموقع الإلكتروني فقط.
- تفعيل الميزة "باستخدام Finch": يُجلب Chrome ملف إعدادات من خادم بشكل دوري، ويمكن أن يحتوي هذا الملف على تعليمات لتفعيل ميزة أو إيقافها.
- "مفتاح إيقاف Finch": هو عكس تفعيل "استخدام Finch". في هذه الحالة، يتم تفعيل الميزة "في الرمز" ولكن يتم إيقافها بعد ذلك باستخدام نظام Finch، وذلك عادةً بسبب مشاكل يتم رصدها بعد الإطلاق.
حالات استخدام Finch
موضوع هذه المشاركة في المدونة هو Finch، لذا لن نناقش تفعيل "الرمز البرمجي" أو "الإصدار التجريبي من المصدر" أكثر من ذلك. ولكن هناك العديد من حالات الاستخدام المثيرة للاهتمام في Finch.
الاختبار على مجموعة صغيرة من المستخدمين (اختبار A/B)
غالبًا ما يتم استخدام Finch لإجراء "اختبار أ/ب" لميزة أو تحسين. في هذه الحالة، يتم تفعيل ميزة لمجموعة صغيرة من المستخدمين، حتى يمكن جمع البيانات حول الفرق في الأداء أو السلوك أو الاستخدام عند تفعيل الميزة أو إيقافها.
من الأمثلة على اختبار A/B إطلاق عمليات فك ترميز الصور التوقّعية. هذا تحسين في الأداء لا يُفترض أن يلاحظه المطوّرون أو المستخدمون، باستثناء أنّه يجعل Chrome يُحمِّل الصفحات بشكلٍ أسرع. ولكن للتأكّد من عدم حدوث أيّ مشكلة غير متوقّعة، وللتمكّن أيضًا من قياس تأثير الأداء بدقة، استخدمنا Finch لإجراء اختبار أ/ب.
إيقاف ميزة تسبّب مشاكل
للحفاظ على أمان المنتج وتجربة المستخدم، يمكن لمتصفّح Chrome استخدام نظام Finch لإيقاف الميزات التي تتسبب في مشاكل والتي تم تفعيلها "في الرمز البرمجي" عن بُعد. على سبيل المثال، إذا كانت إحدى الميزات مفعّلة تلقائيًا، ولكن لم تظهر المشاكل إلا بعد وصول Chrome إلى الحالة "مستقر"، نحتاج إلى طريقة لإيقاف الميزة بسرعة لإعادة المستخدمين والأنشطة التجارية إلى حالة آمنة. وقد يكون ذلك ضروريًا عند اكتشاف أخطاء في الميزة لم يتم رصدها بعد، أو عندما تؤدي إحدى الميزات إلى إيقاف المواقع الإلكترونية الحالية عن العمل لأسباب غير متوقّعة.
تفعيل الميزات الخطيرة بطريقة أكثر أمانًا
بالنسبة إلى معظم الميزات التي يطلقها Chrome، لا يُحتمل حدوث أي خطأ، لأنّه يمكننا اختبار الرمز الجديد والتأكّد من أنّه يعمل على جميع المواقع الإلكترونية.
في بعض الأحيان، قد يكون إطلاق الميزات أمرًا محفوفًا بالمخاطر، وذلك بسبب مشاكل التوافق غير المعروفة أو التفاعلات الأخرى المعقدة. في هذه الحالة، يمكن استخدام نظام Finch لتفعيل الميزة بدلاً من الاحتفاظ بها كخيار احتياطي لإيقاف الجهاز.
على سبيل المثال، كان "تخفيف القيود" على محلِّل HTML تغييرًا مرتبطًا بميزة "القائمة المخصّصة" الجديدة التي تسمح بوضع محتوى أكثر من ذي قبل داخل عنصر <select>
. وبما أنّه من المحتمل أن يؤدي هذا التغيير إلى إيقاف المواقع الإلكترونية الحالية، كان علينا طرحه بعناية.
قد يكون تفعيل الميزات باستخدام Finch أكثر أمانًا من استخدام Finch لإزالتها، لأنّ Finch لا يصل إلى 100% من المستخدمين لأسباب مختلفة. على سبيل المثال، تفرض بعض سياسات المؤسسات حظرًا تامًا على ضبط إعدادات Finch. سيظل هؤلاء المستخدمون معرّضين للخطر في حال تفعيل ميزة في الرمز البرمجي، ثم إيقافها باستخدام Finch، لأنّ هؤلاء المستخدمين لن يتلقّوا إعداد Finch، وسيظلّون مُفعّلين للميزة. من خلال تفعيل الميزة باستخدام Finch بدلاً من ذلك، يمكننا ضمان إمكانية إيقافها لجميع المستخدمين في حالات الطوارئ.
كيف يمكنني معرفة ما إذا كنت مشاركًا في تجربة Finch؟
ويصعب على المستخدمين إجراء ذلك مباشرةً. الطريقة المُقترَحة هي التواصل مع أحد مهندسي Chrome (عادةً في سياق خطأ في Chromium) وإرسال "قائمة الأسعار المتغيرة" إليه. هذه قائمة بإصدارات مُشفَّرة خاصة لجميع إعدادات Finch لمتصفّح معيّن. ويمكن استرجاعه بسهولة:
- انتقِل إلى
chrome://version
. - انسخ قائمة النصوص بأكملها (قد تكون طويلة جدًا) المدرَجة بجانب "الصيغ النشطة".
- الصِق هذا النص في ملف نصي (على سبيل المثال،
variations.txt
) وأرفق به خطأ.
باستخدام قائمة الصيغ هذه، يمكن لمهندسي Chrome فك ترميز القائمة والاطّلاع على الميزات التي تم تفعيلها أو إيقافها في المتصفّح.
ماذا يحدث عندما تصل تجربة Finch إلى نسبة% 100 وتصبح جاهزة للاستخدام؟
بعد التأكّد من أنّ تجربتنا "ناجحة" وأنّ الميزة المعنيّة لا تشكل أي مخاطر للمطوّرين أو المستخدمين، نفعّل الميزة "في الرمز البرمجي" دائمًا. في هذه المرحلة، من الآمن تحديد تاريخ انتهاء لإعدادات Finch، كي لا تعود لها أي تأثير في المتصفّحات بعد الإصدار الذي تم فيه تفعيل الميزة في الرمز البرمجي.