Blink Intents কি?

যখন প্রকৌশলীরা ব্লিংক রেন্ডারিং ইঞ্জিনে কোনো পরিবর্তন আনতে চান, তখন কাজ শুরু করার অনুমোদন পাওয়ার জন্য তাঁরা ব্লিংক-ডেভ মেইলিং লিস্টে পোস্ট করেন। মেইলিং লিস্টের এই পোস্টগুলোকে ব্লিংক ইনটেন্ট বলা হয়।

ক্রোমিয়াম -ভিত্তিক ওয়েব ব্রাউজারগুলো কোড এবং রিসোর্সকে এমন ওয়েব পেজে রূপান্তর করতে ব্লিংক রেন্ডারিং ইঞ্জিন ব্যবহার করে, যা আপনি দেখতে এবং যার সাথে ইন্টারঅ্যাক্ট করতে পারেন।

ব্লিঙ্ক-ডেভ মেইলিং লিস্ট

জানুন ব্লিংক ইনটেন্ট কীভাবে কাজ করে, কেন এগুলো গুরুত্বপূর্ণ এবং কীভাবে নতুন ফিচারগুলো ব্লিংকে যুক্ত হয়।

ক্রোমিয়াম হলো একটি ওপেন-সোর্স ব্রাউজার প্রজেক্ট, যার উপর ভিত্তি করে ক্রোম এবং আরও কিছু ব্রাউজার ও ফ্রেমওয়ার্ক তৈরি করা হয়েছে। ব্লিংক হলো ক্রোমিয়ামে ব্যবহৃত রেন্ডারিং ইঞ্জিন।

ব্লিংকে কোনো নতুন ফিচার যুক্ত হতে হলে, সেটিকে ক্রোমিয়াম প্রজেক্টের উন্মুক্ত উন্নয়ন প্রক্রিয়ার মধ্য দিয়ে যেতে হয়। "নতুন ফিচার" হলো ব্রাউজার কোড বা আর্কিটেকচারে যেকোনো পরিবর্তন বা সংযোজন। এটি একটি নতুন জাভাস্ক্রিপ্ট এপিআই, ব্লিংক কোডের পারফরম্যান্সে উল্লেখযোগ্য উন্নতি, অথবা ব্রাউজারের চেহারা বা কার্যকারিতার অন্য কোনো পরিবর্তন হতে পারে।

একটি উন্মুক্ত এবং সহযোগিতামূলক প্রক্রিয়া

ক্রোমিয়াম হাজার হাজার অবদানকারী সহ একটি বিশাল ও জটিল প্রকল্প। যখন ক্রোমিয়ামে কোনো পরিবর্তন আসে, তখন প্রতিটি মাইলস্টোন বৃহত্তর ওয়েব ইকোসিস্টেমকে এর ডিজাইন ও বাস্তবায়ন সম্পর্কে মতামত জানানোর জন্য আমন্ত্রণ জানানোর একটি সুযোগ হয়ে ওঠে।

যথাসম্ভব, নতুন ফিচারগুলো অবশ্যই বিভিন্ন ওয়েব প্ল্যাটফর্মে সামঞ্জস্যপূর্ণ হতে হবে এবং শুধুমাত্র একটি ব্রাউজারে প্রয়োগ করা যাবে না। ওয়েব ডেভেলপাররা কোনো অপ্রত্যাশিত পরিস্থিতি চান না: যেমন ব্রাউজারগুলো প্রত্যাশা অনুযায়ী কাজ না করা—অথবা বিভিন্ন ব্রাউজার ও প্ল্যাটফর্মের জন্য আলাদা কোড লিখতে বাধ্য হওয়া। ব্লিংক ইনটেন্ট পরিবর্তনের প্রক্রিয়াকে কাঠামোবদ্ধ ও নিয়ন্ত্রিত করতে সাহায্য করে, যাতে পরিবর্তনগুলো আরও অনুমানযোগ্য এবং অপ্রত্যাশিত না হয়, যা ওয়েব ডেভেলপারদের জন্য উপকারী।

ব্যবহারকারীদের জন্য, ব্রাউজার নির্মাতাদের সতর্ক থাকতে হবে যেন কোনো পরিবর্তনের কারণে ওয়েবসাইটগুলো কাজ করা বন্ধ করে না দেয়। সাইটের মালিকরা প্রায়শই ওয়েবসাইট রক্ষণাবেক্ষণ করা বন্ধ করে দেন। কিছু সাইট তো কয়েক দশক ধরে আপডেট করা হয়নি! এমন কোনো পরিবর্তন করার সময় ব্রাউজার নির্মাতাদের এই বিষয়টি বিবেচনা করতে হবে, যা ওয়েবসাইট অকার্যকর করে দিতে পারে।

