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 ...

<none>

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 ...

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
9 + 4 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

أخبار تكنلوجيا

رقم الخبر عنوان الخبر التفاصيل
51,096 "انجينيتي" أول طائرة من صنع الإنسان تحلق في أجواء كوكب آخر قالت وكالة الفضاء الأمريكية (ناسا)إن طائرة الهليكوبتر "إنجينيتي" التابعة لها أكملت رحلة جوية في أجواء كوكب المريخ، لتصبح أول مركبة من صنع الإنسان تحلق في أجواء كوكب آخر.
51,095 واتساب الوردي.. أحدث صيحات سرقة البيانات والتسلل للهواتف 

حذر خبراء الأمن السيبراني من أن تطبيق واتساب الوردي WhatsApp Pink المتداول هو تطبيق ضار يمكنه سرقة بياناتك بمجرد تثبيته ويسمح للمتسللين بالوصول إلى هاتفك.

وتم إرسال رسالة إلى بعض المستخدمين تحتوي على رابط وتتظاهر بتقديم تجربة واتساب الحالية باللون الوردي بدلًا من اللون الأخضر.

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

ومع ذلك، بدلاً من إجراء أي تغييرات على تطبيق واتساب الأصلي، يؤدي الرابط إلى صفحة بها خيار تنزيل تطبيق WhatsApp Pink الضار عبر هواتفهم، وفقا للبوابة العربية للأخبار التقنية.

ولا يوجد أي علاقة للتطبيق الضار مع منصة واتساب أو شركة فيسبوك.

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

وقال: إن WhatsApp Pink يستهدف إلى حد كبير الشرطة والإعلاميين، وتم إرسال رابط لتنزيل التطبيق في البداية إلى ضباط الشرطة في دلهي وراجستان.

وحذر المستخدمين من عدم تثبيت أي APK أو تطبيق غير تلك المتوفرة عبر متجر التطبيقات الرسمي من جوجل أو آبل.

ويبدو أن الجهات الفاعلة السيئة التي نشرت الرسالة حول WhatsApp Pink قد استخدمت روابط مختلفة.

لكن مع ذلك، يُنصح المستخدمون بعدم فتح أي روابط يُزعم أنها تجلب أي مظهر أو ميزات جديدة إلى واتساب.

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

وأضافت: نوصي أيضًا بأن يستخدم الأشخاص الأدوات التي نقدمها داخل التطبيق لإرسال تقرير إلينا أو الإبلاغ عن جهة اتصال أو حظر جهة اتصال.

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

51,094 خطوات تصميم واجهة تطبيق من الصفر وفق المعايير الصحيحة باستعمال تطبيق رسم الإطارات Balsamiq

سنتحدّث في مقالنا الأخير من "سلسلة في مقدّمة عن تصميم واجهة المستخدم" من خلال الإطارات الشّبكيّة (Wireframes)، عن المراحل التي يجب اتّباعها للتّأكد من أنّ أفكارنا ستُنتَج وتُسعِد المستخدمين يومًا بعد يوم، فقد تحدّثنا في المقالات السّابقة عن كيفيّة تصميم واجهات المستخدم، كما ستركّز هذه المقالة على عمليّة التّصميم، وهي حصيلة العديد من المقابلات التي أجراها موقع بالاساميك (Balsamiq) مع روّاد الأعمال، ومديري المنتجات، ومصمّمي تجربة المستخدم، والمسوّقين، والمطوّرين؛ حيث تختلف كلّ منظّمة قليلًا، لكننا نعتقد أنّ ما نصفه قد يكون بمثابة نقطة انطلاق مفيدة للمصمّم وللفريق، وتختلف العملية قليلًا لمّا يكون العمل جديدًا بدلًا من إضافة ميزة صغيرة إلى برنامج أو موقع ويب موجود مسبقًا، كما يختلف الأمر أيضًا إذا كان المصمّم متواجدًا في شركة منتجات، أو في شركة استشاريّة، وسنسلّط الضّوء على هذه الاختلافات.

مراحل العملية هي:

  1. جمع المتطلّبات
  2. تحديد الأفكار
  3. إرسال المقترحات إلى المجموعة الأساسيّة
  4. دمج المراجعات في الإطارات الشّبكيّة
  5. الانتقال إلى المجموعة الأكبر
  6. إنشاء نموذج أوّليّ عالي الدّقة /اختياري -غير مستحسن
  7. العمل الوثيق مع المطوّرين
  8. المساعدة في الاختبار والنّشر والتّسويق
  9. مراقبة ردود الفعل تجاه العمل
الخطوة 1: جمع المتطلبات

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

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

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

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

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

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

الخطوة 2: تحديد الأفكار

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

