MousePlayer کیسے کام کرتا ہے

ہماری نگرانی کی ساخت، مختلف ڈیوائسز کی اسکرین ریزولوشن اور نظام کی حدود کی آسان رہنمائی۔

1. ہم ویڈیو ریکارڈنگ کیوں استعمال نہیں کرتے

عام غلط فہمی ہے کہ بصری تجزیاتی ٹول ملاحظہ کار کی اسکرین کی عام ویڈیو (MP4 یا WebM) بناتے ہیں۔ اس سے بہت bandwidth لگے، سائٹ سخت سست ہو، اور متن دھندلا ناقابلِ مطالعہ بنے۔

اس کے بجائے MousePlayer ہلکی ٹیکنالوجی استعمال کرتا ہے: DOM Snapshot Telemetry۔ بنیادی طریقہ یہ ہے:

نقشے کا اسنیپ شاٹ

ملاحظہ کار صفحہ کھولے تو اسکرپٹ HTML اور styling کا متنی “نقشہ” لیتا ہے۔ عناصر کی جگہ ریکارڈ ہوتی ہے، تصاویر یا ویڈیو فائلوں کی نقل نہیں؛ پلیئر ریکارڈنگ کے دوران تصاویر اصل پتے سے لاتا ہے۔ استثنا canvas عناصر ہیں، جن کا مواد تصویر کی صورت بھیجا جاتا ہے (نیچے دیکھیں)۔

نقاط کی ٹیلی میٹری

تعامل کے دوران ایونٹس کا بہاؤ ریکارڈ کرتے ہیں: ماؤس کی جگہ، اسکرول کی گہرائی، کلک کے اہداف، براؤزر کا سائز؛ خود صفحے کی تبدیلیاں بھی، اور ترتیب کے مطابق کنسول پیغامات، ناکام یا سست درخواستیں اور لوڈنگ کے پیمانے (Web Vitals)۔ حرکت اور کلکس چھوٹے؛ اسنیپ شاٹس اور تبدیلیاں صفحے کے لحاظ سے بڑی اور دبائی ہوئی بھیجی جاتی ہیں۔

Theatre ریکارڈنگ

ڈیش بورڈ میں سیشن دیکھیں تو پلیئر نقشے سے صفحہ دوبارہ بناتا اور حقیقی وقت میں مجازی پوائنٹر چلاتا ہے، جبکہ متن صاف رہتا ہے۔

ہلکا رہنے کے لیے بنا: اسکرپٹ asynchronous لوڈ ہو کر ویڈیو کے بجائے چھوٹے عددی نقاط بھیجتا ہے، اس لیے اپنا حجم کم ہے۔ Core Web Vitals پر اثر صفحات، ہوسٹنگ اور ملاحظہ کار کے نیٹ ورک پر ہے؛ اپنے ہاں ناپیں، ہماری دی ہوئی قدر پر نہ رکیں۔ مخصوص لوڈنگ رفتار کی ضمانت نہیں – شق 20 دیکھیں، ہماری شرائطِ خدمت میں۔

2. اسکرین ریزولوشنز & موبائل ڈیوائسز

آج چھوٹے اسمارٹ فون سے چوڑے 4K ڈیسک ٹاپ تک استعمال ہوتا ہے۔ ویب سائٹس چوڑائی کے مطابق لے آؤٹ خود سمیٹتی اور ترتیب بدلتی ہیں—اسے Responsive Web Design کہتے ہیں۔

ملاحظہ کار کا عین نظر آنے والا حصہ کیسے ملاتے ہیں

ریکارڈنگ مسخ نہ ہو، اس لیے MousePlayer عین نظر آنے والے حصے کا سائز لیتا ہے (مثلاً 390x844 اسمارٹ فون کے لیے یا 1920x1080 ڈیسک ٹاپ کے لیے)۔ Theatre پلیئر میں نظام ناپ کے مطابق sandbox بناتا ہے جو اصل اسکرین کا تناسب بعینہ رکھتا ہے۔

ڈیسک ٹاپ & لیپ ٹاپ اسکرینیں