ধারণা থেকে প্রস্তাব পর্যন্ত

ওয়েব প্ল্যাটফর্মে পরিবর্তন ও আপডেটের প্রস্তাবনাগুলো গবেষণা থেকেই আসে: ব্যবহারকারী, ব্যবসা প্রতিষ্ঠান, ব্রাউজার ইঞ্জিনিয়ার, ওয়েব ডেভেলপার এবং অন্যান্য অংশীদারদের সাথে পরামর্শ করে। এই গবেষণা ক্রোম টিমকে প্ল্যাটফর্মটিতে কীসের অভাব রয়েছে বা কী পরিবর্তন করা প্রয়োজন, তা বুঝতে সাহায্য করে। প্রাথমিকভাবে, ওয়েব প্ল্যাটফর্মে কোনো পরিবর্তন বা নতুন ফিচারের প্রস্তাবনা কেবল কাগজের ওপর লেখা কিছু শব্দ মাত্র। ইঞ্জিনিয়াররা তাদের সহকর্মীদের মতামত ও আলোচনার জন্য নথিগুলো শেয়ার করেন।

একটি উদাহরণ: ফেডসিএম

গিটহাবে ফেডসিএম-এর ব্যাখ্যা

ফেডারেটেড ক্রেডেনশিয়াল ম্যানেজমেন্ট (FedCM) হলো একটি এপিআই যা ব্যবহারকারীর সাইন-আপ এবং লগইনের জন্য একটি গোপনীয়তা-কেন্দ্রিক ও ব্যবহারকারী-বান্ধব পদ্ধতি প্রদান করে, যা ফেডারেটেড আইডেন্টিটি নামে পরিচিত। উদাহরণস্বরূপ, এটি 'সাইন-ইন উইথ গুগল' এবং অন্যান্য সোশ্যাল সাইন-ইন-এর ক্ষেত্রে প্রযোজ্য।

একটি ব্রাউজার এপিআই তৈরি করার প্রথম ধাপ হলো সর্বসাধারণের আলোচনার জন্য একটি প্রস্তাবনা প্রস্তুত করা। ফেডসিএম-এর প্রস্তাবনাটি একটি এক্সপ্লেনার হিসেবে গিটহাবে প্রকাশ করা হয়েছে। এক্সপ্লেনার রিপোজিটরিতে একটি গিটহাব ইস্যু তৈরি করার মাধ্যমে ফিচার ডিজাইনগুলো সম্পর্কে প্রশ্ন করতে বা মন্তব্য করতে সবাইকে আমন্ত্রণ জানানো হচ্ছে। মতামতের মধ্যে ডেভেলপারদের দেওয়া অতিরিক্ত ব্যবহারের ক্ষেত্র, সীমাবদ্ধতা, উন্নতির জন্য ধারণা বা সমর্থনের প্রতিশ্রুতি অন্তর্ভুক্ত থাকতে পারে।

একবার W3C- এর মতো কোনো মান নির্ধারণকারী সংস্থা কর্তৃক কোনো প্রস্তাব গৃহীত হলে, অংশীজনরা W3C ওয়ার্কিং গ্রুপের মতো ওয়েব স্ট্যান্ডার্ড গ্রুপগুলিতে আলোচনায় যোগ দিতে এবং উপস্থাপনা দেখতে পারেন।

প্রতিটি মাইলস্টোনের জন্য, যখন ইঞ্জিনিয়াররা ব্লিংক রেন্ডারিং ইঞ্জিনের কোনো নতুন ফিচার বা পরিবর্তন নিয়ে কাজ করেন, তখন তাঁরা ব্লিংক-ডেভ ডিসকাশন গ্রুপে একটি পোস্ট প্রকাশ করেন। এতে তাঁরা জানান যে, তাঁরা ফিচারটি বাস্তবায়নের পরবর্তী ধাপে যেতে চান। এই পোস্টগুলোকে "ইনটেন্ট" বলা হয়। ব্লিংকের নতুন ফিচারের অগ্রগতি সম্পর্কে বিজ্ঞপ্তি পেতে যে কেউ ব্লিংক-ডেভ গ্রুপে সাবস্ক্রাইব করতে পারেন, অথবা আপডেটের জন্য কোনো নির্দিষ্ট ফিচারেও সাবস্ক্রাইব করতে পারেন।