لذلك يجب الارتياح قليلًا والابتعاد عن الإزعاجات، والاستماع لبعض الموسيقى الهادئة مع الاستعداد للبدء، فإذا كنّا مصمّمين نميل للفنّ ولا نخاف من الصّفحة البيضاء، فقد نفضّل البدء برسم الأفكار على ورق، بحيث يجب أن تكون بمستوى عالي، مع احتوائها على مربّعات وأسهم؛ أمّا إذا كنّا لا نملك مهارة استخدام الورقة والقلم، أو نخاف من الصّفحة البيضاء لإتاحتها الكثير من الحريّة (مما قد يجعل التّصميم صعب التّنفيذ)، فـأداةٌ مثل بالاساميك تُعدّ مناسبةً لنا، ويمكننا اختيار العناصر القياسيّة من مكتبة واجهة المستخدم وتجميعها، كما يجب الحرص على استخدام أداة الرّسم Sketch لهذه الخطوة. ومن الأخطاء الفادحة التّحول إلى هيكل إطار شبكي، أو استخدام أداة تسمح لنا بالتّصميم بدقّة عالية، فعندها سنفكر كثيرًا بتفاصيل، مثل: الألوان، والخطوط، والمحاذاة المثاليّة للبكسل. وفي هذا مضيعة كبيرة للوقت، فإذا كان المطلوب هو إضافة جزء من الوظائف إلى واجهة مستخدم موجودة مسبقًا، فمن الأسرع أخذ لقطة شاشة لواجهة المستخدم الحاليّة، وتعديلها باستخدام أداة اقتصاص الصّورة

وبهذا يكون قد حان الوقت لاستخدام جميع النّصائح والتّقنيات التي تعلّمناها في المقالات السّابقة، والأهم من ذلك ألا نخاف من البدء من جديد، فإذا كنّا نريد رؤية كيف تبدو هذه العمليّة في الحياة الواقعيّة، فيجب التّحقق من قائمة تشغيل مقاطع اليوتيوب (youtube) الخاصة بـالإطار الشّبكي لبالاساميك، فهدفنا الآن ليس التّوصل إلى "الحلّ المحدّد"، بل وضع بعض واجهات المستخدم لتقديمها إلى الفريق كمقترحات لنعرف كيفيّة تفاعلهم معها. ويجب الحذر من الوقوع في فخ الإصدار 3 من تطبيق بالاساميك، فبما أنّنا نميل عادةً إلى وضع الكثير من التّفاصيل في إطاراتنا الشّبكية بسبب طريقة عمل أدمغتنا، فذلك يلزمنا بمحاولة تقليص إطاراتنا الشّبكية الأوّليّة مرة واحدةً (الإصدار 2) بمجرد الانتهاء منها، ثمّ نقلصّها مجدّدًا لنصل إلى ما يجب إصداره في الإصدار 1، وإذا كنّا نرغب في عرض الرّؤية الكاملة للفريق، فيجب إضافة بعض التّعليقات التّوضيحيّة annotations، التي تعرض رسالة "إصدار2"، أو "يمكن أن يظهر لاحقًا"، ويمكننا استخدام أزرار مُدبّبة صفراء، أو أقواس عموديّة متعرّجة.

الخطوة 3: إرسال المقترحات إلى المجموعة الأساسية

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

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

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

كلمة تحذير

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

الخطوة 4: دمج الردود في الإطارات الشبكية

حان الوقت الآن لتحويل الرّسومات الأوّلية إلى إطارات شبكيّة مناسبة، وعندها يجب النّظر إلى التّصميمات المختلفة، مع دراسة قائمة الرّدود ومحاولة تجميعها معًا في حلّ واحد، فإذا استخدمنا مخطّطات ورقيّة من قبل، فهذا هو الوقت المناسب لتحويلها إلى إطارات شبكيّة عبر تطبيق بالساميك (Balsamiq wireframes)، حيث يسهل فهمها ومشاركتها، ويمكن الاستعانة بكلّ ما تعلّمناه في الفصول السّابقة لإنشاء تصميمات رائعة وقابلة للاستخدام.

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

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

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

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

الخطوة 5: الانتقال إلى المجموعة الأكبر

بمجرّد الانتهاء من التّصميم بعد بضعة أيّام من العمل عليه -أي يكون قد عُمّم ربّما إلكترونيًّا مع الفريق الأساسيّ مجدّدًا للمراجعة النّهائية-، فهذا يعني أنّه قد حان الوقت لتقديمه للجميع، حيث سيكون هذا اجتماع مبيعات أكثر منه اجتماع تبادل أفكار (brainstorming meeting)، وفيه نستعرض التّصميم على أصحاب العمل وكلّنا ثقة بتلبيته للمتطلّبات، ويجب تقبّل المراجعات دون توقّع الكثير منها، وبصرف النّظر عن جميع أصحاب العمل، ففي الخطوة الأولى يجب الحرص على دعوة من يتمتّع بدرجة عالية بما يكفي ليكون قادرًا على الموافقة على التّصميم، بحيث يمكن البدأ بالتّطوير - الذي عادةً ما يكون في القسم التّنفيذي أو عميلًا- وهذا هو الهدف الرّئيسي في هذا الاجتماع.

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

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

الخطوة 6: إنشاء نموذج أولي عالي الدقة

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

