Hello our valued visitor, We present you the best web solutions and high quality graphic designs with a lot of features. just login to your account and enjoy ...
Hello our valued visitor, We present you the best web solutions and high quality graphic designs with a lot of features. just login to your account and enjoy ...
رقم الخبر | عنوان الخبر | التفاصيل |
---|---|---|
56,097 | ألمانيا تعيد قياس مساحتها بدقة أعلى .. ما الأسباب؟ | من جبال الجنوب إلى بحر الشمال، تسعى ألمانيا إلى إعادة قياس مساحتها بدقة شديدة جدا. هذه البيانات ستساعد الباحثين في عدة مجالات، كالسيارات ذاتية القيادة وكذلك محاربة التغيرات المناخية. فكيف ستسير العملية؟ |
56,075 | الكتابة لتجربة المستخدم UX Writing أساس التهيئة الفعالة Onboarding |
تُعَد الكتابة لتجربة المستخدم UX Writing موضوعًا مهمًا وما يزال جديدًا حاليًا. وقد بدأت أعداد متزايدة من الشركات تقدّر قيمتها في تحسين كل من حركة مرور الموقع (كمية البيانات التي أرسلها أو استقبلها المستخدمون)، واستخدامه، والتحويلات (تحويل زوّار الموقع إلى مستخدمين دائمين). سنتعرف في هذا المقال على أهم النصائح والإرشادات التي يحتاجها أي مصمم للوصول إلى الكتابة الجيدة لتجربة المستخدِم، وكيفية تحقيق التهيئة الفعالة وسهلة الاستخدام. يشير المصطلح أساسًا إلى كل الكلمات التي ستصادف المستخدم أثناء تصفحه لموقع معين، وتشرح الكتابة الفعالة لتجربة المستخدم آلية عمل الخدمة أو المنتج (الموقع أو التطبيق) وتوجّه المستخدم، وتملك أهميةً خاصةً في مجال التهيئة له Onboarding. أشارت بيانات من تطبيق Localytics إلى أن عدد الذين يستمرون باستخدام تطبيق بعد تثبيته للمرة الأولى بثلاث أشهر، بالكاد يتجاوز ثلث العدد الكلي، كما أكدت بأن أحد أهم الأسباب لهذا التخلي الكبير عن التطبيق يكمن في الكتابة غير الفعالة لتجربة المستخدم. نصائح عامة ومهمة في الكتابة لتجربة المستخدمقبل التعمّق ببعض طرق الكتابة لتجربة المستخدم والتي ستحسّن من عملية التهيئة، إليك نصيحتين عامّتين عليك أخذهما بالحسبان مهما كان العنصر الذي تركز عليه في منتجك. الحفاظ على هوية ثابتة للعلامة التجاريةبالكتابة لتجربة المستخدم فإن البساطة والثبات أمران في غاية الأهمية، وكلما كانت التوجيهات والدعوات لاتخاذ إجراء Call To Actions أبسط، زاد احتمال استجابة المستخدم لها. ومن الأمور البديهية إلا أنها مهمة ما يأتي ذكره:
يجب أن تبدأ الكتابة لتجربة المستخدم دومًا بفهم عميق للفئة المستهدفة. أثناء بحثك في سوق وقطاعات العمل، فمن المرجح أن ترسم تصورًا لشخصيات الجمهور والتي تكوّن كل السمات العامة والسكانية للفئة المستهدفة. إن كان لجمهورك نمطان مختلفتان أو أكثر، ففكّر بإنشاء نوافذ مستقلة لكل نمط، مع مراعاة الاختلاف قليلًا في الأسلوب والدعوة لاتخاذ الإجراءات بما يوافق كل نمط. من المفيد أن تفكّر مثل مستخدم لفهمه أثناء مُضيِّهِ في العملية، بل أن تتقدم خطوةً أخرى وتعرف شعوره بكل مرحلة من مراحلها، ثم تعدّل من لغتك وفقًا لذلك. فإذا كان حدوث شيء خلال العملية قد يسبب الإرباك للمستخدم، فعليك جعل اللغة مطمئنة وداعمة له. عناصر عملية التهيئة الفعالةللتأكد من وصول رسائلك للمستخدم بوضوح وسلاسة، فمن الضروري أن تكون الواجهة بسيطةً وسهلة الاستخدام. وتُعَد العناصر الأربعة الآتية ضروريةً لهذه العملية: تعليمات بسيطة خطوة بخطوةالمفتاح هو توجيه المستخدمين بتعليمات بسيطة خطوةً بخطوة خلال عملية التهيئة، فعند كتابتها يمكنك البدء بالأسئلة الآتية:
هذا مفيد خصوصًا في عمليات التهيئة في التطبيقات المصرفية وتطبيقات التعاملات المالية، حيث يُشارك المستخدم معلومات حساسة، مثل إنشاء حساب بنكي، وفي هذه الحالات من المهم بناء الثقة لدى المستخدمين وذلك بشرح سبب طلبك لهذه المعلومات، والتأكيد لهم بأن المعلومات الشخصية تُخزّن بأمان، مما يحسّن تجربة العميل. الحل الفعال للمشاكللا ينفي اختبار المنتج أو الميزة التي ستطلقها مرارًا أن بعض الأخطاء قد تحدث، بحيث قد تكون مربكةً للمستخدِم، كما قد تؤدي للتخلّي عن المنتج. يمكن أن تنجم هذه الأخطاء عن نظام التشغيل أو المستخدم ذاته، وكلاهما يحتاج الإصلاح بأسرع وقت وأقل الخسائر. بدايةً، من المهم شرح ما يحدث بالضبط وما سبب الخطأ، ثم حل المشكلة بسرعة وكفاءة. فعلى سبيل المثال، إن كان الخطأ أن نظامك غير قادر على تمييز رمز الـ ID الذي أُدخل بصورة خاطئة من قِبل المستخدم، اطلب منه أن يعيد إدخاله مجدّدًا مع التأكد بأن يكتبه في الإطار المطلوب، وأن الجزء المطلوب من المستند مرئي. وضوح الدعوات لاتخاذ إجراء CTAsتُعَد الدعوات لاتخاذ إجراء مهمةً لأصحاب المنتجات، فإذا أُنجزت تجربة المستخدم بكفاءة، فسيصل إلى الخطوة الأخيرة، ولكن كيف تضمن ضغط المستخدم للزر الأخير؟ بالتأكّد من فهمه وثقته بنتيجة الضغط على هذا الزر. وللتخلص من أي التباس، فمن الجيد أن نعمل على تلخيص ما مرّ به المستخدِم إلى حين وصوله لهذه النقطة. مثال: شكرًا لإدخال رمز الـ ID الخاص بك، بإمكانك الآن استئجار دراجة، للبدء اضغط الزر بالأسفل. كيف تكون عملية التهيئة سهلة الاستخدام؟في ما يلي مثال لعملية تهيئة في التعاملات المالية، حيث تتضمن إدخال المستخدم لبياناته، والتقاط صورة لبطاقته الشخصية. المقدمةوهي رسالة بسيطة واضحة، تشرح للمستخدم ماذا عليه أن يفعل بالضبط. البيانات الشخصيةاطلب المعلومات المطلوبة فقط حتى تجعل العملية أسرع. التوثيق بتسجيل فيديوأعطِ توجيهات واضحة أثناء تسجيل المستخدم للفيديو، حول ما عليه فعله أو تجنبه. نجاح التسجيلأضف عبارة شكر عند اكتمال خطوة صحيحة من العملية، أمّا عند وجود خلل فعليك شرح الأسباب المحتملة واقتراح نصائح لتصويبها. توثيق الهوية الشخصيةيشمل ذلك التقاط صور للوجهين الأمامي والخلفي من البطاقة الشخصية، ومن الجيد استخدام الشرح المرئي لتوجيه المستخدم. التأكد من الهوية عبر قواعد البيانات المختلفةريثما تنتهي عملية التأكد من هوية المستخدم عبر كل قواعد البيانات ذات الصلة، أرِه التقدم بهذه العملية وحاول جعل مدة هذه الخطوة أقل ما يمكن. النجاحعند وصول المستخدم لنهاية العملية فإنه سيشعر بالرضى حين يجد نفسه قد أكمل كل الخطوات بطريقة صحيحة، لهذا عليك أن تحرص على التأكد من إخباره ذلك. ختامامن خلال ما تحدثنا عنه بهذا المقال، حول تحقيق الكتابة المميزة لتجربة المستخدم، تتضح لنا أهمية ودور الكتابة لتجربة المستخدم في ضمان عملية تهيئة سهلة وفعالة، وهو ما يعزز أكثر من عملية بناء الثقة، ويفعّل المشاركة مع المستخدمين، كما يقلل من تخليهم عن المنتج. ومثل أي عملية إلكترونية أخرى، يُعَد الاختبار أمرًا أساسيًا، إذ لديك الكثير لتتعلمه من تفاعل المستخدمين مع منتجك. ترجمة وبتصرّف للمقال UX Writing is the Key to Effective Onboarding لصاحبته Ewa Jozefkowicz. |
55,998 | هذا ما قالته الشركة المسؤولة عن انقطاع خدمة الإنترنت في العالم |
كشفت شركة فاستلي، التي تقف وراء انقطاع خدمة الإنترنت على مستوى العالم هذا الأسبوع، أن ذلك كان نتيجة خلل في برمجياتها حدث عندما غيّر أحد عملائها إعداداته. وأثار العطل، الذي حدث أمس الثلاثاء، تساؤلات حول اعتماد خدمة الإنترنت على عدد قليل من شركات البنية التحتية. وتسببت مشكلة فاستلي في تعطل مواقع ذات معدلات زيارة عالية منها مواقع إخبارية مثل الغارديان ونيويورك تايمز، ومواقع للحكومة البريطانية وريديت وأمازون. وقالت الشركة في تدوينة كتبها نيك روكويل، كبير مسؤولي الهندسة والبنية التحتية بالشركة: "كان هذا الانقطاع واسع النطاق وشديدا، ونأسف حقا لتأثيره على عملائنا وكل من يعتمد عليهم". وأضاف أنه كان يتعين توقع حدوث المشكلة. وتشغل فاستلي مجموعة من الخوادم الموزعة في مواقع استراتيجية حول العالم لمساعدة العملاء على نقل المحتوى وتخزينه بالقرب من المستخدمين النهائيين بسرعة وأمان. وأعطت تدوينة الشركة تسلسلا زمنيا للأحداث، ووعدت بفحص وشرح سبب الإخفاق في رصد الخلل في البرمجيات. والثلاثاء، تعطل أيضا عمل الموقع الإلكتروني للحكومة البريطانية وتعذر الدخول إليه. وظهرت رسائل تشير إلى عطل على الموقع الرسمي للحكومة وذكرت وكالة أسوشييتد برس أن مشكلة فنية لدى شركة فاستلي الأميركية لخدمات الحوسبة السحابية تسببت في عطل مواقع الإنترنت حول العالم. وأقرت فاستلي، ومقرها سان فرانسيسكو، بوجود مشكلة قبل الساعة العاشرة بتوقيت غرينتش. وقالت في تحديثات متكررة على موقعها على الإنترنت إنها "تواصل التحقيق في الأزمة". وتلقى الزوار الذين يحاولون الوصول إلى "سي إن إن" الأميركية رسالة مفادها "خطأ تصفح في فاستلي". وقالت شركة (داون ديتيكتور)، التي تتعقب انقطاع الإنترنت، "التقارير تشير إلى انقطاع واسع النطاق لدى فاستلي، ما قد يؤثر على خدماتها". وكشفت فاستلي أن معظم مناطق تغطيتها واجهت "تدهورا في الأداء" في وقت سابق. |
55,997 | كيف ترى قصص سناب شات دون متابعة الشخص أو إضافته |
يمتلك تطبيق "سناب شات" قاعدة كبيرة من المستخدمين الذين يعملون على تصوير ونشر الملايين من القصص يومياً. ولا يستطيع الشخص إضافة جميع مستخدمي "سناب شات" على قائمة متابعته، ولذلك فإن المنصة تقدم مجموعة من الطرق التي تسمح لك بمشاهدة القصص ومحتوى المستخدمين الذين لم تقم بإضافتهم. وأهمية هذه الخاصية تكمن في اكتشاف المحتوى الجديد، حيث يمكنك أن تحصل على المعلومات من خارج دائرة معارفك. ولكن لا تستطيع مشاهدة قصص "سناب شات" التي ينشرها مستخدمين لم تقم بإضافتهم إلا إذا كانت قصصاً "عامة" (أي متاحة للجميع)، ويعني هذا أنك لا تستطيع مشاهدة القصص الخاصة إلا إذا حصلت على الصلاحيات لذلك من قبل ناشريها. وتوجد بعض التطبيقات والمواقع التي تدعي القدرة على تخطي إعدادات الخصوصية في "سناب شات"، ولكن هذه الطرق ليست رسمية. واستخدام هذه الطرق يعني أنك تعرض بيانات حسابك وقصصك لخطر السرقة، وقد يتم حظر حسابك بشكل نهائي على "سناب شات". "الاكتشاف" في "سناب شات"يمكنك الوصول إلى قصص المستخدمين الآخرين والأمور المنتشرة عبر "سناب شات" من خلال خاصية "الاكتشاف" Discover . وهي طريقة لعرض القصص الرائجة ومعرفة "التريند" الموجود على المنصة. ويمكنك اتباع الخطوات التالية حتى تصل إليها: -بعد أن تفتح تطبيق "سناب شات" قم بتحريك الشاشة إلى جهة اليسار حتى تصل إلى قائمة "الاكتشاف". -بعد ذلك قم بتحريك الشاشة إلى الأعلى حتى تصل إلى المزيد من القصص على المنصة. -ستجد هنا جميع القصص المشهورة والجديدة من الشركات المختلفة وصانعي المحتوى المختلفين الموجودين على المنصة. -عندما تصل إلى قصة تعجبك وترغب في عرضها قم بالضغط على الصورة لتبدأ بعرضها، ومن خلال هذه النافذة تستطيع مشاركة القصة أو كتابة تعليق عليها ونشرها أيضاً. -لتعود إلى قائمة Discover قم بسحب الشاشة للأسفل، أما لتكتشف المزيد من القصص فعليك سحب الشاشة إلى جهة اليمين أو اليسار كما ترغب. القصص المباشرةتعتبر هذه الخاصية أحد طرق المنصة في تخصيص المحتوى وجعله أقرب لك، حيث تستطيع عبرها مشاهدة قصص نُشرت في المنطقة المحيطة بك، ويشمل هذا الأحداث المختلفة والقصص من صانعي المحتوى المحيطين بك وغيرها من الأمور. وحتى تتمكن من الوصول إليها عليك إتباع الخطوات التالية: -عندما تقوم بفتح التطبيق قم بتحريك الشاشة إلى جهة اليسار، بعد ذلك تحتاج إلى تحريك الشاشة للأعلى حتى تنتهي من قصص جميع أصدقائك. -ستجد القصص المباشرة أسفل قصص أصدقائك. وتضع المنصة علامة "مباشر" فوق القصة التي تحدث مباشرةً. -بعد ذلك تستطيع الضغط على القصة حتى تقوم بعرضها، ويمكنك التحكم في القصص هنا مثل باقي التطبيق. |
55,996 | كيف تسترجع صورا محذوفة في نظام ماك للحاسب الشخصي |
يعتبر المصورين هم أكثر الفئات التي تتضرر من فقدان الصور، ولذلك فإنهم يحتاجون إلى طرق فعالة تساعدهم على استرجاع الصور المحذوفة. ويتجه معظم المصورين إلى امتلاك أجهزة حواسب تعمل بنظام ماك، وهذا لأن النظام يوفر لهم تسهيلات كثيرة. وتمتلك شاشة العرض الخاصة بأجهزة آبل دقة ألوان مميزة، وذلك بالإضافة لكون نظام ماك يوفر مجموعة من التطبيقات التي يحتاجها المصورين بكثرة. ويمكنك استرجاع الصور المفقودة عبر نظام ماك بأكثر من طريقة تعتمد على النظام نفسه، وذلك قبل تحميل أي تطبيق خارجي لاستعادة الصور. ولذلك إليكم أفضل طرق استعادة الصور في نظام ماك. باستخدام تطبيق الصور الرسمي من آبل:تستطيع استرجاع الصور مباشرةً من تطبيق الصور الخاص بآبل، وهو التطبيق الرسمي لعرض الصور والتعامل معها على أنظمة ماك. وعندما تقوم بحذف الصور من تطبيق Finder، فإن هذه الصور تتجه تلقائياً إلى سلة المهملات. ويقوم نظام ماك بأخذ نسخ احتياطية للنظام بشكل دوري دون تدخل منك، وذلك عبر تطبيق Time Machine المميز. ويمكنك تثبيت تطبيق استرجاع الصور المحذوفة، ويوجد الكثير من التطبيقات الجيدة ويعتمد الأمر هنا على تفضيلك الشخصي. |
55,945 | منافسة البيدق والملك في تصميم واجهة المستخدم UI Design |
حين تطور مهاراتك في تصميم واجهة المستخدم UI Design، تذكر أن تُلقي نظرةً على لعبة الشطرنج. قد يبدو الأمر مربكًا وأنه لا صلة بين المجالين، لكن في الواقع بإمكانك أخذ أحد مفاهيم الشطرنج لبناء استراتيجيات في تصميم واجهة المستخدم، وتكون البداية مع القلاع والبيادق. إرجع بذاكرتك إلى أول مرة لعبت فيها الشطرنج (إن لم تكن قد لعبت سابقًا، فحاول المجاراة قليلًا، وبإمكانك فهم المقال بالحالتين)، غالبًا ستكون تجربتك بأن صديقًا رتب الرقعة ثثل الصورة. ثم بدأ الشرح عن كل القطع، هذا بيدق ويتحرك هكذا، وتلك قلعة وتتحرك هكذا؛ أما الحصان فيتحرك إما بهذا الشكل أو ذاك. وبينما تحاول التركيز، يتحرك الفيل قطريًّا ويمكن للملك التحرك هكذا فقط. وهنا أفضل قطعة لديك هي الوزير، حيث إن حركته مزيج من حركة القلعة والفيل، هل نبدأ باللعب؟ تلك هي الطريقة الأكثر شيوعًا في شرح الشطرنج، وهي كافية لجعلك تكره ألعاب الرقع إلى الأبد، فأنت تريد اللعب لا سماع محاضرة اعتباطية عن اللعبة. يتفق مع ذلك أحد لاعبي الشطرنج، واسمه Josh Waitzkin، وهو محترف في الشطرنج، كما أنه بطل العالم في رياضة Tai Chi Push Hands الشعبية، ورياضة Jiu Jitsu البرازيلية. حيث كان أول من يحمل لقب البطولة للحزام الأسود بعد حصول Marcelo Garcia عليه لخمس مرات على التوالي. ويعمل حاليًّا على تدريب الخبراء الماليين ليرتقوا في مهنهم من كونهم ضمن أفضل 1% إلى النخبة التي تشكل 0.1% بنفس المجال. أي أنه يملك مهارة احتراف الأشياء. والغريب في الأمر أنه حين يدرّس Josh الشطرنج فإن الرقعة تبدو بهذا الشكل: ملك ضد ملك وبيدق قد تبدو ساذجةً موازنةً بالطريقة التقليدية سابقة الذكر. وإن كنت من ممارسي الشطرنج، فقد يدهشك أن يبدأ أحدهم تعليم اللعبة برقعة مثل هذه. ففي الممارسة العملية لن ترَ الرقعة بهذا الشكل، ومن المؤكد أن أحد اللاعبين يكون قد حسم اللعبة قبل وصولها إلى هذا الحد بزمن. يمكننا تشبيه رقعة كهذه بقتال الشوارع، حيث رغم كسر المتعاركَين عظامهما، وإصابة أكتافهما بخلوع، وتضيق مجال رؤيتهما بسبب الوذمات والتورم حول عيونهما، إلًا أنهما يستكملان العراك لنصف ساعة أخرى. تلك طريقة Josh في التفكير: حين تجرد اللعبة وتبسّطها إلى جوهرها، فإن كل ما تتعلمه هو مبدأ عام. قد يبدو المبدأ متعجرفًا إلا أنه منطقي. ففي رقعة لعب مرتبة بالكامل، قد تربك المبتدئ الكثير من المشتتات؛ بينما أي شيء يتعلمه اللاعب برقعة بسيطة مثل وضع الملك والبيدق هذا مهم وأساسي في الشطرنج عمومًا ومثال ذلك:
بدلاً من محاولة تصميم صفحة كاملة بما تحويه من عشرات العناصر (مثل عناصر التنقل، والنصوص، وضبط المدخلات، ووجود شعار وما إلى هناك) نبدأ بتصميم أبسط شيء ممكن، أي نتعمد حصر رقعتنا إلى عنصر واحد بسيط ثم نستنبط الدروس التي يمكن أن نتعلمها من تجربة كهذه. ما أبسط عنصر في هذه الحالة؟ ليكن تصميم زر. وهذا مثال لزر أساسي افتراضي استُخدم فيه خط Helvetica (وهو خط افتراضي) بحجم 16 بكسل (افتراضي جدًّا)، ووضع الخط عادي plain. على مستطيل مرسوم باللون الأزرق الافتراضي؛ بطول 40 بكسل، مع 20 بكسل مساحة إضافية بلا كتابة في كلا الطرفين. يحتاج تصميم هذا الزر اتخاذ العديد من القرارات، ولتوضيح المبدأ اعتمدنا القيم الافتراضية هنا للتهرب من اتخاذ تلك القرارات. نبدأ الآن تصميم الزر بتحديد خصائصه القابلة للتعديل، وهي:
هناك المزيد من الخصائص لكن لنبدأ بتلك. الكتابةتغيير الخط أمر سهل كبداية يمكنك رؤية تفاصيل الخط بتكبير الصورة. فقد غيرنا الخط من Helvetica إلى Moon المتوفر للاستخدام الشخصي على موقع Behance. وهو خط ناعم ومدور على عكس خط Helvetica الذي يوحي بأنه مربع أو على الأقل لا يوحي بنفس الدرجة من اللطف. لكن تبدو الزوايا الحادة للمستطيل الأزرق غير متناسقة مع الخط ذو الطابع المستدير. لذا فلنعطِ زوايا المستطيل بعض الاستدارة. هذه الاستدارة للزوايا بنصف قطر 3 بكسل. أليس غريبًا أن نُعدّل استدارة حواف المستطيل بسبب أشكال الحروف في الخط! من الخطأ الظّن المعمّم بأن الخطوط هي أعمال فنية يظهر جمالها كعنصر واحد، بل إن الخطوط هي بالأساس أشكال وللأشكال دلالات. المفهوم بسيط وليس معقدًا مثل دراسة علم الصواريخ، إذ يمكننا العمل مع خط شائع آخر، مثل خط DIN. يُعَد خط DIN بحوافه المربعة خطًا أنيقًا وعمليًا، ولاسيّما هذه النسخة منه واسمها DIN 2014 متوفرة في typekit بسعر مقبول.، وهو مثال لخط ذو شكل مربع لكن سهل القراءة، بحيث يحمل بعض الجمود دون تكلف وبأسلوب عملي، كما انه الخط الرسمي للحكومة الألمانية، وهو ملائم لذلك. فلنطبق فرضيتنا السابقة على خط DIN. كيف يبدو خط DIN مع الزوايا المدورة للمستطيل؟ للحكم على ذلك نوازنها مع الزوايا المربعة. تبدو الزوايا المربعة أفضل وأكثر تناسقًا. والآن ننتقي الأسهل بالقراءة بعد موازنة الأزرار باستخدام كلا الخطين. وبذلك يرجح خط Moon، بحيث توحي حروف DIN بأنها قريبة من بعضها عند الموازنة. نجرب زيادة المسافة بين حروف DIN. يبدو أفضل وزال الانضغاط بين حروفه. هذا قانون أساسي في الطباعة: (ينطبق على الحروف الانجليزية لأن كل حرف منها يملك شكلين إمًا كبير أو صغير)، عند كتابة نص بالحروف الكبيرة Uppercase، نزيد المسافة بين الحروف والسبب أن معظم الخطوط مصممة للكتابة وفق حالة الجملة Sentence case، حيث أنّ معظم حروف النص تكون صغيرة (تستثنى من هذه القاعدة الخطوط المصممة أساسًا للكتابة بحروف كبيرة)، وبالتالي الكتابة بالحروف الكبيرة ستوحي دومًا بالانضغاط بينها. يُعَد خط Moon أحد الاستثناءات، فهو يدعم الحروف الكبيرة فقط، وهو مصمم لتكون المسافة بينها ملائمة. تعلمنا حتى الآن أمرين يمكن تعميمهما من تصميم الأزرار إلى كل عناصر واجهة المستخدم الأخرى وهما:
قد يكون لون الزر الأزرق الافتراضي مزعجًا وكأنه يطلب من المصمم تغييره ليلائم الأسلوب المستخدَم في التصميم. فكيف يمكن للون أن يلائم الخط؟ المفهوم أوسع هنا، فبالنسبة للزر الذي صممناه باستخدام خط Moon، فنحن بحاجة لون ألطف، وإذا حاولنا وصف الأزرق الافتراضي المستخدَم، فسنجد أنه موثوق رغم افتقاره للإبداع والانسجام وكونه لا يوحي بالمخاطرة. كيف نضيف إليه بعض المرح؟ ككل مشاكل تعديل اللون، يساعدنا التفكير في نظام HSB للألوان الذي يرمز إلى الصبغة Hue، والإشباع Saturation، والتألق Brightness. وفق HSB، يتحول اللون إلى ثلاث أرقام وكأننا صنعنا له مقابض بتحريكها نتحكم به. فلنتحدث عن الصبغة Hue على سبيل المثال، يمكننا سحب المقبض باتجاهين إما نزولًا نحو الأزرق المائي، أو صعودًا إلى الأزرق النيلي، ويبدو الأزرق المائي ملائمًا أكثر لخط Moon، فهو أقل جمودًا، كما يوحي قليلًا بالبحر الكاريبي. ولمعاينته نغير قيمة الصبغة إلى نحو 180 درجة. زرّ خط Moon الآن يوحي بالشاطئ، وكأنه زبد بحر نابض بالحياة. وهذا درس مهم في الألوان،إذ أن الأزرق ليس لونًا واحدًا بالمطلق، فهو نقطة البدء للمصمم فقط. ومجرد أن اللون الأزرق كان لونًا واحدًا حين تعلمناه في الحضانة، فهذا لا ينفي قدرتنا كوننا مصممين، على العثور على درجات مميزة حول اللون الأساسي. الأزرق هو اللون وليس الدرجة الوحيدة، تظهر في الصورة بعض درجاته وفق نظام HSB بقيم الصبغة والإشباع والتألق مع اسم كل منها وفق نظام CSS. رغم أن الأزرق السماوي بطابعه الأبرد يُعَد درجةً رائعة، إلا أنه يصعّب من قراءة النص ذو اللون الأبيض. ويُعَد ذلك مشكلةً جديدةً تحتاج حل. "صعب القراءة" هي صفة محددة. نشر اتحاد شبكة الويب العالمي إرشادات عن التباين بين النص والخلفية، وإذا استخدمنا أداةً لاختبار مثالنا، فنجد أنه يخالف شرطين. لا يؤمن النص الأبيض على زر الأزرق سماوي تباينًا كافيًا، مما يخالف شرطي AAA وAA من WCAG، ووفقًا لـ Stark وهو أداة لاختبار جودة التباين فإنّ الزر لا يوافق أي من التوصيات. (يمكنك الاطلاع علىLea Verou's Contrast Ratio لأداة شبيهة تعمل من المتصفح) كيف نجعل النص الأبيض في الزر الأزرق السماوي أوضح للنظر؟ نفكر مجددًا في قيم HSB للون الزر.
هنا لا بأس من فقدان معيار AAA؛ حيث أن WCAG طورت المعايير مثل وصف نسبي لمقدار التباين وليست معايير مطلقة. على سبيل المثال لتتمكن نسبة مئوية معينة من الناس أن تقرأ النص، ويبقى المعيار الذهبي المطلق دومًا هو الاختبار مع أشخاص حقيقيين. من الأفضل تحقيق معيار AAA، لكن في بعض الأحيان يكون معيار AA كافيًا بالنسبة للألوان التي عليك العمل بها. بعض الأفكار التي طبقناها لجعل زر أزرق عادي بنص أبيض أكثر مرحًا وأسهل قراءةً، هي في الواقع دروس أعمق عن الألوان ويمكن تطبيقها بكل التصاميم تقريبًا:
بالعودة إلى الزر الذي صممناه بخط DIN. ما اللون المناسب لحوافه الجامدة وشكله المربع؟ يبدو الأسود مناسبًا. بمزيد من العصف الذهني، قد يفي الأحمر الصارخ بالغرض. أو حتى إحدى درجات البناء من البرتقالي. لكن لا تستخدم الأحمر والبرتقالي معًا. على العموم لن يبدو جيدًا استخدام لونين متجاورين بالصبغة وكلاهما بإشباع عال. ربما زر كهذا بمحتوى Learn more (تعرّف على المزيد) لا يحتاج أن يكون بلون برتقالي ناري. لكن عليك الانتباه إلى أن اختيار الألوان يكون بما يضمن تناسقها مع خط DIN الرسمي ذو الشكل المربع، لذا نميل إلى الألوان التي تملك نفس الدلالات بطبيعة الحال، كأن تكون هندسيةً حاسمة وليست هزلية. بالتأكيد عملية مطابقة اللون والخط تتعلق بالذوق الشخصي، لكن هناك أمر ثابت، فالكلمات المستخدمة لوصف اللون (ناري/ درجة البناء) تنطبق جيدًا على خط DIN. هل تريد مطابقة لون على خط؟ هذا درس آخر ينطبق على جميع العلامات التجارية، ومن الأفضل البدء بالصفات، والعواطف، ومطابقة كل شيء معها. وهكذا نكون قد تعلمنا عمليًا أمرًا أساسيًا في عملية تصميم العلامات التجارية. الظلاللنواصل العمل وليكن مع الظلال هذه المرة. هناك عدة توجهات للتعامل مع الظلال، لكن التصنيفين الأساسيين للظلال هما:
وهنا مثال لكل منهما: ظل الزر العلوي أكثر واقعيةً كأنه ظل حقيقي؛ أمّا ظل الزر السفلي فهو أقل دقة. يظهر أن الزر مرفوع لكن كنسخة كرتونية، بحافة سفلية تفتقر للواقعية محددة بشكل مثالي وبلا ظل طبيعي والذي كان ليظهر في الحقيقة. يُعَدّ الظل السفلي مناسبًا أكثر للزر الذي نصممه. حيث تنسجم سلاسته مع اللطف ودقة الرسوم المتحركة؛ أما بالنسبة للزر بخط DIN. الأمر محير أكثر، فقد يكون الظل لزر متأرجح، وبكل الأحوال يستحيل استخدام حافة سفلية داكنة مع خلفية سوداء، فلا يمكن إيجاد لون أغمق من الأسود. ربما لم تلحظ مسبقًا لكن ظل الزر الأسود أغمق، وبإمكانك الموازنة بينهما في الصورة.
للزر الأزرق المخضر ظل أسود بعتامة 30%، ممتد للأسفل بمقدار 1 بيكسل وفق المحور الطولي؛ ثم 2 بيكسل من التمويه أي (o 1px 2 px)؛ وللزر الأسود ظل أسود بعتامة 50%، ممتد للأسفل بمقدار 2 بيكسل وفق المحور الطولي؛ ثم 4 بيكسل من التمويه أي (o 2px 4px). يبدو الظل الأغمق سيئًا مع الزر الأزرق المخضر.
لماذا؟ كإجابة العديد من الأسئلة عن الألوان فإن ذلك يعتمد على اللمعان. عندما نغير وضع تداخل الطبقات blend mode لخلفية الزر إلى اللمعان luminosity، فستتحول إلى الرمادي ذو الإضاءة الطبيعية المتساوية، تصبح النتيجة مثيرةً للاهتمام.
بذلك تصبح أغمق درجة من الظل وتملك تمامًا نفس درجة عتامة الزر، وعلى الأقل يكون معدل تغير درجة اللمعان ثابتًا بين كل صف من البكسل.
الصف الأول هو للزر نفسه وليس للظل. حيث ستبدو الظلال قويةً إن كانت تملك درجة لمعان قريبةً جدًا من خلفية عناصرها. قد تبدو معلومةً اختصاصيةً، لكن في الواقع يمكن تطبيقها على باقي العناصر بمجال واسع مثل الحواف. الحواففلنضف حافةً للزر الأزرق المخضر 1.
طريقة إضافة هذه الحافة هي طريقة فكر بها العديد من المصممين، فبجعل الحواف سوداء مع شفافية، فإنها ستفي بالغرض مهما كان لون الخلفية، وبهذه الحالة استُخدِمت حافة سوداء بعرض بكسل واحد وبعتامة 20%. مع ذلك إن قمت بتبديل لون الخلفية إلى أزرق قياسي، والذي هو بطبيعة الحال أقل لمعانًا من الأزرق المخضر فإن هذه الحافة لا تعود واضحة.
لتظهر الحافة على اللون الأزرق بنفس وضوحها على الأزرق المخضر يمكن زيادة عتامة لونها الأسود إلى نحو 50%.
هذه قاعدة قابلة للتعميم: إذا أردت وضع طبقة سوداء على لون آخر، فيجب أن يكون الأسود أحلك حتى يظهر بنفس الدرجة على خلفيات بألوان أقل لمعانًا. ويمكن تطبيق ذات الفكرة مع الظلال.
لكل من هذه الأزرار نفس الظل (o 2px 3px) لكن الاختلاف بدرجات العتامة. لظل الزرين العلويين درجة عتامة 20%، ولظل الزرين السفليين درجة عتامة 40%. فبينما يبدو الزر العلوي الأيسر جيدًا، يكاد نفس الظل ألا يكون ملحوظًا على خلفية أغمق مثل الزر العلوي الأيمن، وظل الزر السفلي الأيسر الذي يبدو داكنًا جدًا على الخلفية البيضاء، فإنه جيد مع الخلفية الغامقة كما في الزر السفلي الأيمن. الأيقوناتفلنواصل العمل هذه المرة بالحديث عن الأيقونات.
هذه أيقونة التحميل لموقع Font Awesome.
وهو رمز أصبح مستهلكًا، كما أن الرموز الناعمة ذات الطابع الفقاعي المرح تُستخدَم عادةً في مواقع ذات طابع حازم بعيدًا عن التكلف فتظهر غير ملائمة. ستجد أنها تبدو مقبولة أكثر مع خط ناعم مستدير.
لكن هناك مشكلة أخرى، إذ لهذا الرمز تفاصيل دقيقة للغاية، ولن تظهر النقاط بحجم كهذا أبدًا، وحتى المسافة بين السهم والقرص عمليًا هي جزء من بكسل. وبموازنة الرمز مع شكل حروف خط الكتابة، فلا يوجد انسجام مطلقًا. يمكن حل هذه المشكلة بإنشاء رمز جديد، آخذين بالحسبان بعض المبادئ والتوجيهات:
ويبدو كالآتي بتطبيقها:
يمكن تشبيه إنشاء رمز كهذا بأنك ترسمه بنفس القلم الذي كُتب به الخط. فيظهر الرمز وكأنه قابل لأن يحل مكان أحد حروف الخط المستخدَم في الزر، لن تظهر كل الأيقونات بهذا الشكل، لكن لرمز ظهر كأنه جزء من الخط فتلك قاعدة رائعة. الخلاصةتلك البداية فقط، فهناك أنماط مختلفة للأزرار.
لكنها بداية جيدة، حيث استطعنا بتصميم زرين تغطية العديد من النقاط الجوهرية التي تلزم مصمم واجهة المستخدم يوميًا.
وتلك الدروس أساسية في تصميم واجهة المستخدم ككل، لكن ليس لأحد عناصرها فقط. ويمكن تلخيصها بالآتي:
قرأتَ للتو مقالًا كاملًا عن الأزرار، ولكن في المرة القادمة حين تستعصي عليك إعادة تصميم أو حتى إنشاء تصميم جديد من الصفر، حاول إزالة كل العناصر التي يجب أن تكون قد أدرجتها مسبقًا. وابدأ باللعب بأبسط العناصر على الرقعة. تعرف على الأساسيات ثم انطلق. ترجمة وبتصرّف للمقال The King vs. Pawn Game of UI Design لصاحبه Erik Kennedy. |
55,912 | تطبيق مشفر يخدع شبكات الجريمة المنظمة حول العالم |
قالت سلطات إنفاذ القانون، اليوم الثلاثاء، إن عملية خداع عالمية تضمنت استخدام تطبيق طوره مكتب التحقيقات الفيدرالي "إف. بي. آي" كانت سبباً في مداهمات واعتقالات في جميع أنحاء العالم، لتوجه "ضربة غير مسبوقة" لعصابات الجريمة. وتضمنت عملية "درع طروادة" مداهمات للشرطة في 16 دولة، أسفرت عن إلقاء القبض على أكثر من 800 مشتبه به وضبط أكثر من 32 طناً من المخدرات (من الكوكايين والقنب والأمفيتامينات والميثامفيتامين) إلى جانب 250 قطعة سلاح ناري و55 سيارة فاخرة وأكثر من 148 مليون دولار نقداً وعملات مشفرة. وقال كالفين شيفرز، مساعد مدير شعبة التحقيقات الجنائية في مكتب التحقيقات الفيدرالي الأميركي في مؤتمر صحافي في لاهاي: "عملية درع طروادة تعد مثالاً ساطعاً لما يمكن تحقيقه عندما يعمل شركاء إنفاذ القانون الدوليين من جميع أنحاء العالم معاً لتطوير أحدث أدوات التحقيق لاكتشاف المنظمات الإجرامية عبر الحدود وتعطيلها وتفكيكها". من جهتها، قالت قائدة الشرطة الفيدرالية الأسترالية جينيفر هيرست إنها كانت "لحظة فاصلة في تاريخ إنفاذ القانون العالمي". بدورها، أكدت قائدة الشرطة الوطنية الهولندية، جانين فان دن بيرغ، أن العملية وجهت "ضربة غير مسبوقة للشبكات الإجرامية في جميع أنحاء العالم". وبدأت العملية بعد أن تمكنت الشرطة العالمية في العامين الماضيين من تعطيل شبكتين رئيسيتين أخريين للهواتف المشفرة يستخدمهما المجرمون، الأولى تعرف باسم "إنكروتشات" والثانية باسم "سكايغلوبال". وقالت الشرطة النيوزيلاندية إن "إغلاق منصتي الاتصال المشفرتين هاتين أوجد فراغاً كبيراً في سوق الاتصالات المشفرة". ولملء هذا الفراغ، قام مكتب "إف. بي. آي" بتشغيل شركة الأجهزة المشفرة الخاصة به واسمها "آنوم". وزود مكتب التحقيقات الفيدرالي عصابات إجرامية في أكثر من 100 دولة على مدى الأشهر الـ18 الماضية بأجهزة هواتف حمّل عليها هذا التطبيق. وقالت الشرطة الأسترالية إن الأجهزة التي افترض المجرمون أنها مشفرة سُلمت إلى عملاء داخل المافيا وعصابات الجريمة الآسيوية وعصابات المخدرات وعصابات الدراجات النارية الخارجة عن القانون كجزء من المكيدة التي دبرها مكتب التحقيقات الفيدرالي. وتمكن الشرطيون من قراءة رسائل زعماء المنظمات الإجرامية العالمية في نحو 100 دولة أثناء تخطيطهم لصفقات مخدرات ونقل أسلحة وعمليات اغتيال بفضل تطبيق "آنوم" الذي كان يستخدمه مجرمون في جميع أنحاء العالم للتواصل بطريقة مشفّرة. وبينت وثائق قضائية تم الكشف عنها واستشهدت بها قناة "فايس نيوز" الإعلامية الأميركية أن مكتب التحقيقات الفيدرالي عمل مع عملاء سريين على تطوير وتوزيع أجهزة "آنوم" من خلال شبكة "فانتوم سيكيور" التي كان يستخدمها العملاء المجرمون وإرسال 50 منها - معظمها إلى أستراليا - لتكون بمثابة أدوات "اختبار تجريبي". ولم يكن في هذه الأجهزة أي بريد إلكتروني أو خدمة اتصال أو تحديد الموقع العالمي، وكان يمكن من خلالها فقط إرسال رسائل إلى الهواتف الأخرى التي تحتوي على تطبيق "آنوم". كما لم يكن من الممكن شراؤها إلا من السوق السوداء مقابل نحو 2000 دولار، وتطلبت الحصول على رمز من مستخدم سابق للدخول إليها. وساعدت الوكالات الأسترالية على وضع هذه الهواتف في أيدي أشخاص "مؤثرين" في عالم الجريمة بمن فيهم زعيم عصابة مخدرات أسترالي هارب في تركيا، في محاولة لكسب الثقة. لكن بدا أن الغطاء السري للعملية انكشف في مارس 2021 عندما بادر مدوِّن إلى الحديث تفصيلياً عن عيوب "أنوم" الأمنية قائلاً إنها عملية احتيال على صلة بأستراليا والولايات المتحدة وأعضاء آخرين في شبكة مشاركة المعلومات "فايف آيز". وحُذف المقال في وقت لاحق. |
55,911 | تحميل الموارد الخارجية في صفحات الويب وتتبع حالتها عبر جافاسكربت |
يمكّننا المتصفّح من تتبّع تحميل الموارد الخارجيّة، مثل السكربتات والعناصر iframes والصور وما إلى ذلك. هناك حدثان لهذا الغرض:
لنفترض أنّنا نودّ تحميل سكربت طرف ثالث واستدعاء دالّة موجودة فيه. يمكننا تحميله ديناميكيّا هكذا: let script = document.createElement('script'); script.src = "my.js"; document.head.append(script);لكن كيف يتمّ تنفيذ دالّة مصرّح بها داخل ذلك السكربت؟ علينا أن ننتظر إلى أن يُحمّل السكربت، وعندها فقط يمكننا استدعاؤها. ملاحظة: بالنسبة لسكربتاتنا الخاصّة يمكننا استخدام وحدات جافاسكربت لذلك، لكنّها ليست شائعة التبنّي من مكتبات الطرف الثالث. script.onloadالمساعد الرئيسيّ هو الحدث load. ويقع عند الانتهاء من تحميل السكربت وتنفيذه. على سبيل المثال: let script = document.createElement('script'); // يمكن أن يحمّل أيّ سكربت، من أيّ نطاق script.src = "https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.3.0/lodash.js" document.head.append(script); script.onload = function() { // "_" ينشئ السكربت المتغيّر alert( _.VERSION ); // shows library version };See the Pen JS-p2-onload-onerror -ex1 by Hsoub (@Hsoub) on CodePen. بداخل onload، يمكننا إذًا استخدام متغيّرات السكربت وتنفيذ الدوالّ وما إلى ذلك. لكن ماذا لو فشل التحميل؟ على سبيل المثال، إذا كان لا وجود لهذا السكربت (الخطأ 404) أو الخادم معطّل (غير متاح). script.onerrorيمكن تتبّع الأخطاء التي تحصل خلال تحميل السكربت في حدث error. على سبيل المثال، لنقم بطلب سكربت غير موجود: let script = document.createElement('script'); script.src = "https://example.com/404.js"; // لا وجود لهذا السكربت document.head.append(script); script.onerror = function() { alert("Error loading " + this.src); // https://example.com/404.js خطأ في تحميل };See the Pen JS-p2-onload-onerror -ex2 by Hsoub (@Hsoub) on CodePen. يُرجى التنبّه إلى أنّه لا يمكننا الحصول على تفاصيل خطأ HTTP هنا. لا نعلم إن كان خطأ 400 أو 500 أو شيئا آخر. نعلم فقط أنّ التحميل قد فشل. تنبيه: لا تتبّع الأحداثُ onload/onerror سوى التحميل نفسه. الأخطاء التي تحصل خلال معالجة السكربت وتنفيذه خارجة عن نطاق هذه الأحداث. بمعنى: إذا حُمّل السكربت بنجاح، فإنّ onload يشتغل، حتى لو كان في السكربت أخطاء برمجيّة. لتتبّع أخطاء السكربتات يمكن استخدام المعالج العموميّ window.onerror. الموارد الأخرىتعمل الأحداث load وerror مع الموارد الأخرى كذلك، وتعمل أساسا مع أيّ مورد له src خارجيّ. مثلا: let img = document.createElement('img'); img.src = "https://js.cx/clipart/train.gif"; // (*) img.onload = function() { alert(`Image loaded, size ${img.width}x${img.height}`); }; img.onerror = function() { alert("Error occurred while loading image"); };See the Pen JS-p2-onload-onerror -ex3 by Hsoub (@Hsoub) on CodePen. لكنّ هناك بعض الملاحظات:
ذلك لأسباب تاريخيّة. سياسة تعدّد المصادر (Crossorigin policy)هناك قاعدة تقول: لا يمكن لسكربتات موقع ما الوصول إلى محتويات موقع آخر. فمثلا، لا يستطيع سكربت موجود في https://facebook.com قراءة صندوق بريد المستخدم في https://gmail.com.
أو بشكل أدقّ، لا يمكن لأحد المصادر (الثلاثيّة تشمل هذه القاعدة أيضا الموارد التي هي من نطاقات أخرى. إذا كنا نستخدم سكربتا من نطاق آخر، وكان فيه خطأ ما، فلا يمكننا الحصول على تفاصيل ذلك الخطأ. على سبيل المثال، لنأخذ السكربت (الفاسد) error.js المكوّن من مجرّد استدعاء لدالّة: // ? error.js noSuchFunction();ثمّ لنحمّله من نفس الموقع الموجود فيه: <script> window.onerror = function(message, url, line, col, errorObj) { alert(`${message}\n${url}, ${line}:${col}`); }; </script> <script src="/article/onload-onerror/crossorigin/error.js"></script>See the Pen JS-p2-onload-onerror -ex4 by Hsoub (@Hsoub) on CodePen. يمكننا رؤية تقرير جيّد للخطأ، هكذا: Uncaught ReferenceError: noSuchFunction is not defined https://javascript.info/article/onload-onerror/crossorigin/error.js, 1:1لنحمّل الآن نفس السكربت من نطاق آخر: <script> window.onerror = function(message, url, line, col, errorObj) { alert(`${message}\n${url}, ${line}:${col}`); }; </script> <script src="https://cors.javascript.info/article/onload-onerror/crossorigin/error.js"></script>See the Pen JS-p2-onload-onerror -ex5 by Hsoub (@Hsoub) on CodePen. التقرير الآن مختلف: Script error. , 0:0قد تختلف التفاصيل حسب المتصفّح، لكنّ الفكرة نفسها: أيّة معلومات حول الأمور الداخليّة للسكربت، بما في ذلك مكدس آثار الخطأ (error stack traces)، تكون مخفيّة. يرجع ذلك بالتحديد إلى كونها من نطاق آخر. لماذا قد نحتاج إلى تفاصيل الخطأ؟ توجد هناك العديد من الخدمات (يمكن أن نبني واحدة لنا) التي تعمل على الانصات للأخطاء العموميّة بواسطة window.onerror، وحفظها وتوفير واجهة للوصول إليها وتحليلها. هذا جيّد، إذ يمكننا رؤية الأخطاء الحقيقيّة، التي يتسبّب فيها مستخدمونا. لكن إذا كان السكربت من مصدر آخر، فلا تكون هناك الكثير من المعلومات حول الأخطاء فيها، كما شاهدنا للتوّ. تُفرض نفس سياسة تعدّد المصادر (CORS) على أنواع الموارد الأخرى كذلك. لإتاحة الوصول متعدّد المصادر، يجب أن يكون للوسم <script> السمة crossorigin، ويجب كذلك أن يقدّم الخادم ترويسات (Headers) خاصّة. هناك ثلاثة مستويات للوصول متعدّد المصادر:
في حالتنا هذه، لم يكن لدينا أيّ وسم crossorigin. لذا فإنّ الوصول متعدّد المصادر قد مُنع. لنضفه الآن. يمكننا الاختيار بين "anonymous" (لا إرسال لملفات الارتباط، يُحتاج إلى ترويسة واحدة من جانب الخادم) و"use-credentials" (يرسل ملفّات الارتباط أيضا، يُحتاج إلى ترويستين من جانب الخادم). إذا نكن نهتمّ بملفّات الارتباط، فإنّ "anonymous" هي الخيار: <script> window.onerror = function(message, url, line, col, errorObj) { alert(`${message}\n${url}, ${line}:${col}`); }; </script> <script crossorigin="anonymous" src="https://cors.javascript.info/article/onload-onerror/crossorigin/error.js"></script>See the Pen JS-p2-onload-onerror -ex6 by Hsoub (@Hsoub) on CodePen. حاليّا، على افتراض أنّ الخادم يوفّر ترويسة Access-Control-Allow-Origin، كلّ شيء على ما يرام. لدينا تقرير الخطأ الكامل. الملخّصتوفّر الصور <img> والتنسيقات الخارجيّة والسكربتات والموارد الأخرى الأحداث load وerror لتتبّع تحميلها:
الاستثناء الوحيد هو <iframe>: لأسباب تاريخيّة يحدث load على الدوام، عند أيّ انتهاء للتحميل، حتى لو لم توجد الصفحة. يعمل الحدث readystatechange أيضا مع الموارد، لكن يندر استخدامه، لأنّ الأحداث load/error أبسط. التمارين حمّل الصور بواسطة ردود النداء (callbacks)الأهميّة: 4 عادة، تُحمّل الصور عند إنشائها. فعندما نضيف <img> إلى الصفحة، لا يرى المستخدم الصورة فورا. يحتاج المتصفّح إلى تحميلها أوّلا. لإظهار الصورة فورا، يمكننا إنشاؤها "مسبقا"، هكذا: let img = document.createElement('img'); img.src = 'my.jpg';يبدأ المتصفّح تحميل الصورة ويحفظها في الذاكرة المؤقّتة. لاحقا، عندما تحضر نفس الصورة في المستند (مهما كانت الطريقة)، فإنّها تظهر فورا. أنشئ الدالّة preloadImages(sources, callback) التي تحمّل جميع الصور التي في المصفوفة sources، وعندما تجهز، تنفّذ callback. على سبيل المثال، سيظهر هذا التنبيه alert بعدما تُحمّل الصور: function loaded() { alert("Images loaded") } preloadImages(["1.jpg", "2.jpg", "3.jpg"], loaded);حتى في حالة خطأ، يجب أن تفترض الدالّة أنّ الصورة "محمّلة". بعبارة أخرى، تُنفّذ callback سواء عند نجاح تحميل الصور أو فشله. تفيدنا هذه الدالّة، على سبيل المثال، عندما نريد إظهار معرض للعديد من الصور القابلة للتمرير، ونريد أن نتأكّد من أنّ جميع الصور قد حُمّلت. ستجد في المستند المصدريّ الشيفرة وروابط لاختبار الصور، للتحقّق من أنّها قد حُمّلت. يجب أن يكون المُخرج هو 300. أنجز الحلّ في البيئة التجريبية الحلّالخوارزميّة:
افتح الحلّ في البيئة التجريبية ترجمة -وبتصرف- للمقال Resource loading: onload and onerror من سلسلة Browser: Document, Events, Interfaces لصاحبها Ilya Kantor |
55,899 | ألمانيا تحذر من سباق التسلح بالذكاء الاصطناعي | دخل العالم فعليا مرحلة جديدة من السباق على التسلح والحروب حيث بات للذكاء الاصطناعي دور كبير خاصة وأنه يجعل الجيوش أكثر فعالية وبالطبع أكثر ذكاء. لكن إذا لم يتم وضع قواعد، فإن هذا السباق قد يخرج عن السيطرة ويهدد العالم. |
55,898 | بعد عطل فني.. عودة تدريجية لمواقع إعلامية وحكومية عالمية |
تعطل العديد من مواقع الإنترنت في العالم صباح الثلاثاء، بينها مواقع وسائل إعلام كبرى ومواقع إخبارية عالمية مثل سي إن إن الأميركية ولو موند الفرنسية ونيويورك تايمز. وظهرت رسائل تشير إلى عطل في الصفحة على المواقع. وقالت مراسلة "العربية" إن تطبيق بلومبيرغ من بين مواقع الإنترنت التي تعطلت. وتعطل عمل الموقع الإلكتروني للحكومة البريطانية وتعذر الدخول إليه صباح الثلاثاء. وظهرت رسائل تشير إلى عطل على الموقع الرسمي للحكومة وموقعي الصحيفتين. كما تعذر الدخول مؤقتاً لموقع بي.بي.سي قبل عودته إلى الخدمة. وذكرت وكالة أسوشييتد برس أن مشكلة فنية لدى شركة "فاستلي" الأميركية لخدمات الحوسبة السحابية تسببت في عطل مواقع الإنترنت حول العالم. واضافت الوكالة أن عدة مواقع إلكترونية عالمية تعطلت اليوم الثلاثاء بعد انقطاع واسع النطاق على ما يبدو لدى شركة خدمات الحوسبة السحابية (فاستلي). وأقرت فاستلي، ومقرها سان فرانسيسكو، بوجود مشكلة قبل الساعة العاشرة بتوقيت غرينتش.وقالت في تحديثات متكررة على موقعها على الإنترنت إنها "تواصل التحقيق في الأزمة ". وتلقى الزوار الذين يحاولون الوصول إلى سي إن إن رسالة مفادها "خطأ تصفح في فاستلي". |