RA.
كل المشاريع
2026مباشر

KADI HSE Consultancy

Client work · Design & Engineering

موقع ثنائي اللغة لشركة كادي للاستشارات في الصحة والسلامة والبيئة بمسقط. يصل إليه المشتري من قائمة مناقصة أو من رابط في واتساب، ولا يملك سوى عشر ثوانٍ ليقرّر، فلا يبقى في الصفحة قسم لا يخدم ذلك القرار. عمل لعميل، منشور وما زال يتطوّر.

أداء لايتهاوس على سطح المكتب، إنجليزي / عربي
100 / 99أداء لايتهاوس على سطح المكتب، إنجليزي / عربي
إزاحة التخطيط في كل قياس
0إزاحة التخطيط في كل قياس
اختبارات الوحدة
141اختبارات الوحدة
فحوص التباين
75فحوص التباين
اللغتان
2اللغتان
مدة البناء الأولى
15 daysمدة البناء الأولى
  1. 01 / 07

    عشر ثوانٍ

    الموجز هو ما حدّد التصميم كله. يصل المشتري من منشور في لينكدإن أو رابط في واتساب أو قائمة مناقصة، وعليه خلال عشر ثوانٍ تقريبًا أن يثق بالشركة، ويفهم ما تقدّمه، ويصبح على بُعد نقرة واحدة من مؤسّسها. كل ما في الصفحة يخدم واحدًا من هذه الثلاثة، وما لا يخدم أيًّا منها لا مكان له.

    وهذه القاعدة تفسّر ما غاب أكثر مما تفسّر ما حضر. لا نظام محتوى، ولا مدوّنة، ولا شريط شهادات عملاء. وتفسّر كذلك أيّ قارئ تخدمه الهندسة. فمن بين القرّاء الثلاثة الذين يتوقّعهم الموقع، واحد صاحب منشأة أمامه تفتيش، يقرأ بالعربية على هاتفه وباتصال ضعيف. وهذا القارئ هو سبب الجهد الذي بُذل في الجانب العربي.

  2. 02 / 07

    الخط لم يكن يُحمَّل أصلًا

    كانت قائمة الخطوط تبدأ بالخط اللاتيني في اللغتين معًا، استنادًا إلى فكرة تبدو سليمة: أن المتصفح يختار الخط البديل حرفًا بحرف. وهو يفعل ذلك بالفعل. لكن المشكلة في الخط الذي يمرّ عليه أولًا.

    فالخط الاحتياطي المضبوط على المقاسات مبني على Arial، وArial يحمل عربية كاملة. فوجد كل حرف عربي مأواه قبل أن تصل القائمة إلى خط ثمانية أصلًا، ولم يُطلب الخط المرخّص الذي يدفع العميل ثمنه ولو مرة واحدة. كان الموقع العربي يُنشر بخط Arial وهو يبدو صحيحًا تقريبًا، وهذا أسوأ أنواع الأخطاء: لا شيء مكسور على الشاشة، والشيء الذي اشتريته غائب ببساطة.

    صارت القائمة العربية تبدأ بخط ثمانية، ومحصورة في المستند العربي، حتى لا يجرّ الحرف العربي الوحيد في زرّ تبديل اللغة الخطَّ كله إلى الصفحة الإنجليزية. وكل ما يجب أن يبقى بالصوت اللاتيني موسوم في الشيفرة بأنه إنجليزي.

  3. 03 / 07

    فحص التباين نقض ما أقرّته المراجعة

    كان فحص الألوان يجري بالعين وبجدول الرموز، وهكذا نُشر إطار حقل في الوضع الداكن بنسبة 2.90 إلى 1، وحدّ في التذييل بنسبة 2.60. وكشف الفحص الاثنين معًا. بل حسم ما هو أكبر: الأخضر في هوية العميل نسبته 2.85 إلى 1 على الأبيض، ولا يصلح لحمل نصّ مهما قال دليل الهوية.

    فانقسمت لوحة الألوان إلى اثنتين: أخضر يرسم الأشكال، وأغمق منه بنسبة 5.33 إلى 1 يحمل الكلمات، واللوح الأخضر الوحيد في الموقع يضع نصّه بالكحلي الغامق، لأن الأبيض على ذلك الأخضر هو النسبة 2.85 نفسها التي يقع فيها كل من يفكّر تلقائيًا في «لوح أخضر ونصّ أبيض».

    ثم كشف الفحص عيبًا في نفسه. كان يفحص أزواج الرموز كما هي، وهذا ليس ما يراه القارئ، فتسلّل خلل عبر ملاحظة بشفافية 65% فوق زرّ أبيض. صارت الأزواج الآن تُحسب بعد دمج الشفافية وتُفحص باللون كما يُعرض فعلًا، ويقرأ الملف الرموز من ملف الأنماط نفسه، فتغيير أي لون يحرّك الفحص معه.

    فحوص التباين
    75
    أخضر الهوية على الأبيض
    2.85:1
  4. 04 / 07

    تأخير ثابت أخفى أربعة إخفاقات

    ظلّت أربعة اختبارات للوصولية تفشل وتنجح بالتناوب على الآيباد والهاتف أسابيع، ومرّتين أتلف البحث دليله بنفسه، لأن منصّة الاختبار تمسح مجلد النتائج مع بداية كل تشغيل. وحين نجت الملفات أخيرًا على جهاز تكامل حقيقي، كانت الرسالة أن عناصر الظهور لم تبلغ كامل وضوحها، وذلك في كل عنصر أسفل الشاشة الأولى.

    كان الفحص يتنقّل في الصفحة بخطوات مقدارها 80% من ارتفاع الشاشة، وينتظر 120 جزءًا من الألف من الثانية بين خطوة وأخرى. وتحت الضغط تقلّ هذه المدة عن زمن إطار واحد معروض. فقد يدخل العنصر الشاشة ويخرج منها بين فحصين متتاليين، ولأن الظهور يحدث مرة واحدة فقط، يبقى مخفيًا إلى الأبد. ولم يكن يفشل إلا على أبطأ محرّك وأكثر الأجهزة انشغالًا، ولهذا بدا تذبذبًا لا خللًا.

    صار التنقّل ينتظر العرض لا الزمن: إطاران متتاليان، ثم مهمة بلا تأخير، ثم خطوات بنصف ارتفاع الشاشة، وما بقي مخفيًا يُنتقل إليه وحده. ويحتفظ السجلّ بالإصلاح الأول أيضًا، وكان خاطئًا: فقد فحص نوعًا واحدًا من العناصر وترك ست حركات مكتوبة بـ CSS دون تغطية.

  5. 05 / 07

    بوابة كانت تقيس الجهاز لا الموقع

    ظلّت فحوص لايتهاوس للهاتف تفشل في التكامل المستمر. وعلى شيفرة لا تختلف إلا في ملف اختبار، سجّل زمن الحجب الكلي 250 جزءًا من الألف من الثانية، ثم 318، ثم 362، ثم 845 في تشغيلات متتالية. والصفحة نفسها على جهاز خامل تسجّل بين 10 و30. فجهاز التشغيل حاسوب بنواتين يتشاركه غيرنا، ويستضيف في الوقت نفسه الخادم الذي يجري قياسه، وتذبذبت قراءاته نحو ثلاثة أضعاف بين تشغيلين متتاليين لشيفرة واحدة.

    فنُقلت الإشارة ولم تُلغَ. صارت الفحوص الثلاثة المرتبطة بالمعالج على الهاتف تنبيهات، لكنها ما زالت تُقاس وتُسجَّل. وبقيت فحوص سطح المكتب بوابة صارمة. وبقيت كذلك الفحوص البنيوية على الهاتف، ومنها إزاحة التخطيط، لأن أيًّا منها لا يتأثر بعدد أنوية الجهاز. فالبوابة التي لا تفرّق بين شيفرة صارت أبطأ وجهاز صار أكثر انشغالًا أسوأ من غياب البوابة.

  6. 06 / 07

    عربية تُكتب ولا تُترجم

    الإنجليزية نصّ الشركة من ملفها التعريفي. والعربية مكتوبة بلسان عربي فصيح، ولهذا يقرأ الجانبان كنصّين أصليين لا كوثيقة وترجمتها. وقد أقرّ العميل، وهو عربي، النصّ العربي سطرًا سطرًا، وأرسل ثلاث جولات من التصحيحات، إحداها عن علامات الترقيم. ولم يخضع النصّ لمراجعة تحريرية منفصلة.

    وكان لا بدّ من ثلاثة تصحيحات خارج طبقة الأدوات لتتقدّم عليها. تباعد الحروف مضبوط على صفر، لأن الحروف العربية تتصل، والتباعد يفكّ وصلها فتتحوّل إلى أشكال متناثرة. وتحويل الحروف إلى كبيرة مُعطَّل، لأن العربية لا تعرف حالة الحرف. وفُتح تباعد الأسطر مع تخفيض حجم العناوين درجة واحدة، لأن تباعدًا ضيقًا يبدو واثقًا في الخط اللاتيني يجعل الأسطر العربية تتلامس.

    والكلفة مذكورة لا مخفيّة. تسجّل الصفحة العربية على الهاتف بين 87 و88 مقابل 92 إلى 94 للإنجليزية، والفارق هو الخط المرخّص في طريق أول ظهور. وقيست ثلاثة بدائل فكان كل منها أسوأ: تحميله للّغتين معًا يحمّل القارئ الإنجليزي كلفة بلا مقابل، وتركه دون تحميل مسبق سجّل أربع ثوانٍ، والسماح للمتصفح بتجاوزه يعرض أول زيارة لقارئ عربي بخط النظام، وهذا فشل للهوية لا للمقياس.

  7. 07 / 07

    ثمانية وثلاثون بكسلًا من الحركة

    أدّى تعديل من العميل إلى إطالة العنوان العربي، فصار يلتفّ في الخط الاحتياطي على نحو يختلف عن الخط الحقيقي. وعند التبديل تحرّكت الصفحة ثمانية وثلاثين بكسلًا، بإزاحة مقدارها 0.0136، في موقع كل دعواه أنه لا يتحرّك. وعند عرض 390 بكسلًا بالضبط التفّت الأزرار أيضًا، لأن الخط هو من كان يقرّر موضع كسر السطر.

    كان الحل خطًّا احتياطيًا مقيسًا على الخط الحقيقي، وزنًا بوزن، حتى يشغل الاثنان المساحة نفسها قبل التبديل وبعده، مع نقل نقطة كسر الأزرار بعيدًا عن العرض الذي كان الخط يقرّر عنده. فلم تعد هناك أي حركة في ست عشرة تركيبة من العروض واللغات، اختُبرت مرةً والخطوط محجوبة ومرةً وهي محمّلة.

    الإزاحة قبل
    0.0136
    الإزاحة بعد
    0