يستغرق إنشاء النّماذج الأوّلية عالية الدّقة بعض الوقت (يجب تصميم كلّ شاشة بالتّفصيل، وربط كلّ عنصر على حدة بوجهته، وتقديم بيانات وهميّة، وما إلى ذلك)، وتُنفّذ باستخدام أدوات باهظة الثّمن بواسطة منحنى تعليميٍّ عال، ويُعدّ هذا سهلًا إذا كنّا مصمّمي تجربة مستخدم (UX) ضمن فريق عمل، إذ لا يستطيع أحد غيرنا القيام بهذه الوظيفة، ومن السيّء تكرار النّماذج الأوّليّة، فتغيير التّصميمات عالية الدّقة في أداة الرّسم (sketch)، أوبرنامج الصّور (Photoshop) يستغرق وقتًا، وإعادة توصيل جميع أجزاء النّموذج الأوّلي يُعدّ أمرًا شاقًّا.

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

تستخدم بعض الشّركات الكبيرة عادةً، نماذج أوليّة عالية الدقة ليشتريها المديرون التّنفيذيّون، ففي عالم المؤسّسات لا يريد أصحاب القرار رؤية أشياء منخفضة الدّقة وذات مظهر سطحيّ، بل يريدون رؤية الشّيء الحقيقي بكلّ مجده المميّز. وهناك استخدام آخر للنّماذج الأوّلية عالية الدّقة هو خدمة اختبار الاستخدام الذاتية (self-service user-testing).

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

الخطوة 7: العمل الوثيق مع المطورين

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

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

الخطوة 8: المساعدة في الاختبار والنشر والتسويق

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

الخطوة 9: مراقبة ردود الفعل تجاه العمل

من المدهش عدد الأشخاص الذين لا يقومون بهذا، أو لا يفكرون حتّى في القيام به، فمن الصّعب الانتقال من الفكرة إلى الإنتاج، وربما يكون معظم المصمّمين مُنهَكين في هذه المرحلة، ولكن إذا كنّا لا نعرف إن كانت ميزاتنا ستلقى استحسان المستخدمين النّهائيّين فكيف سنتحسّن في التّصميم؟ هناك العديد من الطّرق لمعرفة ما إذا كانت الميزة ناجحةً أم لا، حيث يمكننا متابعة الاستخدام عبر المقاييس، كما يمكننا البحث عن المنشورات في موقع تويتر (twitter)، أو - بالطّريقة المفضّلة لدينا - يمكننا إجراء مقابلات مع المستخدمين بشأنها.

أفكار ختامية للعملية

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

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

ترجمة -وبتصرف- للمقال An Opinionated Guide to Creating Software من موقع Balsamiq.com

اقرأ أيضا:
51,082 تحذير من سيناريو مرعب.. الهجمات الإلكترونية قد تُشعل حرباً نووية

خلصت دراسة، تشارك في إعدادها باحثون أميركيون وصينيون، إلى أن الهجمات الإلكترونية على الأنظمة النووية يمكن أن تؤدي لنشوب حرب يُستخدم فيها السلاح النووي.

فالحروب في الفضاء الإلكتروني قد تنقل إلى الواقع لتهدد حياة الملايين.

الدراسة التي استمرت 3 سنوات، أجرتها معاهد "شانغهاي" للدراسات الدولية ومؤسسة "كارنيغي"، وحذرت من أن الهجمات الإلكترونية على الأنظمة النووية يمكن أن تؤدي لنشوب حرب يستخدم فيها السلاح النووي.

وخلص البحث إلى أن القوى الكبرى لا تفتقر فقط إلى آلية للتعامل مع خطر الهجوم على الأنظمة النووية وتحوله إلى حرب، بل إنها لا تدرك التهديد الكامل لذلك.

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

ففي الوقت الذي تمتلك فيه الولايات المتحدة حوالي 5800 رأس نووي، يوجد في الصين فقط 200.

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

في المقابل اتهمت "مايكروسوفت" الصين باختراق برنامج البريد الإلكتروني لسرقة البيانات من باحثين ومؤسسات أميركية.

وخلال جلسة استماع الأسبوع الماضي، قال مدير مكتب التحقيقات الفيدرالي كريستوفر راي إن مكتبه يحقق في نحو 2000 قضية ترتبط في الحكومة الصينية، مشيرا إلى زيادة بنسبة 1300% في تحقيقات التجسس الاقتصادي على مدى السنوات الماضية.

51,066 بسرعة 50 ضعفا عن الجيل السابق.. "هواوي" تخطط لإطلاق 6G

بدأ العالم للتو في التعود على شبكات الجيل الخامس 5G وهواتف 5G، لكن شركة "هواوي" تفكر في المستقبل مع خطط لطرح شبكات الجيل السادس 6G، الأسرع بمقدار 50 مرة من 5G.

وكما ذكرت CGTN، استخدم شو تشيجون، رئيس مجلس إدارة "هواوي" بالتناوب، مؤتمر المحللين العالميين للشركة في شنتشن للإعلان عن نيتها إطلاق معدات 6G والشبكات اللاحقة في عام 2030.

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

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

وتوقع كوي باوجو، نائب عميد كلية المعلومات بجامعة تسينغهوا، ذات مرة أن سرعة شبكات الجيل السادس يمكن أن تصل إلى 1000 غيغابايت في الثانية، مع زمن استجابة أقل من 100 ميكروثانية (0.1 ميلي متر في الثانية).