প্রোটোটাইপ তৈরির অভিপ্রায়

এই পর্যায়ে, ক্রোমিয়াম ইঞ্জিনিয়াররা একটি ফিচার বাস্তবায়ন করা শুরু করতে পারেন। এর মানে হলো, ফিচারটির প্রোটোটাইপ কার্যকারিতা একটি ফিচার ফ্ল্যাগের আড়ালে ডেভেলপারদের পরীক্ষার জন্য উপলব্ধ করা হতে পারে, প্রাথমিকভাবে ক্রোম ক্যানারিতে এবং তারপর অন্যান্য রিলিজ চ্যানেলে। যেকোনো ব্যবহারকারী তাদের ব্রাউজারে একটি ফিচার সক্রিয় ও পরীক্ষা করার জন্য chrome://flags পেজ থেকে একটি ফ্ল্যাগ সেট করতে পারেন।

তবে, chrome://flags পেজ থেকে সব ফ্ল্যাগ সেট করা যায় না। আরও সূক্ষ্ম নিয়ন্ত্রণের জন্য, আপনি কমান্ড-লাইন ফ্ল্যাগ ব্যবহার করে টার্মিনাল থেকে ক্রোম চালাতে পারেন। মনে রাখবেন যে, কিছু নতুন ফিচার ক্রোম ক্যানারিতে পরীক্ষার জন্য চালু না হওয়া পর্যন্ত উপলব্ধ হয় না—যদিও এটি খুবই বিরল। কিছু ফিচারের নিজস্ব ফ্ল্যাগ নেই, কিন্তু experimental-web-platform-features ফ্ল্যাগটি সক্রিয় করা থাকলে সেগুলি উপলব্ধ হয়। এটি সাধারণত সেইসব "ছোট" ফিচারের ক্ষেত্রে প্রযোজ্য, যেগুলো বাস্তবায়ন করতে সর্বোচ্চ তিন থেকে ছয় মাসের বেশি সময় লাগে না।

প্রোটোটাইপগুলির উপর মতামত সংগ্রহ করা

কোনো নতুন ফিচারের প্রোটোটাইপিং শুরু হয়ে গেলে, ক্রোমিয়াম ইঞ্জিনিয়াররা আলোচনা এবং প্রাথমিক পরীক্ষা-নিরীক্ষার জন্য আমন্ত্রণ জানান। প্রস্তাবনাগুলো যাচাই এবং সেগুলোর পুনরাবৃত্তির জন্য এই পর্যায়ের মতামত অত্যন্ত গুরুত্বপূর্ণ। ক্রোমে এর বাস্তবায়ন সম্পর্কে মন্তব্য করার জায়গা হলো ক্রোমিয়াম বাগস

ক্রোমিয়াম ইস্যু ট্র্যাকারে একটি ইস্যু তৈরি করুন।

পরীক্ষণের অভিপ্রায়: বাস্তব জগতে পরীক্ষা করা

ক্রোম ইঞ্জিনিয়াররা যদি অরিজিন ট্রায়াল চালানোর অনুরোধ করতে চান, তবে blink-dev-এ একটি 'Intent to Experiment' পোস্ট করা একটি ঐচ্ছিক পরবর্তী পদক্ষেপ।

FedCM-এর জন্য পরীক্ষা-নিরীক্ষার অভিপ্রায়

অরিজিন ট্রায়াল হলো কোনো নতুন বা পরীক্ষামূলক ওয়েব প্ল্যাটফর্ম ফিচার পরীক্ষা করার একটি উপায়। আপনি কোনো ফিচারের অরিজিন ট্রায়ালের জন্য নিবন্ধন করেন, তারপর ট্রায়ালের জন্য একটি টোকেন পান। যে কোনো পেজ টোকেনটি প্রদান করলে, সেই পেজে ফিচারটি সক্রিয় হয়ে যাবে।

উপলব্ধ ক্রোম অরিজিন ট্রায়ালগুলির একটি তালিকা।

কোনো ফিচার বাস্তবায়নের কাজ এগিয়ে নিয়ে যাওয়ার জন্য, ব্লিংক এপিআই-এর মালিকদের অবশ্যই একটি ইন্টেন্টের উত্তরে 'looks good to me' (আমার কাছে ভালো লাগছে) লিখে তাদের অনুমোদন দিতে হবে, যা LGTM নামে পরিচিত।

