اذهب إلى المحتوى

لوحة المتصدرين

  1. طارق الجزائري

    طارق الجزائري

    الأعضاء


    • نقاط

      3

    • المساهمات

      8


  2. محمد طاهر5

    محمد طاهر5

    الأعضاء


    • نقاط

      2

    • المساهمات

      247


  3. samer_jabal

    samer_jabal

    الأعضاء


    • نقاط

      2

    • المساهمات

      174


  4. هشام رزق الله

    هشام رزق الله

    الأعضاء


    • نقاط

      1

    • المساهمات

      1442


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 12/31/15 في كل الموقع

  1. الإصدار 1.0.0

    76188 تنزيل

    هذا الكتاب ليس وصفةً سريعةً للثّراء! وهو لا يَعِدُكَ بجنيِ آلافِ الدولاراتِ منْ خلالِ بقائكَ نائمًا في البيت. لا يُقدّم الكتاب وَصفاتٍ سحريّةً للحُصولِ على 500$ خلالَ ساعتين من خلال مواقعَ خطيرة. ولا يعرض نماذجَ لأناسٍ حصلوا على مليون دولار في عامهم الأوّل بعد قراءة الكتابْ! هذا الكتاب، كتابٌ واقعيٌّ. يلامسُ الحقيقةَ الصعبة بأنّهُ مِن الصّعبِ الحُصولُ على وظيفة في الكثير من الدُّولِ العربيّة. ويخبرك بأن هناكَ أملًا وبديلًا. بل بديلًا قويًّا قَد يكون أفضل من الوظيفة بمراحل. ويبرهن على ذلك بعرض قصص نجاحٍ لأشخاصٍ مثلك، عاشوا ظروفك نفسها، ومن بلدك، ويعانون من جميع المصاعب التي تعاني منه، وبدأوا بمؤهِّلاتٍ قريبةٍ جدًا من مؤهلاتك، وامتلكوا بعضَ المهاراتِ التي تَمتلكها، ولربما كنتَ تُحسِنُها أكثر مِنْ بَعضِهم. ولكنَّ الفرقَ الوحيد (ليس طبعا أنّهم قرأوا الكتاب)، الفرقُ الوَحيدُ أنّهُم وَجَدوا طَريقَهُم للعملِ عَبْر الأنترنت وتحقيقِ مصدرِ دخلٍ كافٍ ومستمرٍّ لأنفسهم، بعضهم – بل الكثير منهم – يحقِّقُ ضِعف الرّاتِبِ الّذي تَحلُمُ بِه شَهريا. يَستعرضُ الكِتابُ قِصصَ النَّجاح بغرضِ إلهامكَ ومَنحِكَ الدَّافِع لتنجح كما نَجحُوا. ويؤكد أنّهم نجحوا ليس لأنّهم تعلّموا المُعادلة السِّحرية للنَّجاح، وليس لأنّهم وجدوا الوصفة السّرية لعصيرِ النّجاح فأعدّوه وشربوه، وليس لأنّ هناك (واسطةً) أخدتْ بأيديهم وعبرت بهم إلى طريقِ النّجاح. إنّما نجَحوا لأنّهم عَمِلوا وتَعبوا وصَابروا وواصَلوا حتّى وَصَلوا. يعرض عليك الكتابُ فرصةَ أنْ تنجح كَما نجحوا، بَل ويَضَعك في ظروفٍ أَفضَل مِن ظُروفهم. وذلك بشرحِ الخُطواتِ اللّازمِ اتّخاذها لبدءِ عملكَ عبر الأنترنت. فالكثير مِنهم لم تُتَح لَه فرصة الحصول على تلك المعلومات، وإنما جرّبوا فأخطأوا فتعلّموا فجرّبوا ثانيةً فنجحوا. وهنا – في هذا الكتاب – نختصر عليك الطّريق، فنعرضُ لكَ تجارِبَهم وأخْطاءَهُم وأَفْضلَ ما حقَّقُوه. يبدأ الكتاب بتعريفِ العمل الحرّ، ومجالاتِه، ومُميّزاتهِ وعُيوبِه. ثمّ يُرشِدُكَ إِلى الكيفيّةِ التي تَبدأُ بِها عملكَ الحُرّ بخطواتٍ بسيطةٍ وسهلةِ التّطبيق. ويُتابِع معك هذِه الخُطوات خُطوة بخطوة. فيقدّم لكَ النَّصائِحَ حولَ إِنشاءِ ملفِّكَ الشّخصيّ، ويُحدثك عَن الطّريقة التي تُقدّمُ بها عروضَ العمل، ويُعلّمكَ كيفيّة تحديدِ السِّعرِ المُناسِب للمشروع، وكيفيّة تَقدير الزّمن اللّازِم لتنفيذه. ويُواسيكَ في حال عدمِ حُصولِكُ عُلى مَشاريع. يَعرضُ الكتابُ عَددًا مِنَ المَهاراتِ اللّازِمة للعَملِ الحُرّ عبرَ الأنترنت، فيستعرضُ مهاراتِ التّواصلِ معَ الزّبائن، ومهاراتِ التّفاوُضِ والإِقْناعْ، ومهاراتِ إدارةِ وتنظيمِ الوقتْ. الكتابُ لا يَدّعي أنّهُ المرجعُ الشاملُ لكلِّ ما لهُ علاقةٌ بالعملِ الحُرّ، إنَّما يرجو مُؤلّفُ الكتابِ أنْ تَكونَ كلماتُهُ قُد لامستْ مَواطنَ الإرادةِ فِي قَلبك. وفُصولَه قدْ شَقّتْ لكَ طريقًا واضحًا للعملِ الحرِّ عبر الأنترنت. وأن يَكونَ ركيزةَ البدايةِ والخُطوة الأولَى في عملكَ عبْر الأنْترنَت. أُمنِيَتُنا في هَذا الكِتاب، أَنْ تَكونَ قِصّةَ نجاحٍ ملهمةً يُحتَفَى بِها، وتُذكَرُ في إصْداراتٍ لاحقةٍ مِنَ الكِتاب. ضَعْ ذَلكَ نُصبَ عَيْنيكْ خِلالَ قِراءتِكَ للكِتابْ.
    1 نقطة
  2. مرّ معنا أثناء إضافة أرقام الصفحات كيف أضفنا ملف CSS جديد عن طريق وضع بضعة أسطر في ملف functions.php في ملفات القالب. سنتناول في هذا الدرس الشرح التفصيلي لهذه الآلية، وهي الطريقة الآمنة لإضافة ملفات JavaScript و CSS. فهرس السلسلة: مقدمة إلى تطوير قوالب ووردبريس: تحويل صفحة HTML إلى قالب ووردبريس التصفيح (Pagination) في قوالب ووردبريس إضافة قوائم التنقل (Navigation Menu) إلى قالب ووردبريس صف وتسجيل ملفات Javascript و CSS في قوالب ووردبريس (هذا الدرس) ما المقصود بالصف؟ هو وضع الملف في صفّ/دور/طابور (queue) لتقوم ووردبريس بمعالجته لاحقاً. تخيل أنك تضع الملف في دور/طابور شراء جهاز آي فون جديد مثلاً! وعندما يحين موعد عرض الملفات، تقوم ووردبريس بمعالجة الصفّ ومتطلبات كل ملفّ فيه، ثم إعادة ترتيب الصف حسب المتطلبات، وأخيراً عرض الملفات في مكانها المناسب مع متطلباتها. الخطوات العامة سنعرض الآن الخطوات بشكل عام، ثم تفصيلها وطريقة استخدامها في الفقرة اللاحقة. لصفّ ملفٍّ ما، سواء كان ملف JavaScript أو CSS نحتاج إلى: استخدام الحدث (action) المناسب. تسجيل الملف المراد استخدامه؛ حيث يجب استخدام معرّف (handle) للملف، مسار الملف، ويمكن تحديد متطلباته (dependencies) إن وُجدت. صفّ الملف (enqueue)؛ باستخدام المعرّف المُستخدم أثناء تسجيل الملف. تسجيل وصف ملفات CSS تسجيل ملف CSS لتسجيل ملفٍّ جديد نقوم باستخدام دالّة wp_register_style، يمكن للدالّة أن تقبل المحدّدات التالية: handle$: مطلوب، هو المعرّف الخاص بالملف، الذي سيتم استخدامه عند صفّ الملف (enqueue). src$: مطلوب، هو رابط (URL) ملف CSS المطلوب تسجيله، مثل:http://example.com/css/mystyle.css، لكن يجب ألا يتم استخدام الرابط بهذا الشكل، بل يجب أن يكون أكثر مرونة (التفصيل في الملاحظة بعد نهاية الفقرة). deps$: مصفوفة من المعرّفات، التي تمثّل متطلبات الملف الذي نقوم بتسجيله، كي يتم صفّها قبل صفّ الملف المُسجَّل. القيمة الافتراضية: مصفوفة فارغة ()array. ver$: إصدار الملف المُسجَّل، تقوم ووردبريس بوضعه كرقم بعد رابط الملف، على الشكل:custom.css?ver=123، إن لم يتم وضع قيمة لهذا المحدّد، فسيتم وضع إصدار ووردبريس الحالي بدلاً منه، لعدم وضع أي رقم نضع قيمة المحدّد null. القيمة الافتراضية:false. media$: قيمة حقل media الذي سيتم استخدامه مع وسم <link> أثناء صفّ الملف، القيمة الممكنة: all، screen، handheld، print. القيمة الافتراضية هي all. ملاحظة هامة: عند تسجيل أو صفّ الملفات، يجب أن تكون الروابط مرنة، أي أن يتم استبدال اسم الموقع/النطاق عن طريق دوالّ ووردبريس. مثال خاطئ: add_action( 'wp_enqueue_scripts', 'register_invalid_style' ); function register_invalid_style() { wp_register_style( 'my-invalid-style', 'http://localhost/wp-content/themes/my-theme/css/custom.css' ); } هل لاحظتم أنني وضعت المسار كاملاً؟ ترى هل سيعمل الرابط السابق إن قمنا باستخدام القالب على موقع على الإنترنت بدلاً من الموقع المحلّي؟ بالتأكيد لا! مثال صحيح: add_action( 'wp_enqueue_scripts', 'register_valid_style' ); function register_valid_style() { wp_register_style( 'my-valid-style', get_template_directory_uri() . '/css/custom.css' ); } تكون النتيجة في المتصفح مشابهة للتالي: <link rel='stylesheet' id='my-valid-style-css' href='http://localhost:8000/wp-content/themes/my-theme/css/custom.css?ver=4.2' type='text/css' media='all' /> تقوم دالّة ()get_template_directory_uri بإرجاع رابط القالب الفعّال (active)، مثلاً: http://example.com/wp-content/themes/my-theme، بحيث يكون اسم النطاق حسب الموقع الحالي، ثم يقوم المطوّر بإضافة مسار الملّف الذي يريده بعد رابط القالب الفعّال. إن أردنا تسجيل وصفّ الملفات ضمن الإضافات بدلاً من القوالب، نقوم باستخدام دالّة ()plugins_url بدلاً من الدالّة السابقة الخاصة بالقوالب. صف ملف CSS لصفّ ملف CSS نستخدم دالّة wp_enqueue_style، محدّدات الدالّة هي نفسها محدّدات دالّة wp_register_style، باستثناء: محدّد handle$ هو المحدد الوحيد المطلوب في حال استخدامنا لمعرّف ملف مُسجّل مسبقاً. محدد src$ غير مطلوب في حال نقوم باستخدام معرّف لملف مُسجّل مسبقاً، ومطلوب إن كنا نريد استخدام الدالّة لصفّ ملفّ غير مسجّل. فعوضاً عن تسجيل الملف بدالّة منفصلة ثم صفّه بدالّة أخرى، نقوم بصفّه مباشرة في هذه الدالّة. مثال عن صفّ ملف مسجّل مسبقاً: add_action( 'wp_enqueue_scripts', 'enqueue_style' ); function enqueue_style() { wp_enqueue_style( 'my-valid-style' ); } مثال عن صفّ ملف جديد دون تسجيل: add_action( 'wp_enqueue_scripts', 'register_enqueue_style' ); function register_enqueue_style() { wp_enqueue_style( 'my-valid-style', get_template_directory_uri() . 'my-theme/css/custom.css' ); } نلاحظ أننا في المثال الثاني استخدمنا دالّة wp_enqueue_style بشكل مماثل لدالّة wp_register_style. الفرق الرئيسي بين الطريقتين، أن الأولى تسمح لنا باستخدام الملف المُسجل في عدة أماكن، وتتيح مرونة أكبر بالتعامل مع الملفات. إلغاء صفّ أو إلغاء تسجيل ملف CSS قد نحتاج لإلغاء صفّ ملف، أو إلغاء تسجيله (كما سنرى في نهاية المقال)، تتيح ووردبريس دالّتين لهذين الغرضين هما: wp_dequeue_style لإلغاء صفّ ملف و wp_deregister_style لإلغاء تسجيل ملف. في كلا الدالّتين نقوم بتمرير محدّد واحد هو المعرّف الخاص بالملف الذي نريد إلغاء صفّه أو إلغاء تسجيله، لإلغاء صفّ إطار عمل Bootstrap مثلاً، نضع الأسطر التالية في ملف functions.php: add_action( 'wp_enqueue_scripts', 'dequeue_bootstrap' ); function dequeue_bootstrap() { wp_dequeue_style( 'bootstrap' ); } تسجيل وصفّ ملفات جافاسكريبت آلية تسجيل وصفّ ملفات جافاسكريبت هي مماثلة جداً للتعامل مع ملفات CSS، مع بعض الفروقات البسيطة التي سنستعرضها الآن. تسجيل ملف جافاسكريبت نقوم باستخدام دالّة wp_register_script، التي تقبل المحدّدات التالية: handle$: مطلوب، هو المعرّف الخاص بالملف، الذي سيتم استخدامه عند صفّ الملف (enqueue). src$: مطلوب، هو رابط (URL) ملف جافاسكريبت المطلوب تسجيله، مثل:http://example.com/js/myscript.js، لكن يجب ألا يتم استخدام الرابط بهذا الشكل، بل يجب أن يكون مرناً باستخدام ()get_template_directory_uri. deps$: مصفوفة من المعرّفات، التي تمثّل متطلبات الملف الذي نقوم بتسجيله، كي يتم صفّها قبل صفّ الملف المُسجَّل. القيمة الافتراضية: مصفوفة فارغة ()array. ver$: إصدار الملف المُسجَّل، تقوم ووردبريس بوضعه كرقم بعد رابط الملف، على الشكل:custom.js?ver=123، إن لم يتم وضع قيمة لهذا المحدّد، فسيتم وضع إصدار ووردبريس الحالي بدلاً منه، لعدم وضع أي رقم نضع قيمة المحدّد null. القيمة الافتراضية: false. in_footer$: بشكل افتراضي يتم صفّ ملفات جافاسكريبت وملفات CSS ضمن وسم <head>، لكن يمكن بوضع قيمة هذا المحدد true أن يتم صفّ ملفات جافاسكريبت في نهاية المستند، قبل إغلاق وسم <body/>، وهو الأفضل للأداء بالنسبة لزوار الموقع. القيمة الافتراضية: false. ملاحظة: صفّ ملفّات جافاسكريبت و CSS يتطلب وجود خطّاف ()wp_head ضمن القالب، وصفّ ملفات جافاسكريبت مع محدّد in_footer$ بقيمة true يتطلب وجود خطّاف ()wp_footer في القالب، قبل إغلاق وسم <body/>. صفّ ملف جافاسكريبت الاستخدام مشابه تماماً لصفّ ملف CSS، لكنه يتم عن طريق دالّة wp_enqueue_script، والتي تشابه بمحدداتها دالّة التسجيل wp_register_script. الفرق بين محددات دالة الصفّ ودالّة التسجيل الخاصة بملفات جافاسكريبت هي كالفرق بين محددات دالة الصف والتسجيل الخاصة بملفات CSS. محدّدات دالّة wp_enqueue_script هي نفسها محدّدات دالّة wp_register_script، باستثناء: محدّد handle$ هو المحدد الوحيد المطلوب في حال نقوم باستخدام معرّف لملف مُسجّل مسبقاً. محدد src$ غير مطلوب في حال نقوم باستخدام معرّف لملف مُسجّل مسبقاً، ومطلوب إن كنا نريد استخدام الدالّة صفّ ملفّ غير مسجّل. فعوضاً عن تسجيل الملف بدالّة منفصلة ثم صفّه بدالّة أخرى، نقوم بصفّه مباشرة في هذه الدالّة. إلغاء صفّ أو إلغاء تسجيل ملف جافاسكريبت طريقة إلغاء صفّ أو إلغاء تسجيل ملف جافاسكريبت هي مشابه للطريقة في ملفات CSS، لكن باستخدام دالّتي: wp_deregister_script و wp_dequeue_script. أمثلة وحالات استخدام بالمثال يتضح المقال، سنمرّ معاً على أربعة أمثلة وحالات استخدام لنرى من خلالها كيف يمكننا التعامل ثم الاستفادة من تسجيل وصفّ ملفات JavaScript و CSS: 1. عند استخدام إضافة رديئة الجودة لنفرض لسبب ما أنك تستخدم إضافة رديئة -لا تتبع المعايير ولا تستخدم أحد الإصدارات من المكتبات-، تتطلب هذه الإضافة وجود إصدارٍ قديم من مكتبة jQuery، بينما قالبك يستخدم الإصدار اﻷحدث منها. هل من المنطقي وجود نسختين من المكتبة في القالب؟ بالتأكيد لا. لحلّ هذه المشكلة نحن أمام ثلاثة خيارات: إن كانت الإضافة ليست رديئة الجودة كثيراً، وتقوم بصفّ مكتبة jQuery، فهذا شيء جيّد، يمكننا ببساطة إلغاء المكتبة من الصفّ وتنتهي المشكلة. إن كانت الإضافة رديئة كما وصفناها ولا تقوم بصفّ مكتبة jQuery، عندها يجب على المطوّر أن يقوم بالتعديل على ملفات الإضافة يدوياً لإلغاء تحميل مكتبة jQuery. وهناك احتمال كبير أن المطور سينسى التعديل الذي قام به، ومع مرور الأيام يقوم بتحديث الإضافة إلى إصدار جديد ويذهب التحديث اليدويّ الذي قام به! أو إن كان ذو ذاكرة قوية، سيقوم بالقيام بالتعديل اليدوي ذاته في كل مرة يظهر إصدار جديد من الإضافة. لكم أن تتخيلوا المعاناة التي ستصبح على كاهل المطوّر. الخيار الثالث والأسرع هو القيام بحذف هذه الإضافة رديئة الجودة والبحث عن واحدة أفضل منها تتبع المعايير والقواعد وتستخدم أحد الإصدارات من ملفات JavaScript و CSS. الخيار الثالث هو الأفضل لتقليل استخدام مسكنات ألم الرأس. من المهم اتباع المعايير والقواعد المتفق عليها حتى لا يقع المطوّر في الحُفر التي وُضعت تلك المعايير والقواعد من أجل تلافيها. 2. استخدام المكتبات الموجودة في ووردبريس ربّما حدّثتك نفسك في أحد الأيام أن تستعرض ملفات ووردبريس وترى محتواها، إنْ حدث ذلك فلا بدّ أنك رأيت الكثير من مكتبات جافاسكريبت مثل jQuery، jQuery UI، Backbone وغيرها. إن كانت هذه الملفات موجودة ضمن ووردبريس، فلمَ لا نقوم باستخدامها عند الحاجة إليها؟ لو كان القالب يحتاج إلى مكتبتيّ jQuery و jQuery UI فبدلاً من تحميل نسخة من كل مكتبة من الإنترنت ثم وضعها ضمن ملفات القالب واستخدامها، يمكننا بشكل مباشر استخدام نسخة jQuery و jQuery UI الموجودتان ضمن ووردبريس. بهذا نضمن الحصول على إصدار حديث من المكتبة يأتي مع كل تحديث لووردبريس بالإضافة لعدم التكرار (Don’t Repeat Yourself). من المكتبات الشهيرة المضمّنة في ووردبريس: jQuery jQuery UI Backbone jQuery Suggest Thickbox TinyMCE Underscore للاطلاع على كامل القائمة يمكن زيارة صفحة التوثيق. 3. استخدام jQuery بشكل مباشر من شبكة توصيل المحتوى (CDN) لا بدّ أنك سمعت بشبكة توصيل المحتوى (Content Delivery Network). تعريفها على ويكبيديا: هي مجموعة من الخوادم المتزامنة والموزعة والموجودة على الشبكة في أماكن جغرافية مختلفة، تحتوي على نسخ من البيانات. فالعميل يحصل على البيانات من الخادم الموجود في أقرب موقع جغرافي، بغرض تقليل التأخير الناتج في نقل البيانات. هناك موقع مخصص لاستخدام مكتبات JavaScript عن طريق شبكات توصيل المحتوى هو jsDelivr، سنقوم باستخدام رابط مكتبة jQuery منه (//cdn.jsdelivr.net/jquery/2.1.3/jquery.min.js) لنقوم بصفّها واستخدامها ضمن القالب، عوضاً عن استخدام النسخة المتضمنة في ملفات ووردبريس. للقيام بهذا نحتاج لوضع الأسطر القليلة التالي في ملف functions.php الخاص بقالبنا: add_action( 'wp_enqueue_scripts', 'register_jquery' ); function register_jquery() { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', ( '//cdn.jsdelivr.net/jquery/2.1.3/jquery.min.js' ), false, null, true ); wp_enqueue_script( 'jquery' ); } قمنا بإلغاء تسجيل jQuery (كانت مسجلة مع الملف المتضمَّن في ووردبريس)، ثم قمنا بتسجيلها مع رابط الملف من شبكة توصيل المحتوى (CDN)، وأخيراً قمنا بصفّها (enqueue) ليتم إدراجها في القالب. 4. صفّ ملف جافاسكريبت يعتمد على jQuery في معظم الحالات نحتاج في القوالب لإضافة جافاسكريبت، سواء لإضافة حركات معيّنة أو لتعديل شيءٍ ما، وبسبب شهرة مكتبة jQuery فمعظم المطورين يعتمدون عليها كقاعدة أساسية لبناء ملفات جافاسكريبت الخاصة بقوالبهم. على فرض أن الملف الذي نريد إضافته يعتمد على مكتبة jQuery وهو موجود مع ملفات القالب في المسار: js/custom.js، لصفّ هذا الملف نقوم بإضافة الأسطر التالية إلى ملفfunctions.php: add_action( 'wp_enqueue_scripts', 'enqueue_custom_js' ); function enqueue_custom_js() { wp_register_script( 'my-custom-js', get_template_directory_uri() . '/js/custom.js', ['jquery'] ); wp_enqueue_script( 'my-custom-js' ); } قمنا بتسجيل الملف الذي نريد صفّه، ولنلاحظ كيف حدّدنا متطلبات الملف ضمن مصفوفة، يعتمد الملف على مكتبة jQuery فقط. ثم قمنا بصفّه باستخدام المعرّف الذي استخدمناه أثناء تسجيل الملف. تكون النتيجة في المتصفح مشابهة للتالي: <script type="text/javascript" src="//cdn.jsdelivr.net/jquery/2.1.3/jquery.min.js?ver=4.2"></script> <script type="text/javascript" src="http://localhost:8000/wp-content/themes/my-theme/js/custom.js?ver=4.2"></script> ونلاحظ أن ووردبريس قامت بصفّ مكتبة jQuery قبل الملف الذي قمنا بتسجيله، وذلك كي يقوم المتصفح بقراءة ملف المكتبة في البداية وتكون متوفرة للاستخدام، وعند قراءة المتصفح للملف الخاص يمكن للملف استخدام مكتبة jQuery بعد أن أصبحت متوفرة. تمرير متغيّرات من PHP للجافاسكريبت ماذا لو أردنا استخدام متغيّرات ما ضمن جافاسكريبت؟ قد يتهيؤ للبعض أن يقوم بعمل طلب AJAX أو وضع ما يريد استخدامه في جافاسكريبت بداخل ملف خارجي. قد تعمل هذه الحلول، لكنها لن تجدي نفعاً إن أردنا تمرير متغيّرات تتبدّل قيمتها باستمرار كأن تكون من قاعدة البيانات مثلاً. توفّر ووردبريس حلّاً سهلاً ومناسباً لهذه المشكلة، وذلك باستخدام دالّة wp_localize_script، اسم الدالّة قد يوحي أنها مخصصة للترجمة، لكن يمكن استخدامها لتمرير جمل الترجمة وأي نوع آخر من المتغيّرات إلى جافاسكريبت. محددات الدالّة هي: - handle$: معرّف لملف جافاسكريبت الذي نريد تمرير المتغيّرات له، يجب أن يكون الملف مسجّلاً قبل استخدام الدالّة. - name$: اسم متغيّر جافاسكريبت الذي سيتم وضع البيانات بداخله. - data$: مصفوفة المتغيّرات التي نريد تمريرها إلى جافاسكريب. مثال: لنقم بتمرير متغيّرين هما سلسلة نصية ورقم إلى ملف جافاسكريبت ذو المحدد my-custom-js: add_action( 'wp_enqueue_scripts', 'enqueue_custom_js' ); function enqueue_custom_js() { wp_register_script( 'my-custom-js', get_template_directory_uri() . '/js/custom.js', ['jquery'] ); $translation_array = array( 'some_string' => 'A String to be using inside JS', 'a_value' => '10' ); wp_localize_script( 'my-custom-js', 'object_name', $translation_array ); wp_enqueue_script( 'my-custom-js' ); } كي نصل إلى المتغيّرات من داخل ملف custom.js، نستخدم شيئاً مشابهاً: alert( object_name.some_string); يجب أن تظهر رسالة تنبيه (Alert) بداخلها النصّ الذي استخدمناه. صفّ الملفات في لوحة التحكم كل ما مرّ معنا من تسجيل وصفّ الملفات هو خاص بواجهة الموقع (Front-end)، أي الذي يراه الزوار. إن أردنا تسجيل وصفّ الملفات في لوحة التحكم (Dashboard) يمكننا ذلك بنفس الطريقة، لكن باستبدال حدث wp_enqueue_scripts بحدث: admin_enqueue_scripts. مثلاً لصفّ مكتبة jQuery Suggest في لوحة التحكم (المكتبة معرّفة مسبقاً في ووردبريس)، نستخدم الأسطر التالية: add_action( 'admin_enqueue_scripts' , 'enqueue_jquery_suggest' ); function enqueue_jquery_suggest() { wp_enqueue_script( 'suggest' ); } ملاحظة: من المناسب وضع شروط معيّنة قبل صفّ الملفات وقصرها على صفحاتٍ معينة، كي لا يتم وضع الملف في كل صفحات لوحة التحكم. الخاتمة تعرّفنا على كيفية صفّ ملفات JavaScript و CSS، هذه الآلية تسهّل كثيراً تنظيم الملفات والتعامل معها، ويجب الحرص على استخدامها بشكل دائم، فهي من المعايير والأشياء المتعارف عليها في تطوير قوالب وإضافات ووردبريس. أرجو أن يكون الشرح واضحاً ومفيداً، إن كان لديكم سؤال أو فكرة فلتشاركونا إياها في التعليقات.
    1 نقطة
  3. هل سبق ووجدت نفسك غارقًا في العملية التالية: ابتكار فكرة.بناء الفكرة.وضع الفكرة على الإنترنت.انتظار المبيعات...انتظار المبيعات...المكابرة، ومحاولة اكتشاف إن كان المُنتج ملائما للسوق Product/market fit" أو بعبارة أخرى من يودّ شراء هذا المنتج؟على مرّ السنين كنتُ أشاهد عددًا لا يحصى من الأصدقاء والمعارف ممن هم عالقون ضمن هذه العملية. أمّا في حال وصولك إلى الخطوة السّادسة فهذا يعني أنّك حالةٌ خاصة، فمعظم الأشخاص يتعثّرون بين الخطوتين الأولى والثّالثة، باعتبارها الخطوات التي يبدأ فيها الشكّ بالتسرّب إلى داخلك، وهذا بدوره يغذي الخوف من الفشل ومن ثمّ التسويف، حتّى أنّ البعض قد كرّروا الخطوات الثّلاث الأولى دون أن يتجاوزها مرارًا وتكرارًا لسنوات. لكن إذا ما استطعتَ بلوغ الخطوة السّادسة، فسيكون هنالك احتمالٌ كبير لأن تواجه مباشرةً الخطوة السّابعة وهي الاستسلام، حيث تكافح لإيجاد مصادر مبيعات جديدة دون أن تنجح في ذلك. لحلّ هذه المشكلة ظهرت استراتيجيات عديدة، وهي في العموم تنقسم إلى نهجين: الأوّل: يقترح تجاوز الخطوة الثّالثة؛ بهدف الإسراع في تطبيق الفكرة.الآخر: يدفع إلى الانتقال سريعًا من الخطوة السّادسة: لإنجاز مبيعات حقيقية بدل الدخول في الخطوة السّابعة والتي لا مفرّ منها: الاستسلام (تنمية العملاء).وكما ترى فإن كِلا المقاربتين تقعان بالخطأ نفسه، إذ يُصادقان على صحّة العمليّة الأم، ثم يشرعان في محاولة تعديلها وتحسينها. الحل الحقيقييكمن الحلّ الحقيقي في التخلّص من هذه العمليّة كليًا، يرجع ذلك إلى كونها وصفة غير فعّالة، مبنية على مجرّد تمنيات من العقل اللاواعي، ولا تمتلك القدرة على إنقاذ الأشخاص، لذا لا داعي لتضييع المزيد من الوقت عليها. في موقعنا 30x500 نُدرّس أنا وزميلي طلبتنا طريقة أفضل لذلك، وهو ما أودّ الحديثَ عنه هنا، يُمكن النظر لهذه الطريقة على أنها “عملية” أخرى، إلا أنها ليست على هيئة خطوات صارمة أو من تداعيات الخيال، إنها في الحقيقة مجموعة أسئلة، بالإضافة إلى تقنيّات وأدوات تساعدك في الإجابة عنها. ثلاث أسئلة بسيطةطريقتنا ببساطة تتطلب منك الإجابة على ثلاثة أسئلة فقط؛ إلا أنها تُشكّل العمود الفقري لنجاحك. فما عليك إلا أن تُجيب عمّا يلي: لمن أقدّم خدمتي؟ما الذي يحتاجونه أو يريدونه، وهل هم جاهزون للشّراء؟كيف يمكنني الوصول إليهم وإقناعهم؟إنها أسئلة كبيرة، لكنها بسيطة أيضًا، وكلّما أجبت على أحدها سيصبح طريقك أكثر وضوحًا. الخلطة السّريّة هنا أنّه في حال اجتهدت للإجابة بدقّة على السؤال الأول، فإنه سيقودك إلى الثاني وهكذا، لقد بنينا هذا النّهج ليعطي زخمًا (momentum) إيجابيًّا. بدايةً وقبل أن تفكّر في بناء منتجٍ ما ومن ثم تجلس حائرًا متأملًا في مَن قد يشتريه. ابدأ بسؤال نفسك: "من يريد شراء شيءٍ ما، وما هو ذلك الشيء؟"، ينبغي أن يكون العميل هو نقطة الانطلاق. 1- لمن تقدم خدمتك؟قبل أن تسأل "ما الذي يريده الناس؟" كوّن فكرة عنهم أولًا. يشيع بكثرة هذه الأيام الحديث عن أهمية "اختيار التخصّص Niche” من قبل مختلف أنواع الشركات الناشئة إلا أنّ هذه الخطوة في واقع الأمر ليست بتلك الأهمية، أكرّر: ليست بتلك الأهمية الكبيرة. سابقًا، ارتكبنا أنا وزميلي خطأً كبيرًا إذ سمحنا لطلبتنا في هذه المرحلة من الدّراسة أن يخرجوا عن نطاق السّيطرة، عندما أصبحوا في مواجهة خيار يتوهمون بأنّ له أهميةً بالغةً مما يُصيبهم بالقلق ودفعهم لرفض اتّخاذ قرار بعينه، باختصار، لقد توقّفوا عند الخطوة الأولى. الآن أصبحت أصرخ في أوجههم: "لا تتوهّموا، التّوهّم هو الموت". أقدّم اليوم النصيحة التالية: هل أنتم مطورو لغة Ruby؟ إذًا قدّموا خدماتكم لمطوري Ruby. هل أنتم مصممو UX؟ إذًا قدموا خدمات لمصمّمي UX. هذا ليس خيارًا ستعيش معه إلى الأبد، كلّ ما عليك فعله الآن هو أن تختار مجالًا ثم تقدّم إلى الأمام، أضف إلى ذلك؛ لا تختر مجالًا بعيدًا عن حقل تخصصك. لا يمكنك أن تتحمل تكلفة أن تكون مبدعاعندما تبدأ عملًا جديدًا فهذا أشبه ما يكون بدخول معركةٍ ضارية مع كل شيء، حيث تتأمر أشياء مثل الكسل، العادات القديمة، والظروف للقضاء على طموحاتك تجاه المنتج وقبل أن تجني دولارًا واحدًا؛ لذا لن يمكنك أن تتحمّل صعوبة التخلي عن ميزة واحدة، وهذا بالضبط ما ستقع به عندما تختار جمهورًا لا تنتمي إليه، مع كل الاتّصالات والعلاقات المرتبطة بذلك. 2- ما الذي يحتاجونه؟ وهل هم جاهزون للشراء؟من هنا تبدأ القيمة الحقيقية بالتبلور. لنقل مثلًا أنّك مطور روبي لذا فأنت ستقدّم خدمات لمطوري روبي، الآن يجب عليك القيام بأبحاث حول هذه الفئة، لمعرفة ما الذي يحتاجونه، ما الذي يريدونه وما الذي هم على استعداد لشرائه. أهمية القيام بالبحث، تأتي من أنه لا ينبغي أن تعتمد على ما تظنه أو تتخيله، فعقلك لم يدرس المجال بعد ويتعرف على متطلّبات هذا السوق. يُمكنك الاستعانة بالخطوات التالية للبدء بعملية البحث: اكتب قائمة بالمواقع الإلكترونيّة التي يلتقي ويتواصل عليها مطوّرو روبي.ابحث فيها مع هدف معيّن في ذهنك.دوّن نقاط الضّعف، المعتقدات، وجهات النّظر العامّة، الشكاوى، الأسئلة، المشاكل، المنتجات والرّغبات.قم بهذا لفترة طويلة...10، 20 أو30 ساعة قبل أن تحاول إنشاء منتج ما.حالما تجمع قاعدة جيّدة من البيانات، عليك أن: ترتّبها، ثم تكتب خلاصتها وتصنفها في أنماط.بلور المعطيات على شكل أفكار لمنتجات مبدعة.هذه الخطوات يمكنها حل مشاكلكقال إديسون ذات مرّة: ألقي نظرة على المشاكل التّالية فلربّما قد واجهتها من قبل. معظم الناس سيقولون لك: "هذا ما يحدث عندما تبدأ شركة ناشئة." إلا أنّه وكما تحدّثنا للتوّ عن تلك العملية الافتراضيّة الغبية، لا يوجد هنالك ما هو عادي أو طبيعي بشأنها: هل يريد أحدهم هذا؟ إذا ما استخدمت هذا النّهج فسيكون بإمكانك أن تقول نعم وأنت تشعر بالأمان لذلك، هذا يعود إلى أنك لم تبدأ بفكرة ما ثم رحت تأمل أن يريدها الناس، بل بدأت بما أراده النّاس ثمّ صنعته. إنّهم في حاجة إليه، لكن هل يريدونه؟ ابدأ بالبيانات التي يمكنك معرفتها عبر ملاحظة سلوك الشّراء لديهم، هل يكتفون بالتّذمّر ولا يشترون أبدًا؟ يمكنك معرفة ذلك عبر دراستهم. "لا أعلم...أنا خائف..." بينما لا تستطيع الأبحاث حلّ مشكلة الخوف، يمكنك مواجهته بسؤال: "أين الدّليل؟"؛ ولأنّك ستكون قد استندت في قراراتك على أبحاث طويلة، فسيكون بإمكانك إعادة النّظر في هذه القرارات وأن تثبت لنفسك أنّها سليمة تمامًا. كيف أبيعه للنّاس؟ اِفعل الأشياء بالطّريقة "المُمِلّة" (ابحث! بعبارة أخرى) وستمتلك البيانات التي تحتاجها لتتحدّث بلغة العملاء، تحدّث عن آلامهم بطريقتهم وما يودّون تحقيقه أيضًا. كيف أعرض هذا المنتج أمام العملاء المحتملين؟ سأكرر ما قلته، ابحث أوّلا وستمتلك جميع الإجابات اللازمة، ستعرف الأماكن التي يتواجد فيها عملاؤك المستهدفون على الإنترنت، حيث يمكنك الوصول إليهم هناك، وستكون على علم بما يثير اهتماماتهم وبما يجدونه من صعوبة، وبالتّالي فإن الطّريق سيكون ممهّدًا أمامك لإنجاز محتوىً يجذبهم. و هو ما يجعلنا أمام السؤال التالي والأخير: 3- كيف يمكنني الوصول إلى عملائي المحتملين وإقناعهم بالشراء؟في الواقع يمكنك تحقيق مبيعات حتّى قبل أن تبني المنتج نفسه، وذلك فيما لو اتبعت تسويقًا فعّالًا، وهذا ما يسمّى بالـPre-Sales. في المقابل لو انتهيت من المنتج ولم تكن لديك أيّ طريقة لتسويقه، فإنك لن تستطيع تحقيق أيّة مبيعات على الإطلاق. ولهذا فإن نهجنا هذا يمكّنك من معرفة طريقة التسويق الأنسب لمنتجك؛ حتى قبل أن تكتب أيّ شيء على ورق، وهذا على عكس الطريقة التي يتّبعها معظم النّاس. لا يتطلّب هذا النّهج الكثير من العمل الإضافي، لأن كلّ خطوة قطعتَها حتّى الآن ستوجّهك نحو استراتيجية التسويق الناجحة: فأنت تعرف بالفعل أين تجد عملاءك المحتملين (لأنّك قضيت وقتًا طويلا تدرس ذلك).بالإضافة لمعرفتك مالذي يريدونه، يحتاجونه، يقرؤونه ويشاركونه (لأنّك قضيت وقتًا طويلا تدرس ذلك).والآن اسأل نفسك الأسئلة الثّلاثة؛ لأنك إذا كنت تستطيع الإجابة عنها أو بالأحرى قد قمت بالعمل السّابق بشكل جدّي حتّى تجيب عنها عبر البيانات، فإنّ معرفتك ستقودك إلى: بناء منتج يريده العملاء المستعدّون للدفع.جمع العناصر الضّرورية لإقناعهم بالشراء.تعلّم كيفية جعلهم يرون حملتك التّسويقية في المقام الأول.كل ما عليك الآن هو استثمار ما سبق للخروج بمنتج جميل ومربح. في حال تجاهلك لأي خطوة وفشلك في الإجابة عن أيّ سؤال، ستجد نفسك في فوضى متشابكة، فوضى لا يمكنك التّخلص منها عبر التّأجيل أو الخروج من المنزل. هل الأمر حقا بهذه البساطة؟نعم هذا هو جوهر الأمر، وهكذا حقّقت الأموال التي جنيتها حتى الآن في مجال بيع المنتجات، والذي يعتبر في الحقيقة مالا كثيرًا. لكن الأمر أشبه بالشّطرنج، فالقوانين بسيطة لكن الأمر قد يتطلب عُمرًا بأكمله لإتقان اللعبة. صحيح أن هذا يعتبر تحدّيًا لك، لكن إذا قبلت التّحدي ولعبت، فإنّ المكافآت ستكون مُربحة بشدّة. ترجمة -وبتصرّف- للمقال How do you create a product people want to buy لصاحبته Amy Hoy. حقوق الصورة البارزة: Designed by Freepik.
    1 نقطة
  4. قد يبدو من السخرية أن أدوّن حوّل التخلص من المُدوّنات، لكن لقد تغير مشهد التسويق، وأولئك الذين لا يتأقلمون، يموتون. وفي حين أنه من الصحيح أن التدوين يمكن أن يكون وسيلة رائعة لبناء متابعين أوفياء والإعلاء من شأنك وشأن شركتك، إلا أنه لا يوجد طريقة لضمان النتائج. تقع الكثير من الشركات في فخ الاعتقاد بأن عليهم إطلاق مدونة ونشر مقالات القوائم والمقالات من نمط (10 طرق لفعل كذا...) من مبدأ أن نشر أي شيء أفضل من عدم نشر شيء. لكنهم مخطئين للغاية. إن البحث عن وكتابة المقالات التي يقدرها جمهورك وعملاؤك المحتملون يحتاج إلى وقت. وفي الشركات الناشئة النموذجية، يكون الوقت ثاني الموارد الأكثر ندرة بعد المال. لكن ما هو الخيار البديل؟ تبدو الإعلانات انتهازية للغاية بالنسبة لمعظم العلامات التجارية، وكما يوضح خبير الإنترنت جيفري زيلدمان Jeffrey Zeldman : أنت تحتاج حاليًا إلى شيء ما لتعزز وضعك، وتلفت الانتباه، وتجذب العملاء المناسبين. أنت تحتاج إلى التسويق الذي لا يُفهم على أنه تسويق. لماذا تحتاج إلى إعطاء عملائك أداء يستخدمونها هذا ما توصل إليه باحثان عندما رغبا في معرفة المقالات الأكثر مشاركة في صحيفة نيويورك تايمز. تم مشاركة المقالات التي تقدم فائدة عملية –نصائح وإرشادات يمكن تنفيذها فعليًا- أكثر بكثير من المقالات المشوقة أو حتى المقالات المفاجئة. وبالتالي، إذا كان يمكن لقصة مع قيمة عملية تحقيق هذا المستوى من التأثير، ماذا سيحدث إذا كان من الممكن تطبيق هذه الفائدة العملية على شيء ما أكثر أهمية من مقال منشور في مدونة. ماذا لو أعطيت عملاءك حقًا أداة يستخدمونها بشكل منتظم. كما يقول Jay Baer الكاتب في نيويورك تايمز ومؤلف كتاب Youtility الأفضل مبيعًا: يمكنك أن تُرِي شخصًا ما كيف يصطاد سمكة، لكن لو أعطيته صنّارة فلن ينساك أبدًا. أفضل تسويق هو عندما لا تعرف أنه تسويقعلى الرغم من جميع الإثباتات والدّلائل على أن الأدوات العملية هي أدوات تسويق ذهبية، إلا أن العمل على هذه "المشاريع الجانبية" لا يزال يحظى بسُمعة ليست جيّدة. نحن غالبًا ما نتخلى عن أفكارنا بعد أن نسأل: "هل يجعلنا هذا المشروع الجانبي نبدو مشتّتي التفّكير والتّركيز؟""لماذا يجب أن نأخذ وقتًا طويلًا بعيدًا عن جهود التسويق (ناهيك على أننا سنبتعد عن بناء منتجنا) لتنفيذ مشروع جانبي منفصل تمامًا عنها؟"لكن في حالة التسويق، نحن نحتاج إلى إعادة النظر بما يعرف باسم "مشروع جانبي". إذا كنت تعمل على مشروع لخلق قيمة لشركتك، فهذا لا يختلف عن العمل على أي مشروع خلق قيمة آخر (مثل مدونتك). ربما يكون مشروع جانبي مثل موقع على الإنترنت أو تطبيق مجرد أن يكون شكلًا مُتقدّمًا من أشكال التّسويق. أنت تحتاج إلى التفكير في الهدف قبل التخلي عن فكرتك. لكن ماذا عن الشبكات الاجتماعية والاستفادة من القنوات والشبكات المتاحة لك بالفعل. بالتأكيد إنها عظيمة. لكن عندما تعتمد على قنوات مثل الشبكات الاجتماعية، فإنك لا تتنافس فقط مع المحتوى والعلامات التجارية الأخرى، لكن أيضًا مع أقرب الناس لعملائك. ستختلط رسائل شركتك مع صور وتحديثات الأصدقاء والعائلة. ستصبح جزءًا من الحشد، جزء من الجلبة. تسمح لك المشاريع الجانبية بالبروز بعيدًا عن الجمهور. "عندما تخلق قيمة أولا، سيعيرك الناس انتباههم."بالنسبة لنا في Crew، أحضَرَ كل واحد من مشاريعنا الجانبية، من Unsplash إلى How Much to Make an App إلى Moodboard، عملاء أكثر من جميع الشبكات الاجتماعية والإعلانات. في الحقيقة، أكثر من نصف الزيارات التي تصلنا شهريًا هي إحالات من أحد مشاريعنا الجانبية. إن العائد على الاستثمار ROI الخاص بالمشاريع الجانبية حقيقي. لم تعد المسألة مسألة "هل سيعود بالنّفع" بل أصبحت "كم مقدار هذا النّفع؟". (العائد على الاستثمار Return on investment هي الفائدة التي تعود على المستثمر والناتجة عن استثمار بعض الموارد.) كيفية بناء مشروع جانبي بطريقة صحيحةالآن، لا تتحمس وتقحم نفسك بتهور في فكرة مشروعك الجانبي الأولى. لا تستحق كل فكرة الوقت والجهد المبذول لبناء شيء مفيد. إليك بعض الأسئلة التي نطرحها على أنفسنا والطريقة التي نتبعها عندما يكون لدينا فكرة مشروع: هل ستحل الأداة مشاكل الأشخاص الذين نريد العمل معهم؟من المحتمل جدًا أنك ستستخدم منتجًا جيدًا أكثر بكثير من مرات قراءتك لتدوينة جيدة. لهذا السبب يجب أن يكون سؤال الأول: ما هي المشكلة التي ستحلها أداتنا؟ ومن سيستخدمها؟ عندما بنى فريق Glitch أول إصدار من Slack كان ذلك لحل مشاكل اتصالات فريقهم. وبشكل مشابه، عندما بنينا Unsplash كان ذلك لحل مشكلتنا في إيجاد صور جيدة، للاستخدام العام، وعالية الدقة. كانت قيمة هذه المشاريع واضحة منذ البداية لأننا بنينا أدوات نريد استخدامها. إذا كنت ستستخدم مشروعك الجانبي الذي تفكر فيه، فمن المحتمل أن يستخدمه جمهورك أيضًا. اختبر فكرتك على نفسك. هل يمكننا البدء بشي أصغر؟تحلّ كل الأدوات العظيمة المشكلة بطريقة أسهل بكثير مما تم القيام به سابقًا. تم بناء الإصدار الأولي من Unsplash بسرعة باستخدام قالب تمبلر سعره 19$ وبعض الصور المهملة من جلسة تصوير. وبعد سنتين، شُوهدت صور Unsplash أكثر من 350 مليون مرة في الشهر، وأصبح مصدر الإحالة رقم 1 لـ Crew. حتى أن Crew نفسه بدأ كنشرة بريدية على Mailchimp و Wufoo form. ابدأ بشكل بسيط. هل يمكننا استخدام شيء ما بنيناه بالفعل؟ليس بالضرورة أن يكون المشروع الجانبي شيئًا جديدًا بالكامل. إن إعادة تطويع ما سبق لك بناؤه واستخدامه بالفعل وتجميعه في أداة هي أسهل طريقة لتنفيذ الفكرة بسرعة. لماذا لا تبدأ بتدوينة كـ MVP ما ترغب في بنائه؟ هل لديك محتوى حاز على شعبية كبيرة بين جمهورك؟ هل يمكنك استخدامه لقاعدة للأداة التي ستعطي قيمة إضافية؟ إن نجاح مشروعنا الجانبي "How Much to Make an App" جعلنا نتساءل ما هي المشكلات المشابهة الأخرى التي يواجهها عملائنا المحتملين؟ لذلك بنينا أداة "How Much does a Website Cost؟" وأداة "App vs. Website“ ولدينا المزيد من المشاريع المشابهة قيد البناء حاليًا. إن بناء هذه الأدوات سيستهلك كمية قليلة جدًا من الموارد خاصّة إذا كان لديك إطار عمل جاهز تستطيع الاعتماد عليه، لذلك لم لا نبنيها؟ حقّق أقصى استفادة من العمل الذي قمت به بالفعل. هل تحتاج إلى تحديثات منتظمة؟يجب أن يكون هدفك هو استمرار المشروع في العمل سواء لم يكن يحتاج إلى تحديثات مستقبلية أو حتى لو احتاج إلى عدد قليل جدًا من التحديثات للاستمرار في تقديم القيمة المطلوبة. إذا كنت ترغب في تحديث أحد مشاريعك التسويقية، اسأل نفسك: "هل تحسين هذا المشروع سيكون أكثر قيمة من بناء شيء ما جديد؟" إذا أطلقت مشروع ولم يلق شعبية بين جمهورك، فاتركه واتجه نحو شيء آخر. وتأكد من أن يبقى مشروعك الجانبي عبارة عن مشروع جانبي. خلاصةيُعرّف التسويق اليوم بمدى فائدته لعملائك، وأصبحت المهمة أكثر صعوبة. كانت المدونات، الإنفوجرافيكس infographics، والندوات عبر الإنترنت webinars أدوات التسويق الذهبية ذات يوم إلا أن مواقع الويب والتطبيق والأدوات قد أخذت مكانها الآن. لا تظن أنه يجب عليك تقليد ما يفعله كل شخص، لأنك إذا فعلت ذلك فأفضل ما يمكنك توقعه هو أن تكون في المركز الثاني. فكر ما هي القيمة الحقيقية التي يمكنك توفيرها لعملائك. أعطهم صنّارة وأرشدهم إلى البُحيرة ليصطادوا. ترجمة -وبتصرّف- للمقال Kill your blog: Why side projects are the future of marketing لصاحبه Jory Mackay. حقوق الصورة البارزة: Designed by Freepik.
    1 نقطة
  5. السلام عليكم أنا اليوم قمت بالتسجيل في موقع أكادمية حسوب، وأريد كتابة مقالات لكن قبل هذا أريد أن أعرف المعايير التي تستخدمونها لتقييمكم للمقالة(عدد الكلمات، التدقيق اللغوي....)؟ و كيف أضع حقوق صاحب الموضوع في المقالة؟ أنا الآن جهزت مقالة، إن كانت موافق للمعايير التي قدمتموها سأرسها.... شكرا ، فريق أكاديمية حسوب
    1 نقطة
  6. أريد تحويل سلسلة نصية بصيغة "%d/%m/%Y" إلى timestamp فهل هذا ممكن في بايثون؟ وكيف أستطيع فعل ذلك؟ مثال على ما أريده: "01/12/2011" -> 1322697600
    1 نقطة
  7. http://academy.hsoub.com/pages/write-for-us/writing-guidelines/ راجع الشرط 5 من الشروط المتعلقة بالمقالات توجد بعض المقالات لا تتعد 1500 كلمة وهي منشورة مثل مقالات التصميم
    1 نقطة
  8. تفضل بقراءة هذا أخي العزيز: "اكتب معنا" http://academy.hsoub.com/pages/write-for-us/publication-process/ " شروط وقواعد الكتابة" http://academy.hsoub.com/pages/write-for-us/writing-guidelines/ "آلية النّشر" http://academy.hsoub.com/pages/write-for-us/publication-process/
    1 نقطة
  9. إذا كان لديك موقع تطوير، توثيق لمشروع، قسم مساعدة منتجات أو أي شيء مماثل وكنت تستعمل ووردبريس كنظام إدارة مُحتوى، فهناك احتمالات أنّك احتجت إلى عرض شيفرات برمجيّة في وقت أو آخر. قد يسبّب هذا الأمر مشكلة صغيرة أو مشكلة كبيرة جدًا على حسب لغة البرمجة المستخدمة. سنقوم في هذا المقال بتوضيح لماذا يعدّ هذا أمرًا مثيرًا للإزعاج وكذلك استكشاف بعض الخيارات المتاحة لك من أجل عرض الشيفرات البرمجيّة بشكلٍ جميل وسهل على موقع ووردبريس الخاص بك. لماذا عرض الشيفرات البرمجية أمر صعبتحتاج لفهم سبب صعوبة عرض الشيفرات البرمجيّة إلى معرفة بعض أساسيّات HTML. لجعل بعض النصوص عريضة (Bold) فعليك وضعها بين وسوم. من أجل جعل الخط عريضًا مثل هذا النصّ فسأحتاج إلى كتابة <strong>الخط عريضًا</strong> في محرّر ووردبريس الخاص بي. الأمور إلى الآن جيّدة ولكن الجزء الصعب هو: ماذا لو أردتُ أن أريك كيف قمتُ بعمل ذلك؟ في أيّ وقت أقوم بكتابة <strong> في المحرّر سيتمّ ترجمتها كشيفرة HTML برمجيّة، يعني هذا أن الوسم سوف يختفي وفي المقابل سيتم إظهار النص عريضًا. المشكلة الأخرى الموجودة لدينا هي إبراز بنية الجملة (Syntax) وتلوينها. حتى إذا تمّ عرض الشيفرات البرمجيّة بشكل صحيح فربّما يكون من الصعب قراءتها بدون التنسيق الصحيح. عرض الشيفرات البرمجيةأفضل طريقة لعرض الشيفرات البرمجيّة بالشكل الصحيح هي تحويل الرموز ذات المعاني المميّزة إلى HTML Entities (كيانات HTML). ربّما تكون على درايّة أنّه أحيانًا قد تحتاج إلى كتابة &amp; بدلاً من علامة العطف & العاديّة لجعلها تظهر على نحوٍ صحيح. يرجع هذا إلى أنّ &amp; هي كيان HTML الخاص بعلامة العطف &. لا يتمّ ترجمة كيانات HTML إلى شيفرات برمجيّة وإنّما يتم عرضها مثل نظيراتها من غير الكيانات. من أجل أن تريني كيف تنشئ خطّ عريض فعليك أن تكتب شيء يشبه ما يلي: &lt;strong&gt;bold text&lt;/bold&gt;&lt; هي كيان HTML لعلامة أقل من (لاحظ اختصار lt) و&gt; كيان HTML لعلامة أكبر من، لهذا استخدمنا الاختصار gt. إضافة شيفرة برمجية إلى تدوينة ووردبريس – الطريقة السهلةأسهل طريقة لإضافة شيفرات برمجيّة إلى تدويناتك هي أن تستخدم كيانات HTML وتحيط كل شيء بوسم <pre>. مثال سريع لتوضيح الأمر: <pre> add_action('admin_notices', 'show_mot_text'); function show_mot_text() { $text = get_motivation_text(); echo "&lt;p id='wp-admin-motivation'&gt;$text&lt;/p&gt;"; } </pre>لاحظ كيف قمتُ بإدراج الشيفرات البرمجيّة بعد وسم <pre> مباشرةً وأغلقتُ الوسم باستخدام <pre/> بعد آخر رمز في الشيفرة البرمجيّة. قد ترى أنّه من الأفضل لو تمّ وضع الوسوم في أسطر منفردة ولكن في هذه الحالة ستقوم خاصيّة إبراز بنية الجملة (Syntax Highlighter) في جافا سكربت بترجمة فواصل الأسطر تلك على أنّها فواصل أسطر فعليّة. ولذلك فعدم ترك فواصل أسطر تعتبر عادة حميدة هنا. تعمل هذه الطريقة بشكل جيّد ولكن صيانتها تعتبر كابوسًا. إذا كان لديك العديد من الوسوم وليس فقط النصّ الوحيد الموجود في المثال ستجد هناك فوضى من كيانات HTML مما يجعل عمليّة تعديل الشيفرات البرمجيّة أمرًا صعبًا. إذا احتجتُ إلى اللجوء إلى هذه الطريقة فإنّني أستخدم محرّر نصوصي لإنشاء كيانات HTML. أقوم بكتابة شيفرات برمجيّة عاديّة ومن ثمّ تحويل كل كيانات HTML مرّة واحدة باستخدام محرّر النصوص. إذا احتجت إلى تعديل الشيفرات البرمجيّة فيمكنك لصق النسخة المحوّلة ثمّ فكّ ترميز الكيانات إلى الرموز الصحيحة. إذا كنت تستخدم Atom.io فيمكنك استخدام حزمة HTML Entities، أمّا إذا كنت تستخدم محرّر النصوص Sublime فيمكنك استخدام أمر HTML: Encode Special Characters. رغم أنّه باستطاعتك الحصول على سير عمل جيّد باستخدام هذه الطريقة، إلا أنّ الشيفرات البرمجيّة تظهر بشكل مضطرب في محرّر تدوينات ووردبريس ودعونا نعترف أنّ هذه النتيجة أبعد ما تكون عن نظام سير عمل سريع. طريقة أفضل لعرض الشيفرات البرمجيةطريقة أفضل لإضافة شيفرات برمجيّة إلى موقع هي استخدام إضافة لتنفيذ هذا الأمر بالتحديد. الكثير من الإضافات تستخدم مكوّن جافا سكربت يعمل على إبراز بنية الجملة وخيارات أخرى لشيفراتك البرمجيّة. مكوّن إبراز بنية الجملة المفضّل بالنسبة لي هو Prism ولحسن الحظّ هناك إضافة تقوم بدمجه في ووردبريس. حمّل إضافة Prism WP، ثبّتها ثم ابدأ في كتابة شيفراتك البرمجيّة مع اتّباع التعليمات التالية. قم بإحاطة شيفراتك البرمجيّة باستخدام وسم <pre> ووسم <code>.قد تتم إضافة فئة معيّنة class إلى هذا الوسم والتي ستحدّد اللغة المستهدفة، وذلك لإبراز وتلوين الشيفرة بشكل مُناسب.إذا أردت إضافة ترقيم للأسطر فستحتاج إلى تفعيل هذا من إعدادات الإضافة ثم تضيف فئة line-numbers إلى وسم <pre>.مثال الشيفرة البرمجيّة السابق يبدو كما يلي الآن في المحرّر: <pre class="line-numbers"> <code class='language-php'> add_action('admin_notices', 'show_mot_text'); function show_mot_text() { $text = get_motivation_text(); echo "<p id='wp-admin-motivation'>$text</p>"; } </code> </pre>يبدو هذا أفضل بكثير، أليس كذلك؟ الإخراج الخاص بهذه الشيفرات لطيف أيضًا، تلقائيًّا سيظهر الإخراج مثل الصورة أدناه في حالة استخدام قالب Twenty Fifteen. هناك عدد آخر من القوالب التي يمكنك استخدامها، ربّما تريد إلقاء نظرة على الصفحة الرئيسيّة لإضافة Prism. يمكن تغيير القوالب بالنّقر على الدّوائر الموجودة في الجانب الأيمن. تتيح لك الإضافة تغيير القالب من خلال الإعدادات الخاصّة بالإضافة. خدمات خارجيةهناك عدد كبير جدًا من الخدمات التي تسمح لك بلصق شيفراتك البرمجيّة مثل Gist ،JSFiddle و Pastebin. لدى كل خدمة من هذه الخدمات إضافات ووردبريس تمكنك من تضمين شيفراتك في تدوينات ووردبريس الخاصّة بك. أقترح عليك الذهاب إلى صفحة البحث عن الإضافات في ووردبريس والبحث عن الإضافة المناسبة لك، ستجد العديد منها في ثوانٍ معدودة. افعلها بنفسك DIYأفضّل دائمًا الاعتماد على نفسي لإيجاد حلول للمشاكل عملاً بمبدأ افعلها بنفسك (DIY – Do It Yourself)، لذلك دعونا نحاول حل هذه المشكلة دون اللجوء لحلول جاهزة. لن نتطرّق لعمليّة الإبراز لأنّها صعبة للغاية، ولكن باستطاعتنا فعل الكثير لجعل إضافة الشيفرات البرمجية في ووردبريس أكثر سهولة. أكبر مشكلة تواجهنا هي مشكلة كيانات HTML. ما نريد فعله هو القدرة على كتابة الشيفرات البرمجيّة كما هي في الواجهة الخلفيّة (Backend) وعرضها كما هي أيضًا في الواجهة الأماميّة (Frontend) بدون ترجمة الوسوم. يمكن تنفيذ ذلك عن طريق إضافة مرشّح (Filter) إلى the_content. الفكرة عبارة عن أنّه قبل عرض المحتوى سنبحث خلال هذا المحتوى عن أي نصوص بين وسوم code واستبدال أي رموز مميّزة بها بكيانات HTML. لقد قمتُ قبل بضعة أشهر بكتابة إضافة بسيطة تسمّى Smart Code Escape لفعل هذا الأمر. الإضافة مثال ممتاز على شيء مفيد يستخدم 15 سطر شيفرات برمجيّة فقط. لنلق نظرة الآن. أول شيء تحتاج لفعله هو إنشاء إضافة. يمكن الاطلاع على سلسلة "مدخل إلى برمجة إضافات ووردبريس" إذا لم يكن لديك معرفة مسبقة حول كيفيّة برمجة الإضافات. باختصار: قم بإنشاء مجلّد في مجلّد الإضافات الخاصّ بك وقم بتسميته smart-code-escape وبداخل المجلّد قم بإنشاء ملفّ باسم smart-code-escape.php. قم بإضافة المحتوى التالي إلى الملف. <?php /* * Plugin Name: Smart Code Escape * Plugin URI: https://github.com/danielpataki/Smart-Code-Escape * Description: Converts less than, greater than and ampersand characters to their HTML entities within pre tags before they are output on the page. You will always see the non-escaped version in the editor, making code easy to modify. It Will not convert code tags directly within pre tags to support Prism-style highlighting. * Version: 1.1 * Author: Daniel Pataki * Author URI: http://danielpataki.com * License: GPL v2 * Licence URI: http://www.gnu.org/licenses/gpl-2.0.txt */ function smart_code_escape_pre($data) { preg_match('@(<code.*>)(.*)(<\/code>)@isU', $data[2], $matches); if(!empty( $matches)) { return $data[1] . $matches[1] . str_replace(array('&', '<', '>'), array('&amp;', '&lt;', '&gt;'), $matches[2]) . $matches[3] . $data[3]; } else { return $data[1] . str_replace(array('&', '<', '>'), array('&amp;', '&lt;', '&gt;'), $data[2]) . $data[3]; } } add_filter('the_content', 'smart_code_escape_content', 9); function smart_code_escape_content($content) { $content = preg_replace_callback('@(<pre.*>)(.*)(<\/pre>)@isU', 'smart_code_escape_pre', $content); return $content; }تحتوي الإضافة الأصليّة على توثيق مضمّن للشيفرات البرمجيّة، إذا كنت مهتمًّا فيمكنك تحميلها من المستودع وإلقاء نظرة عليها. أوّل شيء يمكن ملاحظته هو أنّني قمتُ بإضافة مرشّح إلى the_content. يقوم هذا المرشّح باستدعاء دالّة Callback تعمل مع المحتوى الموجود بين وسوم <pre>. تقوم دالة ()smart_code_escape_pre بتولي عمليّة التحويل. تعمل أوّلاً على التحقّق ممّا إذا كانت الشيفرات البرمجيّة محاطة بوسم <code>. فكّرتُ في عمل هذا التحقّق للتأكّد من أنّ الإضافة لن تتعارض مع إضافات الشيفرات البرمجيّة الأخرى مثل إضافة Prism السابق ذكرها. أتوقّع أنّه إذا قام أحدهم بإضافة شيفراتهم البرمجيّة عن طريقة إحاطتها بوسم <pre> وكذلك وسم <code> فمؤكّد أنّه يريد بالفعل عرض الشيفرات البرمجيّة كما هي في تدوينته وليس تنفيذ الشيفرات وإظهار تأثيرها على النص فقط. إذا لم تكن محتويات الوسم <pre> موجودة داخل وسم <code> فستقوم الدّالة باستبدال كل الرموز المميّزة بكيانات HTML المعبّرة عنها. خاتمةكما تلاحظ فإنّ إضافة شيفرات برمجيّة إلى موقعك ليس بالأمر الصعب، كل ما عليك معرفته مجرّد أساسيّات لماذا يتم فك الترميز. ترجمة -وبتصرّف- للمقال: How To Display Code On Your WordPress Website The Proper Way لصاحبه Daniel Pataki.
    1 نقطة
  10. عادة يتم عمل نمط التصميم Low Poly Art باستخدام تطبيقات ثلاثية الأبعاد كبرنامج Cinema 4D لكن يمكننا تنفيذ نفس النمط ويكون ثنائي الأبعاد باستخدام برنامج أدوبي اليستريتور Adobe Illustrator، تابع هذا الدرس لتتمكن من عمل تصميم جميل لجبل باستخدام Low Poly Art ومسارات الفيكتور vector paths. سنضيف أيضا بعض التدرجات اللونية لمحاكاة التأثير 3D، بعدها ننقل التصميم إلى برنامج الفوتوشوب Photoshop لإضافة بعض اللمعان عليه باستخدام خامات textures جميلة. هذه هي النتيجة النهائية التي سنحصل عليها حيث سنستخدم في البداية أدوات برنامج أدوبي اليستريتور Adobe Illustrator المخصصة لإنشاء فيكتور دقيق ثم ننقله إلى برنامج الفوتوشوب Photoshop لإضافة بعض الخامات textures والتي ستجعله أكثر حيوية. نقوم بفتح ملف جديد في برنامج اليستريتور Illustrator ونرسم مخطط لجبل باستخدام أداة القلم Pen tool، أثناء رسم الخطوط نضغط مرة واحدة على أداة القلم لتوليد خطوط مستقيمة بين النقاط أما في الجزء السفلي فنحاول أن نتبع مسارا منحنيا ليساعدنا على ظهوره بشكل 3D في وقت لاحق. نزيل التحديد عن المخطط الذي قمنا برسمه ثم نضيف خطوط متقاطعة عليه تمتد من الأعلى إلى الأسفل، بعدها نستخدم خطوط التوجيه الذكية (CMD+U) ليسهل علينا نزع snap النقاط الموجودة. نستمر في رسم المزيد من الخطوط المتقاطعة بين النقاط لتقسيم المخطط إلى قطع صغير كما يظهر في الصورة. في النهاية ستصبح الخطوط الجديدة قصيرة وبالتالي سنحصل على أشكال مضلعة أصغر، نحاول أن لا نبالغ في إضافة الكثير من التفاصيل للرسمة حتى لا تفقد قالب النمط "low poly". نحدد جميع الخطوط التي رسمناها لحد الآن ثم نضغط على الزر Divide من لوحة تحديد المسارات Pathfinder لتتقاطع الخطوط وينشأ لنا شكل واحد. نضغط على الزر الأيمن للفأرة ونختار فك التجميع Ungroup حتى نستطيع تحديد الأشكال الفردية التي تحصلنا عليها من لوحة تحديد المسارات Pathfinder كل على حدا. نرسم بعض المربعات ا(لتي سنستخدمها بشكل مؤقت) على جانب مساحة العمل ونملأها بتدرجات لونية مختلفة، بالنسبة لي فقد اخترت تدرجات اللون الأسود بين 70-90%، 60-80% و50-70% ثم تدرجات أخف بين 0-20% و10-30%. نضغط على المفتاح Shift ونحدد بعض القطع من مخطط الجبل بشكل عشوائي، ثم نستخدم أداة Eyedropper tool لتعبئة الأشكال المحددة بالتدرج اللوني الأول. نحدد بعض من الأشكال المتبقية ونطبق عليهم التدرج اللوني الثاني، ثم ننهي التعبئة باستخدام التدرج اللوني الفاتح. إذا كان هناك قطع متواجدة في نفس المساحة وملونة بنفس التدرج اللوني فيمكننا تعديلها واختيار تدرج لوني مختلف لخلق نوع من التباين. نستخدم التدرج اللوني الفاتح لعمل قمة ثلجية على الجبل، نلون الجبل بالتناوب بين التدرج اللوني الغامق والتدرج الفاتح لإضافة اختلاف في المظهر. استخدام التدرجات اللونية يساعدنا على التخلص من المظهر الثنائي الأبعاد المسطح للشكل، لكن في تصميمنا هذا فإن جميع التدرجات تتخذ نفس الاتجاه لذلك نستخدم أداة التدرج اللوني لتغيير اتجاه تعبئة كل شكل عشوائيا. تضيف التدرجات اللونية لخلق بعدا آخر للشكل، بعدها نأخذ شكل الفكتور الذي تحصلنا عليه إلى برنامج الفوتوشوب لإضافة بعض اللمسات النهائية. نقوم بلصق الرسم على ملف داخل برنامج الفوتوشوب، ونختار لون أزرق- رمادي غامق لملأ الخلفية. نرسم تحديد باستخدام أداة the Polygonal Lasso tool ثم نقوم بتعبئته بلون بني-بيج لتصميم مساحة أرض أسفل الجبل. نستخدم فرشاة كبيرة ناعمة لإضافة إضاءة بيضاء على طبقة جديدة نضعها فوق الخلفية لكن دون إضافتها على رسمة الجبل. نقوم بتغيير نمط طبقة الإضاءة من blending إلى Overlay حتى تمتزج الألوان وتخلق لنا توهجا أزرق حيوي. نضاعف طبقة رسمة الجبل ونلونها بالأسود ثم نضغط على CMD+T لتحويله، بعدها نحدد الخيار Distort حتى تمتد الرسمة وُتشكل لنا ظل طويل للجبل. نخفض من قيمة شفافية الظل إلى 10% ونضعه تحت طبقة رسمة الجبل الرئيسية. نفتح الخامة subtle grunge texture ونضعها في طبقة جديدة فوق تصميمنا، ثم نضيف الفلتر Sharpen مرة أو مرتين لإظهار التفاصيل الدقيقة. بعد تطبيق الخامة على التصميم نغير نمط الطبقة من blending إلى Color Burn لتركيبها مع الرسمة وخلق تأثير جميل، بعدها نخفض قيمة الشفافية إلى حوالي 35٪. نحدد الفرشاة Spraypaint-Brushes ونرش بعض البقع البيضاء في طبقة جديدة نضعها أسفل رسمة الجبل، نبقي الجزء الرئيسي من الفرشاة خلف الجبل لإضافة بعض الرش المضيئ على قمة الجبل ، نكرر نفس العملية مع اختيار اللون الأسود للجزء السفلي. الخامة التي قمنا بتطبيقها على التصميم باستخدام الفوتوشوب أضافت لها لمسة حيوية من خلال إزالة المظهر المسطح لرسمة الفيكتور، كما أن تأثير low poly في حد ذاته نمط رائع والذي يمكننا استخدامه لجميع أنواع التصاميم. ترجمة -وبتصرف- للدرس How To Create a Low Poly Art Mountain Illustration لصاحبه: Chris Spooner.
    1 نقطة
  11. هناك طرق مختلفة يمكن من خلالها تحديد المقدار المطلوب من الاستثمار، وإن كنتَ قد حدّدت ذلك المقدار وتحدّثت بشأنه مع المستثمرين، فقد يراودك السؤال التالي: "لماذا يعدّ هذا المقدار هو المقدار الصحيح؟"، وهو سؤال بسيط ومبرّر كذلك بالنسبة للمستثمرين، ولكن عادة ما يجاب عنه بمجموعة من اﻷجوبة غير المقبولة مثل: سيسمح لنا هذا المبلغ مواصلة العمل لمدة 9 أشهر.سنتمكن من توظيف رئيس للمهندسين ومندوبَيْ مبيعات.سيساعدنا على إطلاق بعض الحملات التّسويقية.سنتمكن من الانتقال إلى مكتب أكبر ليتاح لنا احتواء الزيادة المتوقعة في أعداد الموظفين.سيسمح لنا هذا المبلغ في التّخلي عن 25% فقط من أسهم الشركة، وهو ما نراه صحيحًا في هذه المرحلة المبكرة.نعتقد أنّه أكبر مقدار يمكننا الحصول عليه نظرًا لقدرتنا الحاليّة على جذب العملاء.لقد رأينا الكثير من الشركات الناشئة التي تمرّ بنفس الظروف مثل ظروفها والتي حصلت على هذا المبلغأخبرنا المستشار الخاصّ بنا أن هذا المقدار هو المقدار المطلوب.وماذا يعني ذلك، ولماذا سأهتم لهذا؟هناك الكثير من الأجوبة التي يمكن إضافتها إلى القائمة السابقة، ولكنّي أعتقد أنّك قد فهمت الفكرة. سيكون ردّي على أي جواب من اﻷجوبة السابقة هو "وماذا يعني ذلك، ولماذا سأهتمّ لهذا". ما يهمّ المستثمرين هو معرفة اﻹنجازات الاستراتيجية التي ستحققّها اعتمادًا على هذا التمويل، تلك الإنجازات التي ستساعد على تأمين استمرارية نموّ الشركة (تقليل المخاطر، الحصول على المزيد من الزّبائن، اكتساب الخبرات الضرورية، الخ)، ويساعدك ذلك في البقاء على المسار الصحيح لتحقيق الرؤية التي قد وضعتها والوصول في نهاية المطاف إلى مرحلة "الخروج" Exit تمنح المستثمر عائدًا جيّدًا مقابل استثماره. إن كان البقاء على هذا المسار للأشهر التسعة القادمة يتطلّب توظيف رئيس للمهندسين أو مندوب مبيعات داخلي والقيام ببعض اﻷنشطة التسويقية، فهذا أمر رائع، ولكن لا تستبق الأمور. يجب أن تتحول إجاباتك عن السؤال "وماذا يعني ذلك، ولماذا سأهتمّ لهذا" إلى تفسيرات للسبب الذي يجعل مقدارًا محدّدًا من المال هو المقدار الصحيح الذي يجب عليك الاستثمار فيه. يمكنك أن تطرح هذا السؤال على نفسك مرّات عدّة لتصل إلى الإجابة الحقيقية، إليك هذا المثال: "سنتمكن من توظيف رئيس للمهندسين". "وماذا يعني ذلك، ولماذا سأهتمّ لهذا؟" "لأنّ ذلك سيسمح لنا ببناء معمارية جديدة تسمح لنا بخدمة زبائننا بشكل أفضل في الإصدار الثاني من منتجنا، والذي نتوقع أن نُطلقه بعد 9 أشهر". "وماذا يعني ذلك، ولماذا سأهتمّ لهذا؟" "ﻷنّ ذلك سيخفّض من معدّل كلفة اﻻستضافة لكل عميل بنسبة 40%، وسيحسن ذلك من الهامش اﻹجمالي بنسبة 60 إلى 90% وسيحسّن ذلك من استرداد تكلفة اقتناء العميل CAC payback من 13 شهرًا إلى 7 أشهر فقط، لنحصل بذلك على ربحية مستدامة وبشكل أسرع بـ 6 أشهر إن اعتمدنا هذه الطريقة". أحسنت! هذه هي اﻹجابة الحقيقية التي يبحث عنها المستثمر. سيساعدك التمويل على الوصول إلى الربحية بعد فترة مُحدّدة، وهو موعد أقرب بستة أشهر من الموعد المحتمل دون وجود التمويل. هذا مثال بسيط. وقد لا يكون الوصول إلى مرحلة التّربّح أحد أهدافك في المرحلة الحالية. نادرًا ما ستخضع للتدقيق إن استخدمت الاستثمار الجديد لجلب مجموعة من العملاء. حاول فقط ألا تقع في فخ التّلاعب بالأرقام وإظهارها بالمظهر الذي ترغب فيه، وكن مستعدًا لعمل اللازم لتحقيق تلك الأهداف. يمكنك اﻹجابة على هذا السؤال بالشكل التالي: “سنستخدم هذا المال لجلب 350 عميلًا سيدفعون ما مجموعه 45,000$ ستعتبر عائدًا شهريًّا دوريًا وسنصل إلى عتبة الربح حيث تتساوى التكاليف مع اﻹيرادات وذلك في غضون 9 أشهر إن استمر اﻹنفاق في المستوى الحالي". بعض اﻷفكارإن كنت تعاني من صعوبة في العثور على بعض اﻷفكار بخصوص العائدات المتوقعة التي ترغب في تضمينها في خطّتك وإطلاع المستثمرين عليها، فأقدم إليك هنا بعض اﻷفكار: جلب عدد جيّد من العملاء الجدد (يمكن التعبير عن ذلك بالحصة السوقية المكتسبة Gained market share، إن كان عدد العملاء كبيرًا).الدخول إلى سوق جديدة.الحصول على شريك استراتيجي سيكون وجوده مؤثّرًا.الوصول إلى عتبة الربح أو تجاوزها إلى ما هو أفضل.تطوير بعض المقاييس الأساسية (على سبيل المثال: في حالة شركات الخدمة السحابية يمكن أن تمثّل تكلفة اقتناء العميل، أو استرداد تكلفة اقتناء العميل أو تقليص نسبة فقدان الزّبائن. وفي حالة تطبيقات الهواتف الذكية يمكن أن تمثّل نسبة التحويل من النسخة المجّانية إلى النسخة المدفوعة).الخلاصةالمبدأ بسيط جدًّا، فالمستثمرون لا يأبهون بالطريقة التي ستتّبعها في إنفاق المال الذي يقدّمونه إليك بقدر ما سيأبهون باﻹنجاز الذي ستحققه بواسطة هذا المال للوصول إلى مخرج مربح profitable exit؛ لذا راجع خطّتك وحاول تشخيص ما سيحصل عليه المستثمرون لقاء ما سيقدّمونه إليك من أموال. ترجمة –وبتصرّف– للمقال Investors Write Checks for Outcomes, Not Activities لصاحبه Gordon Daugherty. حقوق الصورة البارزة: Designed by Freepik.
    1 نقطة
  12. يعدّ العرض التقديمي Pitch Deck الوسيلة اﻷكثر أهمية للتواصل مع الجمهور، وستستخدمه لأغراض متعددة، إذ أنّك قد تحتاج إليه إن أردت تقديم عرض إلى العملاء في إحدى مناسبات تقديم العروض. وبدلًا من كتابة خطة عمل تتكون من 30 إلى 50 صفحة يمكنك الاعتماد على العرض التقديمي واعتباره نقطة البداية للنسخة الموسّعة من خطة العمل الخاصّة بك. هناك طرق مختلفة لترتيب العناوين في عرضك التقديمي، إلا أن الترتيب المفضّل لدي والذي أراه مستخدمًا بكثرة هو الترتيب المذكور في هذا المقال. وقد قدّمت في كل قسم من اﻷقسام مجموعة من النصائح التي يجب مراعاتها، ويمكنني كتابة مقالة كاملة حول كل قسم من اﻷقسام، لذا لا تقيّد نفسك باﻷمور التي سأذكرها. المشكلةما هي المشكلة التي ستحلها؟هل تُقدّم حلّا لمُشكلة حقيقية أم تُوفّر مُنتجًا كماليًا.استخدم الأسلوب القصصي للحديث عن المُشكلة.السوقما هو السوق المستهدف؟ما هو حجم السوق؟ما هي سرعة نمو السوق؟ما هي أهم التّوجّهات Trends المرتبطة بالنهج الذي ستتبعه؟الحلولما هي الحلول التي ستقدّمها؟ما هي القيمة التي تقدّمها هذه الحلول؟ (الأرباح وليست المزايا، اقرأ مقالي حول سؤال "وماذا يعني ذلك، ولماذا سأهتمّ لهذا؟")كيف ستبدو هذه الحلول؟ (صورة للمنتج أو لقطة للشاشة، يجب أن تكون الصورة أنيقة واحترافية وتساعد على توضيح القيمة).هل تملك ميزة حقيقية تُميّزك عن غيرك من الشّركات النّاشئة؟كيف يمكن مقارنة الحل الذي ستقدّمه بما يقدّمه المنافسون؟ (يمكنك الاستعانة بمخطّط رباعي 4-quadrant diagram، واجعل شركتك في الربع العلويّ اﻷيمن منه، أما اختيار ما تمثّله المحاور فهو أمر عائد إليك. إن لم تستطع الاستفادة من هذا المخطط، جرّب استخدام قائمة متعددة اﻷعمدة تكون فيها شركتك في العمود اﻷول أو اﻷخير، أو يمكنك استخدام مخطط فين Venn diagram بحيث تكون شركتك في المنتصف).نموذج المشروع التجاريكيف ستجني المال؟ما هو معدّل حجم التعاملات؟كيف تجلب الزبائن الجدد (نموذج الحصول على الزبائن)؟الجاذبية Tractionما الذي يثبت أن نموذج مشروعك التجاري يؤدي وظيفته المطلوبة؟الفريقمن هم اﻷعضاء اﻷساسيّون في فريقك وما هي أدوارهم؟هل هناك من يملك تخصّصًا متعلقًا بالهدف الذي تحاول الوصول إليه (خبرة ميدانية، الخ)؟يمكن ذكر المستشارين هنا إن اقتضت الحاجة.الدعوة إلى اﻹجراءما الذي تريده من الشخص الذي تقدّم العرض له؟هل تحاول الحصول على استثمار؟ وما هو المقدار الصحيح؟أما فيما يخص التّقديم الذي سيُرافق هذا العرض التقديمي (أي الكلام الذي ستقوله لما تستعرض) فمن المُمكن أن يكون على النّحو التّالي: قد يرغب بعض المستثمرين في التعرف على أعضاء الفريق أولًا، وإن كانت عملية بيع المنتج تعتمد بشكل كبير على خبرة أعضاء فريقك والشهادات التي قد حصلوا عليها، فأرى أنّ تغطّي هذا اﻷمر في البداية. وإن لم يكن اﻷمر كذلك، فأفضّل أن تثير حماسة الجمهور وفضولهم تجاه المشكلة التي ستقوم بحلها والطريقة التي ستتبعها للقيام بذلك، ولن تضطر بذلك إلى إخفاء أي خللفي فريقك، وأنّك قد حصلت على مجموعة من المستشارين الجيدين الذين سيساعدونك في تدعيم الثغرات الموجودة في الفريق. تذكّر دائمًا أنّه في حال فشل كل شيء، يمكنك الاستعانة بعامل الجاذبية Traction، ﻷنّ المجادلة في عامل الجاذبية المدعّم باﻷدلة أمر شبه مستحيل. يمكنك أيضًا إضافة شريحة بعنوان "الخلاصة" بعد "الدعوة إلى اﻹجراء" مباشرة، وفي هذه الشريحة يمكنك إضافة الجوانب الثلاثة اﻷكثر أهمية وتأثيرًا في عرضك. لا تحاول استخدام بعض العبارات الرقيقة مثل "شغف الفريق" أو "الالتزام"، قد يكون هذا ملائمًا عندما ترتبط "الدعوة إلى اﻹجراء" بالحصول على التمويل ولكن الجمهور الذي يتلقى عرضك لا يرغب في الاستثمار. يجب أن تتكوّن غالبية اﻷقسام من شريحة واحدة. يمكن لقسم "الحلول" أن يتكوّن من 2 إلى 3 شرائح، ﻷنّك قد تحتاج إلى إضافة لقطة للشاشة أو ربّما تقرر المقارنة بين الحل الذي تقدّمه وبين ما يقدّمه المنافسون. كما يمكن لقسم "نموذج المشروع التجاري" أو "الجاذبية" أن يتكوّن من أكثر من شريحة واحدة وذلك فيما لو رغبت في إضافة بعض الأمور المهمّة التي يمكن أن لا تتسع لها شريحة واحدة. ليس الهدف هو حشو الشرائح بأكبر قدر من المعلومات، بل يجب أن تحتوي على المعلومات اﻷكثر أهمية، ويمكنك تدعيم العرض وسدّ الثغرات فيه أثناء مخاطبة الجمهور. التوقعات الماليةتستخدم بعض الشركات الناشئة شريحة واحدة للحديث عن هذا الموضوع، أما أنا فأنصح باستخدام 2 إلى 3 شرائح في عرض تقديمي مستقل يخصّ الجوانب المالية، ولكن إن كنت ترغب في إضافة هذا الموضوع إلى العرض التقديمي الرئيسي، فأنصحك بأن تأخذ فكرتي بخصوص شريحة "الخلاصة" بنظر الاعتبار، وضع كلًّا من شريحتي "الدعوة إلى اﻹجراء" و"التّوقّعات المالية" بعد شريحة "الخلاصة". خطة الخروجلا أحبّذ تضمين هذا الموضوع في العرض التقديمي ﻷنّك ستظهر بمظهر المُتسرّع لبيع الشركة، لذا فمن اﻷفضل أن تبيّن الطريقة التي ستبني بها شركة قوية، وافسح المجال للمستثمرين المهتمّين لكي يطرحوا ما يشاؤون من الأسئلة بخصوص خطّة الخروج. القسم الاحتياطيأعتقد أن تضمين القسم الاحتياطي لبعض اﻷمور أمر جيّد، وعادة ما تكون تلك اﻷمور التي كنت ترغب في وضعها في الشرائح الرئيسية لقسم معين ولكن لم يسعفك المجال أو أنّ محتويات تلك الشرائح ذات أهمّية أكبر. يمكنك الاستعانة بالقسم الاحتياطي عندما تجيب على سؤال معين وتكون محتويات هذا القسم ذا فائدة كبيرة في تقديم اﻹجابة. من المحتويات الجيّدة التي يمكن أن يتضمّنها هذا القسم هي الرسوم والمخطّطات البيانية، وخارطة الطريق، والتوّقعات المالية وما شابه ذلك. ولكن إن كنت ترغب في إرسال العرض التقديمي إلى مستثمر مرتقب، فيجب عليك حينها حذف القسم الاحتياطي. تذكر أن هدفك هو الحصول على مقابلة وجهًا لوجه، وأنّك لا ترغب في أن يتخذوا قرارهم النهائي بشأنك بالاستناد إلى العرض التقديمي الذي أرسلته عبر البريد الإلكتروني فقط. يبدو اﻷمر سهلًا، أليس كذلك؟ ما عليك اﻵن إلا أن تضيف المحتوى الملائم في كل قسم من اﻷقسام. أو يمكنك على اﻷقل أن ترتّب عرضك التقديمي الحالي بهذه الطريقة ثم حاول تجربته ومعرفة رأيك تجاه الترتيب الجديد. يجب أن يتّسم العرض التقديمي بالبساطة وأن يحصل على التفاعل المطلوب من الشخص/الجمهور الذي تقدّم عرضك إليه/إليهم، وإن لم يحقق ذلك فحاول تهذيب العرض وتنقيحه مرة بعد أخرى إلى أن يحقق الهدف المطلوب. تذكر أيضًا استخدام قاعدتي "وماذا يعني ذلك، ولماذا سأهتمّ لهذا؟"، عندما تطالب بأمور مهمّة. ترجمة –وبتصرّف– للمقال Pitch Deck Flow - Topic Order لصاحبه Gordon Daugherty. حقوق الصورة البارزة: Designed by Freepik.
    1 نقطة
  13. وعليكم السلام، أنصحك أولا بأن تُحدد هدفك ومجالك في البرمجة حتى تتمكن من اختيار لغة البرمجة الصحيحة لتعلمها، فهل تريد برمجة مواقع ويب؟(تتطلب تعلم لغات HTML و CSS وجافا سكربت...)؟ أم تريد برمجة تطبيقات الويب؟ (بالإضافة إلى لغات برمجة مواقع الويب تحتاج إلى تعلم إطار معين مثل "ريلز" في لغة روبي أو "دجانغو” في لغة بايثون...)؟ أم هل تريد برمجة برامج سطح المكتب؟ (لغات C++، بايثون...) أم هل تريد برمجة الألعاب؟ (لغات C, C++...). وبعد ذلك يمكنك البدء بتعلم البرمجة عن طريق البحث عن دورات وكتب في المجال الذي اخترته (تجد الكثير من الدروس في جزء "تعلم البرمجة" في أكاديمية حسوب). أهم نصية في البرمجة هي أنه كلما زدت قراءاتك للشيفرات البرمجية وكتابتك لها كلما تعلمت بشكل أسرع وأصبحت أكثر احترافية. بالنسبة لتصميم موقع أو مدونة فتحتاج إلى القليل من الصبر حتى تتمكن من تعلم أساسيات برمجة تطبيقات الويب قبل أن تتمكن من برمجة المواقع.
    1 نقطة
  14. بغض النظر عن التكلفة، فإن ما يمكن قياسه يمكن القيام به. من جهة أخرى تعتبر مسألة اختصار كل من التصميم وعملية onboarding (تهيئة العميل لاستعمال المنتج لأول مرة) لتصبح مُجرّد تلاعب بالأرقام وبالقياسات أمرا غاية في الخطورة. لقد قدم لنا العقد الأخير العديد من منتجات التحليل، تقوم كلها بأخذ معطيات سهلة التجميع وتعطي رسوما بيانية جميلة المنظر. طبعا لا يقوم أحد بالتحقق إن كانت هذه المعطيات التي يسهل الحصول عليها تقدم أي معلومات. أو إن كان للرسوم التي يحلو النظر إليها أي فائدة. فحتى وإن كانت مفيدة وكنت تعي جيّد ما تقوم به فإن التًلاعب بالقياسات والأرقام ستجعلك حتما تَضَلُّ الطريق تحت تأثير الوجهة التي ترغب في الوصول إليها. كل ما يتم قياسه يتم القيام به "what gets measured gets done"، تستخدم هذه الجملة للدلالة على شيء من قبيل أن "لا شيء سيحدث هنا ما لم نحصل على أرقام واضحة"، الأمر الذي غالبا ما يكون صحيحا. تعتبر الجمل المبهمة مثل "سنقوم بإلقاء نظرة على ذلك"، "سنرى إن كان يمكننا تحسين ذلك" أو "سنقوم بالعمل على حل الأمور الأسهل أولا" هلاك كل فريق عمل منتج ما. إنه لمن المستحيل قول إن كان أي شيء يحدث حقيقة كنتيجة، في حين تتميز الأرقام بمصداقيتها. المشكل أن الأرقام تعتبر انتقائية في تعاملها مع الحقائق، عندما تقوم بقياس أي تدفق، قيمة أو نسبة فإن هناك وسيلة للتلاعب بالنتائج. تأثير الجرذان إبان حكم الاستعمار الفرنسي عانت مدينة هانوي من مشكل جرذان كبير، حاولوا حل المشكل من خلال مكافئة الناس لاصطيادهم الجرذان، حتى تثبت أنك فعلا قتلت فأرا كان عليك أن تقدم ذيله كدليل، ما حدث فيما بعد يعتبر خير مثال لتقديم بعض القياسات والأرقام لدلالاتٍ خاطئة. عمل المواطنون على تربية الجرذان، قطع أذيالها، الحصول على المكافئة ثم إعادة وضع الجرذان مبتورة الأذيال في بيئة مناسبة للتناسل. كان الحل يأتي بنتائج عكسية. في نفس الوقت ونظرا لقياساتها وأرقامها السطحية كانت الحكومة تصدر تقارير تفيد أن هناك تقدما ملحوظا في إبادة الجرذان. أصبح هذا يعرف بتأثير الجرذان، أو بتأثير أفاعي الكوبرا نظرا لحادثة مشابهة في الهند. في كلتا الحالتين ما تم قياسه فعلا قد تم القيام به، وما تمت المكافئة على القيام به تم تكراره. كل القياسات والأرقام حتى وإن تم انتقاؤها بشكل يدوي فإنها لا تعدو أن تكون دليلا على تصرف المستخدم. فعلى سبيل المثال في شركة تطُوّر تطبيقًا لإدارةِ المشاريع فإنه يُمكن الاعتماد على "عدد المشاريع المفتوحة" لقياس إن كان المستخدمون يحصلون على قيمة من منتجك، ما قد يكون قيمة مُعبّرة بشكل جيّد عن مدى استخدام مُنتجك، المشكل أن كل المدلولات عُرضة للخطأ، ومعرضة للتلاعب. نقصد بالتلاعب هنا، التأثير على الأرقام فقط بطريقة لا تؤثر على ما تدل عليه هذه الأرقام، فعلى سبيل المثال يمكنك أن تدفع المُستخدم إلى "إنشاء مشروع" بمجرد أن ينهي عملية التسجيل، أو يمكنك أن تجعلها عملية تلقائية (يعني أن يتم إنشاء المشروع له بشكل آلي بمُجرّد أن يُسجّل). قد يقوم هذا برفع الأرقام التي تقيسها والتي تُتابعها عن كثب لكن هذا لا يعني أن المستخدم يحصل على قيمة أكثر. فأنت لم تقم بأي شيء جوهري. يذكرني هذا بسلسلة فكاهية بريطانية حيث يتباهى ضباط الشرطة بانخفاض معدل الجريمة عند قرّروا تقنين السرقة. يستعمل Ev Williams "وقت القراءة" كقياس لـ Medium، لكن يشير إلى وجود العديد من الطرق للتأثير عليه والتي لا تخدم هدفه. فمثلا يكون عرض النّصوص بشكل سيّء لا يًساعد على القراءة السّريعة أن يرفع من قيمة هذا الرّقم (أي وقت القراءة). بطريقة مشابهة لقولي مازحا أن المحرر Vim يملك أفضل طريقة لإبقاء المُستخدمين معه، حيث أن طريقة الخروج من التّطبيق ليست سهلة. إن أردت أن تعمل على خلق نمو ذا معنى فإنه يُفضّل أن تكون مجهوداتك مركزة على إحدى هذه الطرق: إزالة الاحتكاكات، إعادة نقلها إلى مكان آخر أو توجيه المستخدمين إلى الوجهة الصحيحة. إزالة الاحتكاكات frictionتعطي عمليات تحديد، إزالة وتحريك الاحتكاكات أفضل القياسات metrics الدالة على النمو الحقيقي. إن عدم قدرة المستخدم على الانتقال من الخطوة الثالثة نحو الرابعة مثلا يرجع غالبا إلى وجود احتكاك يعرقله. ما الذي يعيق انتقال المستخدم إلى الخطوة الرابعة: مشكل الاكتشاف: عدم معرفة المستخدم كيفية القيام بهذا الانتقال.مشكل الوضوح: جهل المستخدم نتائج الإقدام على الخطوة التالية.مشكل التعقيد: صعوبة إتمام الخطوة التالية.مشكل القيمة المقترحة: عدم اقتناع المستخدم بأن القيمة المضافة التي سيحصل عليها عند القيام بالخطوة تستحق استثمار المال/الوقت المطلوب لإتمامها.لن يتم تحقيق أي تقدم حقيقي من خلال القيام بالاختبارات طوال اليوم بل من خلال العمل على إزالة الاحتكاكات. أمثلة حول إزالة الاحتكاكاتفي السابق، كان تنصيب شيفرة جافاسكربت على الموقع الطريقة الوحيدة للتسجيل في Intercom، يليه القيام بكتابة تطبيق من جهة الخادوم لإرسال المتغيرات لخادوم الخدمة، ما يعتبر كما هائلا من الاحتكاكات بالنسبة للأشخاص غير الملتزمين، يسبب هذا الأمر أيضا استثناء الكثير من الناس غير القادرين على التّعديل على منتجاتهم. قام فريقنا المسؤول على النمو بالعمل على إزالة هذه الاحتكاكات من خلال مجموعة متنوعة من المقاربات، على سبيل المثال تعمل آلية دمج خدمة Stripe على السماح لك ببدء استعمال Intercom من خلال نقرتين فقط. في بعض الأحيان يكون الحل الأنسب للتعامل مع الاحتكاكات هو تقبل أن تحقيق بعض التقدم أفضل من عدم تحقيق أي تقدم بتاتا، على سبيل المثال يحب الكثير من المستخدمين أن يرسلوا رسائل HTML لكن لا يستطيعون القيام بذلك لأن الأمر يتطلب مهارات في التطوير والتصميم. لهذا السبب يتيح Intercom الآن مكتبة صغيرة من القوالب الجاهزة للاستعمال. الأمر مُماثل بالنسبة للمستخدمين الذين يودون إرسال رسائل تلقائية لكن لا يعرفون ما الذي يجب عليهم قوله فيها، لذا قمنا بإعداد بعض الأمثلة الجيدة لتساعدهم على البداية. تحويل الاحتكاكات إلى أماكن أخرىيوجد عدد محدود من الاحتكاكات التي يمكن لك القيام بإزالتها تماما، أما فيما يخص البقية فإنك تقوم بتحريكها من مكان لآخر. قد يبدو لك القيام بهذا مضيعة للوقت، الجهد والموارد، لكن الأمر ليس كذلك. عليك أن تعمل على تحريك الاحتكاكات التي يستحيل إزالتها إلى مكان آخر حيث تسبب أقل الأضرار. أيْ حيث يتم تحويل أغلب المستخدمين (لكن ليس بالضرورة حيث تتوافر أعلى نسبة للتّحويل). على سبيل المثال تتسم بعض الخطوات مثل تسجيل الحساب وطلب الدفع بكونها غير محببة للمستخدم لكنها ضرورية، يسبب هذا النوع من الخطوات في فقدان بعض عملائك، رغم إمكانية العمل على تبسيطها من خلال استعمال التسجيل عن طريق فيسبوك (Facebook Login) أو الدفع باستخدام Stripe، ستُلاحظ بعض الانسحابات بمجرد أن تقوم بطلب المال أو بعض التفاصيل. على سبيل المثال، عرض فترة تجريبية مجانية دون طلب بطاقة ائتمانية، سيرفع من نسبة التّحويل على الصفحة الرئيسية، لكن القيام بهذا يعني عملك على تحريك هذا الاحتكاك ثلاثين يوما وليس إزالته تماما، بلغة الأرقام يعد تأجيل طلب البطاقة الائتمانية إلى اليوم الثلاثين أفضل من طلبها في اليوم الأول، أهم ما في الأمر أن تتذكر أنك لم تقم بإزالة أي احتكاك بل أجلته فقط، المشكل أن العديد من الناس لا ينتبهون لهذا الأمر. قياسا على ما سبق يمكن لك أن تفرط في تحفيز عملائك ليقوموا بالترقية، أو أن تبدأ بربح النوع الخاطئ من العملاء الأمر الذي غالبا ما تدفع ثمنه لاحقا في شكل تبعات جانبية. باختصار، لا يمكنك أن تُزَيِّفَ الحقائق أو أن تتحاشى الأمر الواقع فلطالما ستواجهه، كلما تأخرت في إدراك هذا الأمر كانت الخسائر أكبر. القياسات المرافقةتعمل الكثير من الشركات حاليا على توظيف فرق عمل خاصة بالنمو، والأرجح أن يتزايد هذا في السنوات القادمة تزامنا مع تَجَلِّي أهميتها الكبرى. إن كنت تعمل على توظيف فريق نمو فمن الجدير بك أن تأخذ بنصيحة Andy Grove فيما يخص القياسات والأرقام: بالنسبة لكل قياس، يجب أن يكون هناك قياس مرافق له والذي يدل على النتائج العكسية للقياس الأول. والأحرى أن تتذكر قول نتشه: ترجمة -وبتصرّف- للمقال: MEANINGFUL GROWTH VS METRIC MANIPULATION لصاحبه Des Traynor. حقوق الصورة البارزة: Designed by Freepik.
    1 نقطة
  15. نجد الكثير من المقالات التي تتناول الحديث عن ريادة الأعمال نجدها تتحدث عن الهدف والرؤية المستقبلية بشكل منفصل، فما الفرق بينهما؟
    1 نقطة
  16. عندما بدأت العمل على إنشاء تطبيق UXPin المُتخصّص في إنشاء النّماذج الأوّليّة، كنّا نؤمن بأسلوب "الحدث العظيم" للكشف عن المُنتجات، حيث تقضي شهورًا مع فريق التّطوير تُنشئ مُنتجًا كثير الميّزات، ثمّ تكشفه للعالم. ولكنّنا اكتشفنا خلال وقتٍ قصير أنّ هذه الاستراتيجيّة غير مضمونة دومًا، بل هي تُصيب وتُخطئ، فإن أصابت تحوّل مستخدمو الإصدار التّجريبيّ إلى مُشتركين دافعين في المنتج سريعًا؛ ولكن إن أخطأت ضاعت ساعاتٌ طويلة من العمل وأموال كثيرة، وشيء من صحّتنا معها. تعلّمنا بعد ذلك أنّ علينا إصدار المُنتجات بطريقة أكثر ذكاءً، لا أكثر ضخامة! وهنا يأتي دور MVP، أو المنتج الفعّال القاعديّ (Minimum Viable Product)، الّذي يتيح للشّركات تحرّي صدق توقّعاتهم عن زبائنهم بأدنى حدّ من الجهد. مؤخّرًا، بعد أن تعلّمنا من أخطائنا السّابقة، انتقلنا إلى إصدار ميّزات أصغر بصورة أكثر تواترًا، وهذه الميّزات الصّغيرة تُمثّل منتجاتنا الفعّالة القاعديّة. فإذا أردنا مثلًا طرح كتاب إلكترونيٍّ كامل، فإنّنا ننشر في البداية صفحة تشرح الكتاب لنقيس الاهتمام العامّ به. ولو أردنا طرح ميّزات التّكامل مع مجموعة من البرامج الأخرى (كما فعلنا منذ فترة مع برنامجي Photoshop وSketch)، فإنّنا ندمج بضع ميّزات مع البرنامج الأبسط أوّلًا (في حالتنا هو Sketch) ثمّ نطرح نُسخة بيتا تجريبيّة قبل أن نتابع نحو الدّمج الشّامل. سنُبيّن في هذه المقالة بعض المفاهيم الخاطئة المُتعلّقة بـMVPs، وبعض الوسائل المُختلفة الّتي يمكن لمُصمّمي تجربة الاستخدام استعراضها بهدف تحقيق التوازن بين "القاعديّة" و"الفعّاليّة" و"جودة المنتج". منتج فعّال قاعديّ، لا تنس "المنتج الفعّال"يُشير المُصطلح "المنتج الفعّال القاعديّ"، الّذي وضعه مؤسّس SyncDev ‏Frank Robinson وعمّمه Eric Ries مؤسّس IMVU، يُشير إلى إصدار شيءٍ ما بُسرعة، سواء أكان مُنتجًا مادّيًّا أو مجرّد صفحة ترويجيّة، وغاية ذلك تبيّن صدق الافتراض الّذي قام عليه المُنتج. ولكن الحقيقة أنّه من السّهل أن نقع في فخ "القاعديّة" في MVP دون أن نتأكد من أنّ لدينا "مُنتجًا فعّالًا". يعود هذا الخطأ إلى الرّغبة في استغلال أكثر ما يمكن استغلاله من أقلّ مقدار من الموارد. ليس MVP أقل مجموعة من الميّزات الضّروريّة للحصول على مُنتج يعمل كما يُشاع، ولا هو المُنتج النّهائيّ ذاته، بل هو عمليّة. MVP هو أصغر تجربة تُثبت صحّة أو خطأ الافتراضات الّتي تقوم عليها فكرة تجاريّة. صحيحٌ أنّ التّطوير السّريع هو جوهرُ هذه العمليّة، ولكنّه صحيحٌ إلى الحدّ الّذي يُتيح لنا الوصول إلى أهداف البحث والتّعلّم فحسب. مصدر الصّورة: عمليّة MVP في Spotify تتبع عمليّة MVP خطواتٍ أربع: جِد مُشكلة يجب حلّها.حدّد أصغر حلّ ممكن (MVP).نفّذ الحلّ وجرّبه في نطاق محدود (لتُثبت قيمته الفريدة).أشرك زبائنك الّذين يهمّم تجربة الحلّ في أقرب فرصة، وأثِر حماسهم (يُعرف هؤلاء بطلائع المُبشرين "earlyvangelists").ولكن متى يكون MVP خيارًا مُناسبًا؟ تتباين الآراء حول جدوى MVP وكيفيّة تحسينه. ولكي نتبيّن الآراء المدروسة عن تلك الخاوية، علينا أن نُنصت لأولئك الّذي يخوضون التّجربة ذاتهم. MVP في صفحة ترويجيّةعندما بدأ مؤسسBuffer،‏ Joel Gascoigne، كان لديه فكرةٌ عن منتج، لكنّه لم يرغب أن يبني شيئًا لن يستخدمه أحد، لذا قرّر بناء صفحة ترويجيّة بسيطة ليعلم إن كان مُستخدمو Twitter يواجهون فعلًا مُشكلةً في جدولة التّغريدات وتدبيرها. مصدر الصّورة: Buffer كان منتجّ Buffer الفعّال القاعديّ صفحةً تشرح ما هو Buffer وكيف سيعمل، ودعت الزّوّار إلى التّسجيل وعرضت عليهم زرًّا ينقلهم إلى صفحة "الخطط والأسعار" إن أبدوا اهتمامًا، فإذا نقروا هذا الزّر عُرضت عليهم رسالة قصيرة تبيّن أنّ Buffer غير جاهز بعدُ وتنصحهم بالتّسجيل لتلقّي الأخبار المُتعلّقة بالمُنتج. استخدم Joel عناوين البريد الإلكتروني الّتي حصل عليها من المُستخدمين المُسجّلين ليُراسلهم بصفتهم مُستخدمين مُحتمَلين للمُنتج القادم، وقد أفاده ذلك أيّما فائدة في معرفة توقّعاتهم ورغباتهم. وكما في مثال السّيّارة الّذي عرضناها منذ قليل، طوّر Joel منتجه الفعّال ليتحرّى صدق فرضيّته الجديدة: هل سيدفع النّاس لمنتج كهذا؟ أضاف Joel جدول الأسعار بين صفحة التّرويج ونموذج التّسجيل، وتأكّد أن فرضيّته صحيحة، وأنّ المُستخدمين مُستعدِّون للدفع مقابل هذه الخدمة. استطاع Joel بصفحته التّرويجيّة وحدها التّحقّق من فرضيّتين دون بناء المُنتج الحقيقيّ، وبأقلّ تكلفة. يجدر بنا أن نذكر أن منتج Buffer الفعّال الأوّل اكتفى بتحرّي وجود طلب على الفكرة، ثمّ انتقل Joel وفريقه بعد ذلك إلى بناء الحلّ القاعديّ الفعّال ما إن تأكّد من جدوى تلك الفكرة. منتج إلكترونيّ فعّال على الورقمنتج UXPin الحالّي هو تطبيق ويب لإنشاء النّماذج الأوّليّة للواجهات، ولكنّهم بدؤوا بمنتجٍ قاعديّ على الورق، ورق دفترٍ تُرسم عليه النّماذج الأوّليّة. كان Marcin Treder يعلّم أن عمليّة تصميم تجربة الاستخدام قد تؤول إلى الفوضى والانفصال، وأنّ تحسين هذه العمليّة ليس أمرًا يسيرًا، لذا انصبّ اهتمامه على تبسيط مراحل النّمذجة الأوّليّة. مصدر الصّورة: UXPin يقول Marcin: "صنع المُنتجات على الورق أقل تكلفة طبعًا، ولكنّ لم يخطر ببالنا أن يكون الإصدار القادم من منتجنا تقنيًّا، فلم نكن سوى بضع مُصمّمين نحاول أن نُساعد زملائنا في تطوير مهاراتهم". بيعت أوّل دفعة من الدّفاتر الّتي صمّمها Marcin وزُملائه في 48 ساعة بعد إطلاقها عام 2011، مُؤكّدةً صحّة النّظريّة الّتي قامت عليها الفكرة، وهي حاجة المصمّمين إلى أداة أفضل لصنع نماذج أوّليّة للواجهات. سرعان ما لاحظ Marcin أنّ الأدوات الإلكترونيّة الحاليّة قاصرة، فقد افتقر Balsamiq إلى الدّقّة، وكان Axure ثقيلًا وغير مريح. بالطّبع لم تكن الدّفاتر مُنتجًا إلكترونيًّا، لذا قرّر أن يُراجع نظريّته، وبنى MVP جديدًا: نسخةً بدائيّة من أداة نمذجة إلكترونيّة. وبدل أن يسعى Marcin إلى الكمال في منتجه، فقد قرّر أن يبني UXPin على المصدر البرمجيّ لبرنامج آخر، وأضاف إليه إمكانيّة رسم النّماذج، مُقدِّمًا قيمةً مشابهة لما قدّمته الدفاتر في بيئةٍ مُختلفة. لم يكلّف إنتاج هذا المُنتج الكثير، كونه قام على مصدر برنامج آخر، ولكنّه قدّم بميّزاته حلًّا قاعديًّا فعّالًا. يقول Marcin: "لا ننظر إلى MVP على أنّه أسرع منتج أو أفضل مُنتج، بل هو المُنتج الذي يتطلّب أقلّ جهد في التّطوير ويعطي أعظم قيمةٍ في الوقت ذاته". يعترف Marcin أنّه منتجه الورقيّ الأوّل لم يُقدم أعظم قيمة، ولكنّه تطلّب أقل جهدٍ أعانه على أن يكتشف سرٍّا ثمينًا، وهو أنّ الزبائن يريدون الدّفتر، ولكنّهم يريدون أيضًا مُنتجًا إلكترونيًّا أفضل. بهذا المعنى، يمكن أن نقول أنّ منتجه القاعديّ الأوّل قد نجح. منتج فعّال قاعديّ، بلا منتج!بدأ UXPin بمُنتج ملموس كما رأينا، ولكن Dropbox بدأ بلا منتج على الإطلاق! فبالنّظر إلى التّعقيدات التّقنيّة الكبيرة الّتي تُرافق خدمة تخزين الملفّات سحابيًّا، فإنّ مُجرّد نموذج أوّليّ للخدمة يتطّلب تجاوز العديد من هذه التّعقيدات ليصل إلى حالةٍ يُعتمد عليها. وبدل أن يقضي فريق التّطوير شهورًا (إن لم تكن سنواتٍ) في بناء مُنتجٍ قد لا يستخدمه النّاس، قرّروا شرح تجربة المُستخدم في فيديو لا يتجاوز طوله 4 دقائق، فكان هذا مُنتجهم الفعّال القاعديّ، الّذي قدّم مؤسّس Dropbox، ‏Drew Houston وهو يشرح تجربة الاستخدام البسيطة: تظهر علامة "صح" خضراء على الملفّات الّتي تُحفظ في Dropbox، حفظ الملفات يتمّ بسحب الملفّات وإسقاطها في مُجلّد، لا تعقيدات تقنيّة، التّجربة تشرح نفسها! مصدر الصّورة: Dropbox هذا المُنتج الفعّال، البسيط من النّاحية التّقنيّة، أثبت جدواه، فقد انتقل عدد المُسجّلين في الخدمة بين ليلةٍ وضحاها من 5 آلاف إلى 75 ألفًا، وعُرف Dropbox في أوساط شبكة Digg باسم "قاتل Google Drive". صحيحٌ أنّ مُنتج Dropbox هذا أثبت فرضيّة Drew، لكنّه أيضًا علّمهم أن تجربة الاستخدام الممتازة الّتي يجب عليهم تقديمها هي الأمر الحاسم في نجاح المُنتج. مع أنّ إتاحة تجربة المنتج الحقيقيّ للمُستخدمين كانت وسيلةً أفضل لتجربة Dropbox، إلّا أن مقطع الفيديو كان كافيًا لفريق التّطوير. وقد استطاع Dropbox أن يقتحم سوقًا مُشبعًا بالفعل، وأن ينجح رغم ذلك، والسّبب أنّ فريق التّطوير أوفى بوعده بتقديم تجربة استخدام انسيابيّة. ينطبق في هذه الحالة المثل: "لا تُصدّق ما لم ترَ"، فقد بقي مقطع الفيديو على الصّفحة الرّئيسيّة لـDropbox من 2008 وحتى 2013! عمليّة 10x MVPبنى Ash Maurya (مؤلّف كتاب Running Lean—Helping Entrepreneurs Succeed) مُنتجًا لشركته النّاشئة Cloudfire وسوّقه مُتّبعًا عمليّة 10x، وهي عمليّة أنشأها باتّباع خطواتٍ ثلاث: جد مجموعة من 10 مستخدمين وأجرِ معهم مقابلاتٍ للوصول إلى أسباب مُشكلاتهم.ابنِ مُنتجًا فعّالًا قاعديًّا يقدّم حلًّا سريعًا وقدّمه إلى الدّفعة الأولى من الزّبائن.استخدم آراء الزّبائن لإنشاء صفحة ترويجيّة فيها رسائل حقيقيّة، وذلك بهدف جمع عناوين البريد الإلكتروني للزبائن المئة القادمين.توفّر الدّفعة التّالية من الزّبائن مزيدًا من المُرشحّين لإجراء المقابلات، ممّا يُساعد على تحسين التّسويق على الموقع، الّذي يجلب بدوره مزيدًا من الزّبائن، فهذه العمليّة تُساعد إذن في مضاعفة قاعدة المُستخدمين بمقدار 10 في كلّ خطوة. مصدر الصّورة: إطلاق منتج وفق عمليّة 10x الفكرة الأساسيّة في عمليّة 10x هي أنّ المُنتج الفعّال القاعديّ يُعامل معاملة المُنتج الحقيقيّ، لا على أنّه مُنتج تجريبيّ. هذا يعني أنّ تسعير المُنتج يُناقش في المرحلة 1 (كما في أسلوب Buffer)، والذي يساعد في حلّ مشكلة الأرباح منذ البداية. من المهمّ أن نتذكّر أنّ مُنتجنا ينافِس مُنتجاتٍ أخرى مجّانيّة، ولهذا يكون الإصغاء إلى الزّبائن ضروريًّا لفهم الأسباب الّتي تجعل الزّبائن يدفعون لمنتجنا. عمليّة إطلاق المُنتج وفق 10x ليست إلّا تنويعًا على عمليّة MVP التّقليديّة، ومع أنّها تتطّلب جهدًا أكبر ممّا يبذل على المُنتجات التّقليديّة، إلّا أنّها تسمح للفريق بمتابعة تحسين المُنتج وتوسيعها بعد انطلاقه، فمن خلال المُقابلات واستطلاعات الرأي واختبارات قابليّة الاستخدام، تهدف عمليّة 10x إلى بناء مُنتج قاعديٍّ أفضل مع الوقت، وهي الفكرة ذاتها الّتي تقوم عليها MVP، والّتي يمكن تلخيصها في تقليص المخاطرة مع ضمان الفعّاليّة القصوى. تُساعد المقابلات مع الزّبائن في تحديد من يواجهون مُكشلةً، وما الحلّ الأصغر لها، ممّا يُقلّص مخاطرة المُنتج، كما أنّ المقابلات تُساعد في قياس ردود فعل الزّبائن تجاه التّسعير والمنافسين، وتوفر فرصة لقياس اهتمام الزّبائن ووضع السّوق من خلال عدد زيارات الصّفحة التّرويجيّة وعدد المشتركين في القائمة البريديّة. التجربة الكاملة بدل الميّزات الكاملةكل الوسائل السّابقة، من الصّفحات التّرويجيّة، ومقاطع الفيديو، والمُنتجات غير الإلكترونيّة، وعمليّة 10x، كلّها وسائل مختلفة للوصول إلى الغاية ذاتها. عمليّة MVP ضروريّة لكلّ مصمّم تجربة استخدام، سواء في شركة ناشئة أو في مؤسّسة تصميم، أو لمن يعمل في بيته، والتّعلم من المستخدمين، وزيادة الفعاليّة، وتقليص المخاطر كلّها أهداف مُجزية. ربّما تكون فرضيّة "قطعة الكعك" لـBrandon Schauer أفضل طريقة للتّفكير في MVP، وهي الفرضيّة الّتي تؤكّد على ضرورة وجود تجربة مُتكاملة في كلّ مرحلة من مراحل المُنتج. فقطعة الكعك الصّغيرة تُمثِّل مُنتجًا قاعديًّا أكثر فعالية من كأس من الطّحين. تأكّد إذن أن مُنتجك القاعديّ يوصل للزّبائن قيمة المُنتج الحقيقيّ كاملةً. فإذا كان مُنتجك القاعديّ صفحةً ترويجيّة، فاحرص على أنّ تكون النّصوص واضحةً ومفهومة، وأن تكون الدّعوة صريحة، والواجهة سهلة الاستخدام؛ وإن كان مُنتجك القاعديّ نموذجًا أوّليًّا يعمل بالفعل، فيجب أن يعمل بشكل ممتاز. بناء مُنتجٍ صغير أمر يستحق الإعجاب، أمّا بناء مُنتجٍ لا يعمل كما ينبغي، فأمر غير مقبول. ترجمة (بتصرّف) لمقال Putting the “VP” into MVP لصاحبه Jerry Cao
    1 نقطة
×
×
  • أضف...