وتبلغ سرعة شبكات الجيل السادس 50 ضعف سرعة شبكات الجيل الخامس، وزمن الاستجابة لشبكات الجيل السادس هو عُشر زمن الاستجابة لشبكات الجيل الخامس.

وتتفوق 6G بكثير على 5G من حيث معدل الذروة والتأخير وكثافة الحركة وكثافة الاتصال والتنقل وكفاءة الطيف وقدرات تحديد المواقع.

وتتعامل 5G نظريًا مع نطاق 100 غيغاهرتز من أجل نقل البيانات، لكن بالنسبة لشبكات 6G، فإن العلماء يبحثون في نطاق تيراهيرتز.

ومع ذلك، فإن سرعة الشبكة الفائقة ليست سوى منتج ثانوي لشبكات الجيل السادس.

ويقول الخبراء: إن شبكات الجيل السادس تؤدي إلى عالم متصل بالكامل من تكامل الاتصالات اللاسلكية والأقمار الصناعية، الذي يمكن أن يحقق تغطية عالمية سلسة من خلال تكامل الاتصالات عبر الأقمار الصناعية.

وبالإضافة إلى ذلك، تتغلب شبكة 6G أيضًا على الضعف الحالي لشبكات 5G في الاتصال الإشكالي في ظل الحركة العالية السرعة.

وتتجاوز السرعة المدعومة 1000 كيلومتر في الساعة، ولا تقتصر فوائدها على السكك الحديدية العالية السرعة، بل إن السفر عن طريق الجو يكون أكثر ملاءمة مع 6G.

وفي الأرباع الثلاثة الأولى من عام 2020، تصدرت الحصة السوقية لشركة "هواوي" سوق معدات اتصالات 5G العالمية، ووصلت إلى 32.8 في المئة من الإجمالي العالمي، وذلك وفقًا لشركة الأبحاث التسويقية Dell’Oro.

51,010 منها حرق أو أكل الجثة.. هكذا يتم "دفن" من يموت في الفضاء! "إذا كنت تريد الذهاب إلى المريخ فاستعد للموت"، هذا ما قاله رئيس شركة "سبيس إكس" إيلون ماسك، في وقت تطمح فيه البشرية إلى الهبوط على سطح المريخ. لكن الرحلة محفوفة بالمخاطر وقد تؤدي إلى العديد من الوفيات، فماذا يحدث للجثت؟
51,005 أفضل تطبيقات قياس سرعة الإنترنت لايفون واندرويد

هذا المقال تم نشره بواسطة صدى التقنية صدى التقنية
رابط المقال أفضل تطبيقات قياس سرعة الإنترنت لايفون واندرويد

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

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

نصائح سريعة قبل إجراء اختبار سرعة الإنترنت
  • تأكد من عدم استخدام شخص آخر للإنترنت في تلك اللحظة حتى تتأكد من عدم استهلاكه للإنترنت عند قياس السرعة.
  • تأكد من ضبط الواي فاي على تردد 5 جيجا هرتز إذا كان جهاز الراوتر يدعم ذلك.
  • الجلوس بالقرب من جهاز الراوتر قد المستطاع.
  • التأكد من عدم وجود عائق بين هاتفك وبين جهاز الراوتر الخاص بك.
  • إذا كنت تستخدم جهاز اللاب توب لقياس سرعة الإنترنت يجب أن تقوم بتوصيل الكابل مباشرة من الراوتر لجهاز اللاب توب لضمان الحصول على اتصال دون أي عائق.
  • التأكد من إغلاق جميع تطبيقات الخلفية التي قد تستنزف الإنترنت.
ما هي أفضل تطبيقات قياس سرعة الإنترنت لايفون واندرويد؟ تطبيق Meteor

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

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

ويتوفر Meteor للتحميل مجانا لكل من مستخدمي أندرويد من خلال متجر جوجل بلاي ومستخدمي آيفون وآيباد عبر متجر آبل للتطبيقات.

لا يفوتك أيضا: أفضل تطبيقات أندرويد مفيدة عند شراء هاتف جديد

تطبيق SpeedTest Master

وهو التطبيق الذي يساعدك في معرفة هل يسرق شخص ما شبكة الواي فاي الخاص بك، حيث يتيح SpeedTest Master اختبار سرعة الإنترنت والتحقق من أداء الشبكة لديك من خلال نقرة واحدة ، وفي غصون 30 ثانية تظهر نتائج دقيقة حول سرعة الإنترنت وما إذا كان هناك شخص ما يقوم باستخدام شبكة الواي فاي دون علمك، كما يمكنك اختبار سرعة التنزيل والتحميل وزمن الاستجابة ومعرفة مدى استقرار الشبكةـ إلى جانب إمكانية متابعة استخدام بيانات الهاتف والتحقق من سرعة الإنترنت في الوقت الفعلي مع إظهار رسوم بيانية تفصيلية حول مدى استقرار الشبكة.

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