ব্লিংক এপিআই ওনার্স হলেন ক্রোমিয়াম কন্ট্রিবিউটরদের একটি ছোট দল, যারা ওয়েব প্ল্যাটফর্ম এবং এর এপিআই-গুলোতে অত্যন্ত অভিজ্ঞ এবং ব্লিংক কমিউনিটির দ্বারা সুপ্রতিষ্ঠিত ও ব্লিংকের লক্ষ্য ও মূল্যবোধের প্রতি প্রতিশ্রুতিবদ্ধ হিসেবে স্বীকৃত। ফিচারগুলোকে বাস্তবায়নের দিকে এগিয়ে নিয়ে যাওয়ার জন্য অনুমোদন (বা প্রত্যাখ্যান!) দেওয়ার পাশাপাশি, এপিআই ওনার্সরা স্বয়ং ব্লিংক ইনটেন্ট প্রক্রিয়াটির তত্ত্বাবধান করেন।

একটি পরীক্ষা-নিরীক্ষার অভিপ্রায়কে অবশ্যই এপিআই মালিকদের কাছ থেকে অন্তত একটি এলজিটিএম (LGTM) পেতে হবে।

ফেডসিএম-এর পরীক্ষা-নিরীক্ষার অভিপ্রায় বিষয়ক পোস্টে এলজিটিএম (LGTMs)।

উৎস পরীক্ষার মান

ডেভেলপাররা কোনো ফিচারের অরিজিন ট্রায়ালের জন্য সাইন আপ করতে পারেন এবং তারপর বাস্তব পরিবেশে, প্রকৃত ব্যবহারকারীদের সাথে প্রোডাকশনে ফিচারটি পরীক্ষা করতে পারেন—ফিচারটি সক্রিয় করার জন্য ব্যবহারকারীদের কোনো পদক্ষেপ নেওয়ার প্রয়োজন হয় না। ডেভেলপাররা তাদের পরীক্ষার ফলাফল শেয়ার করতে পারেন, যা ফিচারটিকে উন্নত ও বিকশিত করতে মূল্যবান অন্তর্দৃষ্টি এবং ডেটা প্রদান করে।

প্রেরণের অভিপ্রায়: চূড়ান্ত মাইলফলক

Intent to Ship নির্দেশ করে যে একটি ফিচার এখন সম্পূর্ণ এবং Chrome Stable-এর সকল ব্যবহারকারীর জন্য কোনো ফ্ল্যাগ বা ট্রায়াল টোকেন ছাড়াই সাধারণ উপলব্ধির জন্য বাস্তবায়নের জন্য প্রস্তুত। বাস্তবায়ন প্রক্রিয়া শুরু করার আগে, একটি Intent to Ship-কে অবশ্যই API মালিকদের কাছ থেকে তিনটি LGTM পেতে হবে।

নতুন ফিচার চালু করা হচ্ছে

একবার অনুমোদিত হলে, একটি ফিচার আসন্ন কোনো রিলিজে অন্তর্ভুক্ত করা হয় এবং তারপর ক্রোম রিলিজ চ্যানেলগুলোর মধ্য দিয়ে অগ্রসর হয়। নতুন ফিচারগুলোর পরীক্ষা এবং বাস্তবায়ন প্রায়শই বিশেষ যত্নের সাথে করা হয়। কিছু ফিচার ক্রমান্বয়ে, ক্রমবর্ধমান সংখ্যক ব্যবহারকারীর কাছে চালু করা হয়। অপ্রত্যাশিত কোনো পার্শ্বপ্রতিক্রিয়া দেখা দিলে ফিচারগুলো ফিরিয়ে নিয়ে পুনরায় কাজও করা হতে পারে।

অপ্রচলিতকরণ এবং অপসারণ পরিচালনা করুন

ব্লিঙ্ক ইন্টেন্টের আরও দুটি প্রকার রয়েছে:

  • বাতিল করার অভিপ্রায়
  • অপসারণের অভিপ্রায়

এই বিষয়গুলো শুনতে কিছুটা দুঃখজনক মনে হতে পারে, কিন্তু প্রকৃতপক্ষে এগুলো ব্লিংক উন্নয়নের সাফল্যের জন্য অত্যন্ত গুরুত্বপূর্ণ।

