نسب دکھانے کا نیا ڈیزائن: «شادی کے نوڈ» کا نمونہ اور آل عبد اللہ کا تجرباتی شجرہ
نسب دکھانے کے لیے نیا انجن کیوں؟
حقیقی خاندان سادہ شجرے نہیں ہوتے۔ ان میں تعددِ ازواج ہوتا ہے، طلاق، بیوگی اور دوبارہ شادی ہوتی ہے، اور رشتہ داروں میں شادی ایک ہی فرد کو ایک سے زیادہ شاخوں سے جوڑ دیتی ہے، اور بعض اوقات ماؤں کے نام معلوم ہی نہیں ہوتے۔ روایتی انجن «ایک شوہر اور ایک لکیر» کو فرض کر لیتے ہیں، اس لیے وہ حقیقت کا کچھ حصہ چھپا دیتے ہیں یا افراد کو دُہرا دیتے ہیں یا شکل کو بگاڑ دیتے ہیں۔ ہم نے دکھانے کا طریقہ صفر سے نئے سرے سے تعمیر کیا تاکہ خاندان کو ویسا ہی پیش کیا جائے جیسا وہ ہے، نہ کہ جیسا کوئی سادہ سا سانچہ اُس پر مسلط کرے۔
پلیٹ فارم پر موجود «آل عبد اللہ» کا تجرباتی شجرہ اس انجن کے لیے ایک محفوظ نمائشی انٹرفیس ہے: غیر حقیقی کردار جو خاص طور پر اس لیے بنائے گئے ہیں کہ مشکل حالتیں دکھائی جا سکیں (تعددِ ازواج، طلاق، بیوگی، عورت کے نسب کا اُس کے خاندان تک پھیلاؤ) بغیر کسی حقیقی خاندان کی رازداری کو چھیڑے۔
«شادی کے نوڈ» کا نمونہ
ڈیزائن کا بنیادی نکتہ یہ ہے کہ شادی خود نقشے میں ایک نوڈ ہے: ایک چھوٹا دائرہ جو میاں بیوی کو جوڑتا ہے، اور اُسی سے اولاد کی شاخیں نکلتی ہیں۔ یہ روایتی «شوہروں کے کنگھے» سے مختلف ہے جو بیویوں کو مرد کے پہلو میں قطار سے رکھ دیتا ہے اور اولاد کو اُس کے نیچے لٹکا دیتا ہے، بغیر یہ بتائے کہ اُن کی مائیں کون ہیں۔ شادی کے نوڈ کے ساتھ یہ واضح ہو جاتا ہے: کس نے کس سے شادی کی، ہر شادی کی اولاد کون ہے، اور ہر رشتے کی حالت کیا ہے۔
ہر رشتے کی حالت بصری طور پر رمز میں پیش کی جاتی ہے: قائم شادی کے لیے نیلے دائرے سے جُڑی ہوئی مسلسل لکیر، طلاق کے لیے خالی دائرہ، وفات پر ختم ہونے والے رشتے کے لیے نقطہ دار حلقے والا سرمئی دائرہ، اور مِلک یمین کے رشتے کے لیے کہرُبائی رنگ۔ یوں ناظر صرف شکلوں سے خاندان کی ساخت پڑھ لیتا ہے، اور «رشتوں کی راہنما فہرست» کو اسکرین کے کونے میں ثابت پاتا ہے۔
مشکل حالتوں سے ہم کیسے نمٹتے ہیں
- تعددِ ازواج اور دوبارہ شادی: ہر شادی کا اپنا نوڈ، اپنا دائرہ اور اپنی اولاد ہوتی ہے، اور بیوی کی پہلے کی شادیاں ایک مستقل، باہم پیوست بلاک کے طور پر دکھائی جاتی ہیں، خواہ اُن کی تہیں کتنی ہی ہوں۔
- رشتہ داروں میں شادی اور نسبوں کا التقا: جب کوئی فرد ایک سے زیادہ شاخوں سے جُڑا ہو، تو اُسے ایک ہی بار مکمل طور پر (اپنی اصل جگہ پر) بنایا جاتا ہے، اور دوسری جگہوں پر وہ ایک مختصر اشارے کے ساتھ ظاہر ہوتا ہے جو اُس «مشترکہ جدِّ اعلیٰ» کی طرف رہنمائی کرتا ہے جہاں دونوں فریق ملتے ہیں، بغیر کسی تکرار یا نقصان کے۔
- لپیٹنا اور پھیلانا: پہلوئی شاخیں «+N» بٹن کے پیچھے لپیٹ دی جاتی ہیں تاکہ منظر صاف رہے، اور طلب پر کھول دی جاتی ہیں۔ یہی شمار کنندہ پورے شجرے کے مجموعے میں سے ظاہر ہونے والے افراد کی تعداد دکھاتا ہے۔
- بے نام مائیں: اگر مأخذ نے ماں کا نام محفوظ نہ کیا ہو، تو نہ ہم کوئی نام گھڑتے ہیں اور نہ کوئی فرضی کارڈ رکھتے ہیں؛ بلکہ ہم صراحت کر دیتے ہیں کہ نام محفوظ نہیں ہے (تحقیقی شجروں میں) یا اُس کے اضافے کے لیے ایک واضح خانہ رکھ دیتے ہیں (خاندانی شجروں میں)۔
سب شجروں کے لیے ایک ہی انجن
یہی طریقہ پلیٹ فارم کے ہر شجرے کو چلاتا ہے: خاندان کا نجی شجرہ، تجرباتی شجرہ، اور نبی ﵌ کے نسب کا تحقیقی شجرہ۔ کسی ایک مخصوص شجرے کے لیے کوئی الگ کوڈ نہیں ہے۔ اس کا مطلب یہ ہے کہ ڈیزائن میں کوئی بھی بہتری یا رویّے میں کوئی بھی درستی ایک ساتھ تمام شجروں اور تمام صارفین پر منعکس ہوتی ہے، ہم آہنگی دستی محنت سے نہیں بلکہ خود بنیاد میں ضمانت شدہ ہے۔
انجینئری کے لحاظ سے، ڈیٹا ایک سخت، واحد راستے پر چلتا ہے: ہموار ڈیٹا (ہر سطر پر ایک فرد، اور ساخت باپ اور ماں کے روابط سے بنتی ہے) ← ایک خالص ریاضیاتی تبدیلی جو منظر پیدا کرتی ہے ← ایک ایسی نمائش جس میں ڈیٹا کا کوئی منطق نہیں۔ ہر متناسق (کوآرڈینیٹ) محسوب ہے، اور نقشے میں کوئی دستی جگہ نہیں ہے۔
نشر سے پہلے معیار کا دروازہ
چونکہ ہر دفعہ تمام شجروں کو چھوتی ہے، اس لیے ہم نے خودکار نگہبان مقرر کیے ہیں: سلامتی کے قواعد کا ایک مجموعہ جو کسی بھی درآمد سے پہلے جانچا جاتا ہے (محرم سے شادی نہیں، ہم جنس شادی نہیں، نسب میں حلقے نہیں، بغیر والدین کے بچہ نہیں، حوالہ جات کی تکمیل)، پس اگر ڈیٹا اِن میں سے کسی کی خلاف ورزی کرے تو نشر مسترد کر دی جاتی ہے۔ اس کے ساتھ درجنوں آزمائشیں (ٹیسٹ) بھی شامل ہیں جو یہ تصدیق کرتی ہیں کہ نقشہ ایک اشاعت سے دوسری اشاعت کے درمیان ایک پکسل بھی نہیں سرکتا۔
یہی ضبط ہمیں بغیر خوف کے تیز رفتار ترقی کی اجازت دیتا ہے: ہم ڈیزائن کو مسلسل بہتر بناتے ہیں، اور ہمیں اعتماد ہے کہ نگہبان کسی بھی خطا کو آپ کے شجرے تک پہنچنے سے روک دیں گے۔
استعمال کا تجربہ
- کسی بھی فرد کی فوری تلاش (نام کے ساتھ باپ کے نام اور نسل کے ذریعے)، اور سیاق و سباق کھوئے بغیر اُس کی طرف منتقل ہو کر اُسے اُس کی جگہ پر نمایاں کرنا۔
- ہر فرد کے لیے ایک صفحہ: نام، لقب، تاریخیں، قبیلہ، مختصر تعارف، اولاد، ازواج اور والدین۔
- عربی دائیں سے بائیں، اور انگریزی بائیں سے دائیں، زبان کی فوری تبدیلی کے ساتھ۔
- افراد کی تصاویر، خاندانی شجروں میں خود بخود اخذ ہونے والی کنیتیں، اور موبائل پر مؤثر کارکردگی۔
نیا ڈیزائن محض انٹرفیس کی آرائش نہیں، بلکہ اس بات پر نئے سرے سے غور ہے کہ خاندان کو ڈیجیٹل طور پر کیسے پیش کیا جائے: حقیقت کے ساتھ امانت داری کے ساتھ، تمام شجروں میں ہم آہنگی کے ساتھ، اور اس یقین کے ساتھ کہ ڈیٹا اپنے مالکوں کی ملکیت میں ہی رہے۔