ويتوفر SpeedTest Master للتحميل مجانا لكل من مستخدمي أندرويد من خلال متجر جوجل بلاي ومستخدمي آيفون وآيباد عبر متجر آبل للتطبيقات.

تطبيق Speedtest لقياس سرعة الانترنت

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

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

ويتوفر Speedtest للتحميل مجانا لكل من مستخدمي أندرويد من خلال متجر جوجل بلاي ومستخدمي آيفون وآيباد عبر متجر آبل للتطبيقات.

تطبيق FAST Speed Test

يتميز تطبيق FAST Speed Test بتصميمه الانسيابي السريع الخالي من الإعلانات، حيث بمجرد فتح التطبيق يمكنك البدء في قياس سرعة الإنترنت بسهولة، كما أن التطبيق صغير الحجم مما يعني أنه لا يستهلك مساحة الهاتف، مع وجود خيار يساعدك على إظهار معلومات أكثر تفصيلًا مثل وقت الاستجابة وسرعة التحميل وعنوان الـ IP الخاص بك، إلى جانب إمكانية الاحتفاظ بنتائج الاختبارات للرجوع إليها في قسم السجلات.

ويتوفر FAST Speed Test للتحميل مجانا لكل من مستخدمي أندرويد من خلال متجر جوجل بلاي ومستخدمي آيفون وآيباد عبر متجر آبل للتطبيقات.

تطبيق nPerf لقياس سرعة الانترنت

يعتبر تطبيق nPerf من أفضل تطبيقات قياس سرعة الإنترنت حيث يوفر أدوات لقياس سرعة الإنترنت في ثواني معدودة، بالإضافة إلى إمكانية قياس سرعة الاتصال وسرعة التصفح وتحميل الصفحة ومشاهدة الفيديو، حيث يحتفظ التطبيق بجميع النتائج لتتمكن من مقارنتها بالنتائج السابقة، إلى جانب إمكانية مقارنة تلك الاختبارات مع مستخدمون آخرون بمقياس دقيق، كما يمكنك التطبيق بسهولة من مشاركة تلك النتائج على مواقع التواصل الاجتماعي، ويدعم التطبيق قياس سرعة الواي فاي إلى جانب قياس بيانات الجوال لشبكة الـ 3G  و4G و5G.

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

ويتوفر nPerf للتحميل مجانا لكل من مستخدمي أندرويد من خلال متجر جوجل بلاي ومستخدمي آيفون وآيباد عبر متجر آبل للتطبيقات.

هذا المقال تم نشره بواسطة صدى التقنية صدى التقنية
رابط المقال أفضل تطبيقات قياس سرعة الإنترنت لايفون واندرويد

51,004 إعداد شبكة عصبية صنعية وتدريبها للتعرف على الوجوه

بنية الشبكات العصبية الصنعية

تتكون الشبكات العصبية الصنعية من عناصر أولية بسيطة من حيث طريقتها في معالجة البيانات تدعى العصبونات، ويمكن تمثيل أي من تلك العصبونات رياضيا -وفق مفاهيم البرمجة غرضية التوجه- على شكل كائن برمجي Object يتضمن كل نسخة (Instance) منه على مصفوفة من أوزان الدخل يساوي حجمها عدد إشارات الدخل الواردة لهذا العصبون والتي قد تتراوح ما بين العشرات والآلاف تبعا لبنية الشبكة العصبية وهيكليتها. إن معالجة العصبون الواحد للإشارات الواردة بسيطة من الناحية الرياضية، حيث يتم ضرب كل إشارة دخل بقيمة الوزن المقابل لها ومن ثم تجمع كافة النواتج لنحصل على مقدار كلي يمثل درجة استثارة العصبون أو شحنته الإجمالية، ومن ثم يرسل هذا الرقم إلى تابع التفعيل، وهو ببساطة علاقة رياضية تحاكي إلى حد ما سلوك العصبونات الحقيقية فيما يخص قانون الكل أو لاشيء مع بعض التصرف لاعتبارات تتعلق بخوارزميات التعليم المستخدمة (إمكانية حساب المشتق الرياضي كما في حالة تابع Sigmoid) أو لاعتبارات براغماتية عملية (سهولة البرمجة وسرعة التنفيذ كما في حالة التابع ReLU) أو حتى لاعتبارات تتعلق بطبيعة البيانات المعالجة (كشيوع استخدام التابع TanH عند التعامل مع بيانات الفئات والأصناف). في نهاية المطاف تستخدم قيمة الاستثارة الإجمالية للعصبون كدخل لتابع التفعيل x هذا، وبتطبيق العلاقة الرياضية الخاصة بتابع التفعيل المحدد للعصبون نحسب قيمة y المقابلة والتي تمثل الآن خرج هذا العصبون.

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

الفرق ما بين تدريب واستخدام الشبكات العصبية الصنعية

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

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

كيفية حفظ وتصدير الشبكات العصبية الصنعية

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