যখন কোনো একটি ফিচার বাতিল বা ডেপ্রিকেটেড হতে চলেছে বলে ইঞ্জিনিয়াররা ডেভেলপারদের সতর্ক করতে চান, তখন তাঁরা একটি ' ইন্টেন্ট টু ডেপ্রিকেট' (Intent to Deprecate) পোস্ট করেন। উদাহরণস্বরূপ, ক্রোম ডেভটুলস কনসোলে (Chrome DevTools console) ডেপ্রিকেশন সম্পর্কিত সাপোর্ট ও তথ্য প্রদানের মাধ্যমে এটি করা হয়।

যখন প্রকৌশলীরা চান যে কোনো কোড ডিফল্টরূপে নিষ্ক্রিয় থাকুক, তখন ‘ অপসারণের অভিপ্রায়’ (Intent to Remove) পোস্ট করা হয়।

blink.dev-এ ডেপ্রিকেট করার অভিপ্রায়ের উপর LGTMs।

অবচয় এবং অপসারণের গুরুত্ব

ওয়েব প্ল্যাটফর্মের সুস্থতার জন্য ডেপ্রিকেশন এবং রিমুভাল উভয়ই অত্যন্ত গুরুত্বপূর্ণ। এগুলি নিশ্চিত করে যে ক্রোম এমন ফিচারগুলি সরিয়ে ফেলতে পারে যা সাধারণ ব্যবহারকারী বা ওয়েব ডেভেলপারদের জন্য ঠিকমতো কাজ করে না—এবং কোডবেসের জটিলতা কমাতেও সাহায্য করে। উদাহরণস্বরূপ, AppCache-এর ডিজাইনের সমস্যাগুলি তখনই আবিষ্কৃত হয়েছিল যখন এটি স্টেবল ব্রাউজারের প্রোডাকশন সাইটগুলিতে ব্যবহৃত হচ্ছিল, এবং অবশেষে এপিআইটি সরিয়ে ফেলা হয়। ডেপ্রিকেশন এবং রিমুভাল সম্ভাব্য আক্রমণের পথ কমিয়ে ক্রোমকে নিরাপদ ও সুরক্ষিত রাখতেও সাহায্য করে।

অন্যান্য সমস্ত ব্লিংক ইন্টেন্টের মতোই, ক্রোম টিম অত্যন্ত সতর্কতার সাথে সিদ্ধান্ত নেওয়ার চেষ্টা করে। কোনো পদক্ষেপ নেওয়ার আগে তারা ফিচারের ব্যবহারের হার এবং অন্যান্য ডেটা পর্যালোচনা করে। ফিচার সরিয়ে ফেলার মানদণ্ডটি আসলে অত্যন্ত উঁচু, এবং কোনো ফিচার তখনই সরানো হবে, যদি তা খুব, খুব অল্প সংখ্যক ব্যবহারকারী ব্যবহার করে এবং এর চেয়ে ভালো বিকল্প উপলব্ধ থাকে।

আপনি Chrome Status- এ ফিচারগুলির অগ্রগতি ট্র্যাক করতে পারেন, যেখানে আপনি আপডেটের জন্য সাবস্ক্রাইব করতে, বাগ রিপোর্ট করতে এবং অন্যান্য রিসোর্স খুঁজে পেতে পারেন।

chromestatus.com- এ ক্রোম ফিচার রোডম্যাপ।

নতুন ফিচারগুলির খোঁজ রাখতে, ক্রোমিয়াম ব্লগ অনুসরণ করুন এবং blink-dev আলোচনা গ্রুপে যোগ দিন। এই গ্রুপে প্রচুর ইমেল আসতে পারে, তাই আপনি একটিমাত্র ইন্টেন্টে সাবস্ক্রাইব করতে পছন্দ করতে পারেন। আপনি ব্লিংক ইন্টেন্টগুলির একটি স্প্রেডশিট দেখতে পারেন।

আপনি যদি ব্লিঙ্ক ইনটেন্টস সত্যিই পছন্দ করেন, তাহলে আপনি স্বয়ংক্রিয় ব্লিঙ্ক ইনটেন্ট ট্র্যাকার পরিষেবাগুলোর ওপর ভিত্তি করে আরও উন্নত ব্যবস্থা গড়ে তুলতে পারেন।

পরবর্তী পদক্ষেপ

ক্রোম রিলিজ চ্যানেলগুলো কী, তা দেখে নিন।