عام کمپیوٹر پر ایک براؤزر سیشن میں مسلسل ماؤس حرکت اور مختلف ٹیبز کی نیویگیشن لیتے ہیں۔ ماؤس لانے سے کھلنے والے مینو تب دکھتے ہیں جب صفحے کا document بدلے؛ صرف CSS hover اثر document میں نظر نہیں آتا اور ریکارڈنگ میں نہیں بنتا۔

اسمارٹ فون & ٹیبلیٹس

ٹچ اسکرین پر منڈلاتا ماؤس نہیں۔ MousePlayer خود ٹیپ، swipe اسکرول اور سمت کی تبدیلی (عمودی بمقابلہ افقی) ریکارڈ کرتا ہے۔

سیشن کے درمیان سائز بدلنے کا چیلنج

ٹیبلیٹ گھمانے یا براؤزر کی ونڈو بدلنے سے لے آؤٹ بدلتا ہے۔ MousePlayer یہ ایونٹس ریکارڈ کر کے فوراً ریکارڈنگ canvas ڈھالتا ہے تاکہ تعامل کا سیاق محفوظ رہے۔

3. نظام کی حدود & تکنیکی پابندیاں

رازداری، براؤزر کی حفاظت اور تیز ڈیٹا پروسیسنگ کے لیے MousePlayer مقررہ تکنیکی حدود میں کام کرتا ہے:

نظام کی حد MousePlayer کا طریقہ
iFrames صفحے کے یکساں origin والے iframes اندر کے مواد اور تعامل سمیت ریکارڈ ہوتے ہیں۔ دوسرے origin کا مواد (YouTube پلیئر، Stripe ادائیگی فارم) براؤزر کی Same-Origin Policy کی وجہ سے اندر سے ریکارڈ نہیں ہو سکتا؛ ریکارڈنگ میں متبادل خانہ دکھتا ہے، وہ مواد لوڈ نہیں ہوتا۔
حساس ان پٹ خانے (PII) پاس ورڈ اور ادائیگی کے خانے ہر درجے پر ملاحظہ کار کی ڈیوائس میں ماسک، اور ہر سائٹ کا ڈیفالٹ مکمل فارم ماسکنگ ہے۔ ٹائپ ہونے کا علم ہوتا ہے، متن نہیں۔ دو حدود: کمزور دونوں درجوں کے لیے ہماری تحریری منظوری لازم؛ ماسکنگ صفحے کے خود document میں لکھے مواد کو نہیں پہنچتی – پتہ دکھانے والا تصدیقی صفحہ snapshot کا حصہ ہے۔ دونوں ہماری DPA میں واضح ہیں۔
Canvas & WebGL عناصر canvas کی تصویر اسنیپ شاٹ کے ساتھ ایک بار، پھر ہر تبدیلی پر زیادہ سے زیادہ تقریباً ایک بار فی سیکنڈ اور مقررہ سائز تک ریکارڈ ہے۔ ہموار animation اس لیے مسلسل frames میں دکھتی ہے۔ ماسک حصوں یا دوسرے origin کی تصویر والے canvas سے تصویر نہیں بھیجتے؛ WebGL خالی رہ سکتا ہے۔
Web Components (Shadow DOM) کھلے shadow roots مواد سمیت ریکارڈ ہیں۔ بند shadow roots اسکرپٹ کی رسائی سے باہر؛ ان کا مواد ریکارڈنگ میں نہیں۔
ترسیل & براؤزر کا ذخیرہ ڈیٹا رمز شدہ WebSocket رابطے (HTTPS/WSS) سے بھیجتے ہیں۔ نہ بن سکے، مثلاً proxy کے باعث، تو رمز شدہ HTTP راستہ متبادل ہے؛ بہت بڑے اسنیپ شاٹس الگ HTTPS سے اپ لوڈ ہوتے ہیں۔ MousePlayer کوکی نہیں رکھتا؛ سائٹ پر براؤزر کا local storage اور session storage استعمال کرتا ہے۔
غیر فعال AFK وقفے ملاحظہ کار ٹیب کھلا چھوڑ کر 20 منٹ چلا جائے تو نظام بے عملی پہچان کر ریکارڈنگ میں وقفہ سمیٹ دیتا ہے، تاکہ ساکن اسکرین دیکھنے میں وقت نہ لگے۔