عادة ما تقوم مكتبة TensorFlow بحفظ نموذج الشبكة العصبية الصنعية بكافة وسطائها وقيمها ضمن مجلد خاص بذلك خلال عملية التدريب والذي يمكن قراءته واستعادة بنية شبكته العصبية باستخدام لغة Python (ستجد ضمنه ملف بامتداد ‎*.pb إضافة إلى مجلدين فرعيين هما variables وassets)، لكن هذه الصيغة من الحفظ ملائمة فقط لبيئة التطوير ولا تصلح للتطبيق العملي. عوضا عن ذلك أتاحت Google مجموعة من الصيغ المعيارية المناسبة للتطبيقات المختلفة من أهمها صيغة ‎*.tfjs الموجهة للمبرمجين بلغة JavaScript ذائعة الصيت وواسعة الانتشار في عالم الويب سواء باستخدامها على طرف المستعرض أو حتى على طرف المخدم من خلال تقنية Node.js، كذلك لدينا صيغة ‎*.tflite والمصممة أصلا لتعمل بموارد محدودة من سرعة معالجة ومساحة ذاكرة وذلك بهدف استخدامها على أجهزة الجوال أو إنترنت الأشياء.

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

مكتبة Face-API

كما هو واضح من المقدمة السابقة، فنحن لن نقوم هنا ببناء وتدريب شبكة عصبية صنعية من الصفر، لكننا في المقابل سوف نستعرض كيفية استخدام شبكة عصبية صنعية سبق وأن تم تدريبها وذلك ضمن تطبيقنا الخاص. لهذه الغاية أود تعريفكم بمكتبة face-api.js والتي تم بناؤها لأغراض التعرف على الوجوه وتمييزها ضمن بيئة المتصفح إنطلاقا من مكتبة TensorFlow.js، وهي بذلك تقدم مجموعة من نماذج الشبكات العصبية الصنعية المدربة والجاهزة لطيف متنوع من التطبيقات يمكنك الإطلاع عليها من خلال النقر على الرابط التالي لصفحة التوثيق الخاص بهذه المكتبة:

https://justadudewhohacks.github.io/face-api.js/docs/

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

تم بناء نموذج التعرف على العمر والجنس باستخدام شبكة عصبية صنعية متعددة المهام توظف فيها طبقة استخلاص سمات الوجه لتقدير العمر وكذلك لتصنيف الجنس، يبلغ حجم حزمة النموذج بالإجمال قرابة 420kb، وقد تم تدريبها واختبارها باستخدام قواعد بيانات متعددة لصور الوجوه الموسومة بالعمر والجنس الحقيقيين (منها على سبيل المثال موسوعة Wikipedia وقاعدة IMDB للأفلام والممثلين)، وتبلغ دقتها 95% في تحديد الجنس، وهامش خطئها في تحديد العمر يقارب 4 سنوات ونصف.

استخدام الشبكات العصبية في نافذة متصفحك

لنقم بداية بإنشاء مجلد جديد وليكن اسمه face-api للمشروع الذي سنعمل عليه اليوم ضمن مخدم الويب المحلي الذي لديك لتجربة تطبيقات الويب التي تعمل عليها (أي ضمن المجلد C:\xampp\htdocs على سبيل المثال في حال كنت تستخدم مخدم XAMPP)، سنضيف داخل ذلك المجلد الرئيسي مجلدين فرعيين باسم js وكذلك models، ومن ثم نقوم بنسخ الملفات التي نحتاجها من مكتبة Face-API الأصلية على الشكل التالي:

نُنزِّل الصيغة المصغرة/المضغوطة من المكتبة ذاتها (أي الملف "face-api.min.js") ونسخها إلى داخل المجلد الفرعي js في مشروعنا، يمكن الحصول على ذلك الملف من العنوان التالي: https://github.com/justadudewhohacks/face-api.js/tree/master/dist نُنَزِّل نماذج الشبكات العصبية الصنعية التي سنستخدمها، حيث يوجد ملفين لكل نموذج شبكة عصبية أحدهما ينتهي إسمه بكلمة "shard1" تحفظ فيه قيم أوزان الشبكة، أما الآخر فهو ملف بصيغة json يصف بنية الشبكة حتى يتم قراءة وتحميل قيم الأوزان السابقة بشكل سليم. في مثالنا الحالي سنحتاج إلى استخدام شبكتين عصبيتين هما "age_gender_model" و "tiny_face_detector_model"، أي أننا بحاجة إلى تنزيل أربع ملفات ومن ثم نسخها إلى داخل مجلد models في مشروعنا. يمكنك الحصول على تلك الملفات من العنوان التالي:

https://github.com/justadudewhohacks/face-api.js/tree/master/weights

بعد ذلك سنُنشِئ ملفين جديدين أحدهما سندعوه index.html سنضعه في المجلد الرئيسي للمشروع، أما الآخر فسندعوه main.js ونضعه ضمن المجلد الفرعي js المخصص لشيفرات لغة JavaScript البرمجية. سنقوم بداية بتنقيح محتوى صفحة HTML والتي سنجعلها بأبسط شكل ممكن بغرض التركيز على العناصر الأساسية التي نهتم بها:

<html> <head> <title>Face-API Example</title> </head> <body> </body> </html>

