طراحی نوین نمایش نسبها: مدل «گرهِ ازدواج» و شجرهٔ آزمایشی آل عبدالله
چرا موتوری تازه برای نمایش نسبها؟
خانوادههای واقعی شجرههای ساده نیستند. در آنها تعدد زوجات، طلاق و بیوگی و ازدواج مجدد، و ازدواج خویشاوندان که یک فرد را به بیش از یک شاخه پیوند میزند، و مادرانی که گاه نامشان دانسته نیست، وجود دارد. موتورهای سنتی «یک همسر و یک خط» را فرض میگیرند و از این رو بخشی از حقیقت را پنهان میکنند یا افراد را تکرار میکنند یا شکل را میشکنند. ما روش نمایش را از صفر بازسازی کردیم تا خانواده را چنانکه هست بازنماید، نه چنانکه قالبی سادهشده تحمیل میکند.
شجرهٔ آزمایشی «آل عبدالله» در پلتفرم، رابطِ نمایشِ امنی برای این موتور است: شخصیتهایی غیرواقعی که ویژه طراحی شدهاند تا حالتهای دشوار (تعدد زوجات، طلاق، بیوگی، امتداد نسب زن به خانوادهاش) را نمایش دهند، بیآنکه به حریم خصوصی هیچ خانوادهٔ واقعی آسیبی برسد.
مدل «گرهِ ازدواج»
جوهرِ این طراحی آن است که خودِ ازدواج گرهی در نمودار است: دایرهای کوچک که زوجین را به هم پیوند میدهد و فرزندان از آن منشعب میشوند. این با «شانهٔ» سنتیِ همسران که زنان را کنار مرد ردیف میکند و فرزندان را بیتمایز مادرانشان زیر او میآویزد، تفاوت دارد. با گرهِ ازدواج روشن میشود: چه کسی با چه کسی ازدواج کرده، فرزندان هر ازدواج چه کسانیاند، و وضعیت هر پیوند چیست.
وضعیت هر پیوند بهطور بصری رمزگذاری شده است: خطی متصل به دایرهٔ آبی برای ازدواجی برقرار، دایرهای توخالی برای طلاق، دایرهای خاکستری با حلقهای نقطهچین برای پیوندی که با مرگ پایان یافته، و رنگی کهربایی برای پیوندِ ملک یمین. بدینسان بازدیدکننده ساختار خانواده را تنها از روی شکلها میخواند و «راهنمای پیوندها» را ثابت در گوشهٔ صفحه مییابد.
چگونه با حالتهای دشوار برخورد میکنیم
- تعدد زوجات و ازدواج مجدد: هر ازدواج گره و دایره و فرزندان خود را دارد، و ازدواجهای پیشین زن بهصورت بلوکی مستقل و درهمتنیده نمایش داده میشوند، هر چند لایههایشان بسیار باشد.
- ازدواج خویشاوندان و تلاقی نسب: هنگامی که فرد به بیش از یک شاخه پیوند میخورد، یک بار بهطور کامل رسم میشود (در جایگاه اصلی خود)، و در جایگاههای دیگر با نشانهای مختصر ظاهر میشود که به «جدّ مشترک» اشاره دارد؛ همانجا که دو طرف به هم میرسند، بیتکرار و بیکاستی.
- تا کردن و باز کردن: شاخههای جانبی پشتِ دکمهٔ «N+» تا میشوند تا صحنه پاکیزه بماند، و به هنگام درخواست باز میشوند. همان شمارنده تعداد افراد نمایان را از کلِّ شجره نشان میدهد.
- مادران بینام: اگر منبع نام مادر را حفظ نکرده باشد، نه نامی میسازیم و نه کارتی ساختگی میگذاریم؛ بلکه تصریح میکنیم که نام حفظ نشده است (در شجرههای پژوهشی) یا خانهای روشن برای افزودن آن میگذاریم (در شجرههای خانوادگی).
یک موتور واحد برای همهٔ شجرهها
همین روش، همهٔ شجرههای پلتفرم را میگرداند: شجرهٔ خصوصی خانواده، شجرهٔ آزمایشی، و شجرهٔ پژوهشیِ نسب پیامبر ﵌. هیچ کدِ ویژهٔ شجرهٔ خاصی وجود ندارد. این بدان معناست که هر بهبود در طراحی یا تصحیح در رفتار، یکباره بر همهٔ شجرهها و همهٔ کاربران بازتاب مییابد؛ یکپارچگی در ساختار تضمین شده است، نه با تلاش دستی.
از نظر مهندسی، دادهها در مسیری واحد و سختگیرانه پیش میروند: دادههای تخت (یک فرد در هر سطر، و ساختار از پیوندهای پدر و مادر) ← تبدیلی ریاضی و ناب که صحنه را میسازد ← نمایشی بدون هیچ منطقی برای دادهها. هر مختصات محاسبه شده است، و هیچ جایگاه دستیای در نمودار وجود ندارد.
دروازهٔ کیفیت پیش از انتشار
از آنجا که هر دستهای همهٔ شجرهها را لمس میکند، نگهبانانی خودکار گماردهایم: مجموعهای از قواعد ایمنی که پیش از هر واردسازی بررسی میشوند (ازدواج با محرم ممنوع، ازدواج همجنس ممنوع، حلقهای در نسب ممنوع، فرزند بیوالدین ممنوع، تمامیتِ ارجاعها)؛ و اگر دادهها یکی از آنها را نقض کنند، انتشار رد میشود. به اینها دهها آزمون افزوده میشود که وارسی میکنند نمودار میان یک نسخه و نسخهٔ دیگر حتی به اندازهٔ یک پیکسل جابهجا نشود.
همین انضباط است که به ما اجازه میدهد بیهراس و شتابان توسعه دهیم: طراحی را پیوسته بهبود میبخشیم و اطمینان داریم که نگهبانان از رسیدن هر خطایی به شجرهٔ شما جلوگیری میکنند.
تجربهٔ کاربری
- جستوجوی آنیِ هر فرد (با نام همراه نام پدر و نسل)، و پرش به سوی او و برجستهسازیاش در جای خود، بیآنکه بافت از دست برود.
- صفحهای برای هر فرد: نام، لقب، تاریخها، قبیله، شرححال، فرزندان، همسران و والدین.
- عربی از راست به چپ، و انگلیسی از چپ به راست، با تعویض آنیِ زبان.
- تصاویرِ افراد، و کنیههایی که در شجرههای خانوادگی بهطور خودکار اشتقاق مییابند، و کارکردی کارآمد بر روی موبایل.
طراحی نوین آرایشِ ظاهریِ رابط نیست، بلکه بازاندیشی در چگونگی بازنماییِ دیجیتالِ خانواده است: با وفاداری به حقیقت، یکپارچگی در سراسر همهٔ شجرهها، و ماندگاریِ دادهها در تملک صاحبانشان.