ضمن قسم body سنقوم بإضافة عنصر div فيه عنصر video لعرض الفيديو الذي تلتقطه كاميرا حاسوبك ندعوه webcam، ويتم ضبطها لتعمل تلقائيا ضمن النمط الصامت بمجرد تحميل الصفحة:

<div class="container"> <video id="webcam" height="360" width="360" autoplay muted></video> </div>

ثم نضيف حقل إدخال input مخصص للعمر ندعوه age:

Age (years): <input id="age" size="3"><br />

بعد ذلك نضيف مجموعة أزرار اختيار من نوع radio ندعوها gender فيها اختيارين اثنين هما male وfemale:

<input id="male" type="radio" name="gender" value="male">Male<br /> <input id="female" type="radio" name="gender" value="female">Female<br />

أخيرا وبعد اكتمال تحميل وعرض كافة عناصر الصفحة، نقوم بتضمين ملفات جافاسكريبت في نهاية محتويات الصفحة حتى نكون متأكدين من وصولها برمجيا لكافة العناصر ضمن تلك الصفحة:

<script src="js/face-api.min.js"></script> <script src="js/main.js"></script>

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

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

لذلك سنبدأ بكتابة محتوى الملف main.js من الشيفرات البرمجية مع شرح مختصر لكل قسم منها، فالسطر الأول يقوم بتعيين اسم الثابت video للإشارة إلى العنصر المدعوة webcam ضمن صفحة HTML السابقة:

const video = document.getElementById("webcam");

بعد ذلك نقوم بتحميل نموذجي الشبكتين العصبيتين الخاصتين بالتعرف على الوجوه ضمن الصورة وتحديد الجنس وتقدير العمر من خلال سمات تلك الوجوه وذلك باستخدام آلية الوعود Promise.all، ومن بعد إتمام ذلك يتم استدعاء التابع startVideo الذي سنقوم بتعريفه لاحقا:

Promise.all([ faceapi.nets.tinyFaceDetector.loadFromUri("models"), faceapi.nets.ageGenderNet.loadFromUri("models") ]).then(startVideo);

يقوم هذا التابع بقراءة دفق إشارة الفيديو من الكاميرا وعرضها ضمن الكائن video، فإن حدث خطأ يتم كتابة رسالة الخطأ ضمن console.error في المستعرض:

function startVideo() { navigator.getUserMedia( { video: {} }, stream => (video.srcObject = stream), err => console.error(err) ); }

ومن ثم نضيف حدث يقوم بالإنصات لما يتم عرضه ضمن عنصر video بحيث يستدعي بشكل غير متزامن async (أي دون الحاجة لانتظار الإجابة حتى يتابع عرض الفيديو) وذلك كل ثانية (حيث تم ضبط الفترة الزمنية setInterval لتكون قيمتها 1000 ميلي ثانية). يقوم هذا الاستدعاء الدوري المتكرر بتعيين قيمة الكائن detection بواسطة مكتبة faceapi حيث تحدد جميع الوجوه الموجودة ضمن كائن video بالاستعانة بنموذج TinyFaceDetector مستخدمين الإعدادات الافتراضية، ومن ثم يمرر الناتج (أي الوجوه التي تم التعرف عليها في الصورة)، إلى الشبكة العصبية الأخرى التي تتعرف على العمر والجنس:

video.addEventListener("playing", () => { setInterval(async () => { const detections = await faceapi .detectAllFaces(video, new faceapi.TinyFaceDetectorOptions()) .withAgeAndGender();

إن العبارة الشرطية التالية تتأكد إن كان الكائن detections موجودا أصلا (تذكر أن تعيين قيمة هذا الكائن تتم من خلال استدعاء غير متزامن وبالتالي يمكن أن تكون القيمة غير موجودة في البداية ريثما تصل إجابة ذلك الاستدعاء). ليس هذا فحسب، بل يجب أن يتضمن على الأقل وجه واحد على الأقل. فإن تحقق هذين الشرطين يتم قراءة الجنس المتوقع للوجه الأول detections[0].gender وتعيينه لعنصر الإدخال المقابل له، وكذلك قراءة العمر المتوقع لذات الوجه الأول detections[0].age وتقريبه إلى أقرب عدد صحيح باستخدام التابع Math.round ومن ثم إسناده كقيمة لعنصر الإدخال المدعو age ضمن صفحة HTML السابقة:

if (detections && Object.keys(detections).length > 0) { document.getElementById(detections[0].gender).checked = true; document.getElementById("age").value = Math.round(detections[0].age); } }, 1000); });

هذا كل شيء! تستطيع الآن تجربة هذا التطبيق البسيط من خلال عرض الصفحة على نافذة المستعرض مستخدمين عنوانها على مخدم الويب المحلي وليكن على سبيل المثال: http://localhost/face-api

نقاط تستحق التأمل

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

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

لكن لحظة، هل هذه هي الطريقة الصحيحة فعلا التي تجري بها الأمور؟ هل هذا ما نفعله حقيقة عندما يلتبس علينا تشكيل كلمة ما في نص نقرأه أو جملة نتحدثها؟ أغلب الظن ستكون إجابتك هي النفي! فمعظمنا لا يعرب الجملة في رأسه ليضبط أواخر الكلمات، بل نجرب الاحتمالات المختلفة ونرى أيها يملك الوقع الأكثر تجانسا وانسجاما في نفسنا (على سبيل المثال: هل أباك/أبوك/أبيك موجود؟). إنها ببساطة ما ندعوه بالسليقة اللغوية، وهي التي تفسر قدرة الطفل الصغير على التكلم بلغة صحيحة حتى قبل معرفته بوجود علم النحو والإعراب أصلا، فهو يتعلم مما يسمع وينسج على منواله، فكلما كانت الأمثلة كثيرة وصحيحة ازداد اتقانه للغة (ولهذا السبب كان العرب يرسلون أبنائهم إلى البادية لسلامة اللغة من اللحن الأعجمي هناك).

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

مراجع للاستزادة
  1. مكتبة TensorFlow
  2. مكتبة face-api.js
  3. Model optimization
اقرأ أيضًا
50,994 إيلون ماسك يكشف عن خدمة إنترنت ثورية.. وهذا ما قاله!

قال الرئيس التنفيذي لشركة سبيس إكس، إيلون ماسك، إن خدمة ستارلينك Starlink التي تقدمها شركة SpaceX عبر الأقمار الصناعية، يجب أن تكون "متنقلة بالكامل" بحلول نهاية العام، مما يعني أنه يمكن للعملاء استخدامها في المركبات المتحركة أو في عناوين مختلفة.

كما غرد ماسك بأن ستارلينك "من المحتمل" أن تخرج من الإصدار التجريبي "هذا الصيف"، حيث اشترك أكثر من 10000 شخص في الخدمة التي أُطلقت بشكل تجريبي تحت اسم "أفضل من لاشيء" في أكتوبر 2020.

يأتي ذلك، فيما لا يمكن للعملاء أثناء الإصدار التجريبي، نقل أجهزتهم من عنوان إلى عنوان – حيث يمكنهم فقط استخدامه حيث قاموا بتسجيله، وفقاً لما ذكره موقع " Business Insider"، واطلعت عليه "العربية.نت".

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

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

كما غرد ماسك يوم الجمعة بأن "وقت تشغيل الخدمة وعرض النطاق الترددي، والاستجابة في ستارلينك، تتحسن بسرعة". كما وعد ماسك، في شهر فبراير، بأن سرعة الإنترنت في ستارلينك ستتضاعف وأن زمن الوصول سينخفض ​​بحلول نهاية عام 2021.

ووصلت سرعة الإنترنت المقدمة من ستارلينك حتى في درجات الحرارة المنخفضة والرياح العاتية والثلوج، إلى سرعة 175 ميجابت في الثانية.

50,993 فيسبوك تواجه دعوى قضائية جماعية بشأن تسريب بيانات

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

وأعلنت مجموعة Digital Rights Ireland أنها بدأت دعوى جماعية لمقاضاة فيسبوك، مستشهدة بالحق في الحصول على تعويض نقدي عن انتهاكات البيانات الشخصية المنصوص عليها في اللائحة العامة لحماية البيانات GDPR للاتحاد الأوروبي.

وتنص المادة 82 من اللائحة العامة لحماية البيانات على الحق في التعويض للمتضررين من انتهاكات القانون.

وتزايدت الدعاوى المدنية ذات الصلة في المنطقة منذ دخول اللائحة حيز التنفيذ في شهر مايو 2018.

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

وتتضمن المعلومات التي تم تسريبها عبر الخرق معرفات فيسبوك والموقع وأرقام الهواتف وعنوان البريد الإلكتروني وحالة العلاقة وصاحب العمل.

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

وأضاف: وكما ظهر عبر لينكدإن وكلوب هاوس، لا يمكن لأي شركة التخلص تمامًا من هذه الممارسة أو منع البيانات من الظهور، وهذا هو السبب في أننا نخصص موارد كبيرة لمكافحتها ونواصل بناء قدراتنا للمساعدة في البقاء في صدارة هذا التحدي.

ويقع المقر الأوروبي لشركة فيسبوك في أيرلندا، وفتحت لجنة حماية البيانات الأيرلندية في وقت سابق من هذا الأسبوع تحقيقًا بموجب قوانين حماية البيانات في الاتحاد الأوروبي.

وقالت مجموعة Digital Rights Ireland: التعويض ليس هو الشيء الوحيد الذي يجعل هذا العمل الجماعي يستحق الانضمام إليه، ومن المهم إرسال رسالة إلى المتحكمين بالبيانات الكبيرة بأنه يجب عليهم الامتثال للقانون وإن هناك تكلفة يجب دفعها إذا لم يفعلوا ذلك.

كما قدمت المجموعة شكوى بشأن انتهاك فيسبوك إلى لجنة حماية البيانات الأيرلندية في وقت سابق من هذا الشهر، وكتبت حينها: إنها تتشاور أيضًا مع مستشاريها القانونيين بشأن خيارات أخرى، بما في ذلك إجراء جماعي للتعويضات في المحاكم الأيرلندية.

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

الصفحات

أنت هنا