مستخدمونا كانوا تائهين: كيف أنقذنا ‘فرز البطاقات’ (Card Sorting) من جحيم الميزات المدفونة؟

يا جماعة الخير، السلام عليكم.

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

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

ما هو “فرز البطاقات” (Card Sorting) وليش هو المنقذ؟

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

تعريف بسيط ومباشر

تخيل معي عندك كومة كبيرة من الغسيل النظيف (هاي هي ميزات تطبيقك ومحتواه)، ومطلوب منك ترتبها في خزانة ملابس (هاي هي قوائم تطبيقك). فرز البطاقات ببساطة هو إنك تعطي هاي الكومة من الغسيل لمستخدم حقيقي، وتحكيله: “لو سمحت، رتبلي هدول الأواعي في مجموعات منطقية بالنسبة إلك، وسمّي كل مجموعة”.

باللغة التقنية، فرز البطاقات هو أسلوب في بحث تجربة المستخدم (UX Research) بنستخدمه عشان نفهم “النموذج العقلي” (Mental Model) للمستخدم. يعني، كيف المستخدم بيفكر وبيتوقع يلاقي المعلومات. بدل ما نفرض عليه منطقنا كمطورين، بنخليه هو اللي يبني أساس الهيكل المعلوماتي (Information Architecture) للتطبيق.

ليش هو مهم؟ (بعيدًا عن الكلام النظري)

أهميته مش بس في بناء قوائم “حلوة”. الأهمية الحقيقية بتظهر في نتائج عملية على الأرض:

  • تقليل حيرة المستخدم: لما المستخدم يلاقي اللي بده ياه بسرعة، بيزيد رضاه عن المنتج.
  • تخفيف الضغط على الدعم الفني: عدد أقل من الأسئلة اللي من نوع “وين ألاقي…؟”.
  • زيادة تبني الميزات: الميزات اللي بتدفع راتبك ما بضلها مدفونة، الناس بتصير تستخدمها فعلًا.
  • بناء بالتعاطف، وليس بالافتراض: هو تمرين عملي في التعاطف مع المستخدم. بتطلع من فقاعتك كمطور وبتشوف العالم من عيونه.

أنواع فرز البطاقات: اختار سلاحك يا بطل

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

1. الفرز المفتوح (Open Card Sorting)

هنا بنعطي المستخدمين البطاقات (الميزات/المواضيع) وبنتركهم أحرار تمامًا في تجميعها وتسمية المجموعات اللي بيعملوها. زي ما بنحكيها “على بياض”.

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

2. الفرز المغلق (Closed Card Sorting)

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

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

3. الفرز الهجين (Hybrid Card Sorting)

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

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

رحلتنا خطوة بخطوة: كيف طبقنا فرز البطاقات وأنقذنا الوضع

خليني أرجع لقصتنا مع لوحة التحكم الضايعة. بعد ما اعترفنا بالمشكلة، قررنا نستخدم الفرز المفتوح (Open Card Sorting) لأنه كان واضح إنه الأساس كله غلط. وهي الخطوات اللي مشيناها بالتفصيل:

المرحلة الأولى: التحضير (تجهيز العدّة)

  1. تحديد البطاقات: عملنا جرد لكل صفحة وكل ميزة رئيسية وفرعية في التطبيق. كتبنا كل وحدة على “بطاقة” منفصلة. نصيحتي هنا: خليك دقيق. بدل ما تكتب “إعدادات”، اكتب “إعدادات الحساب”، “إعدادات الإشعارات”، “إعدادات الفواتير” كل وحدة لحال. عملنا حوالي 50 بطاقة.
  2. اختيار الأداة: في أدوات رقمية ممتازة مثل OptimalSort، Maze، أو UserZoom. لكن إحنا وقتها، بسبب ضيق الوقت، استخدمنا أداة بسيطة للتعاون عن بعد مثل Miro، ومرة تانية عملناها بشكل فيزيائي باستخدام قصاصات ورق (Sticky Notes) على لوح أبيض مع مستخدمين في نفس المكتب. الأداة لا تصنع النجار!
  3. تجنيد المستخدمين: هاي أهم خطوة. تواصلنا مع 15 مستخدم حقيقي من شرائح مختلفة (مستخدم جديد، مستخدم خبير، مدير، موظف عادي). ابتعد عن سؤال زملائك في الشركة، لأنهم متأثرين برؤيتك الداخلية. زي ما بنحكيها “ما تسأل الحلاق، اسأل اللي بحلق عنده”.

المرحلة الثانية: التنفيذ (وقت الجد)

مع كل مستخدم، كنا بنعمل جلسة (عن بعد أو وجهًا لوجه) مدتها حوالي 30-45 دقيقة. كنا بنشرح المهمة ببساطة شديدة: “أمامك مجموعة من البطاقات تمثل ميزات التطبيق. لو سمحت، قم بتجميعها في مجموعات تبدو منطقية بالنسبة لك، ثم أعطِ كل مجموعة اسمًا مناسبًا”.

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

المرحلة الثالثة: التحليل (فك الشيفرة)

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

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

نصيحة عملية: الأدوات الرقمية بتعطيك رسوم بيانية جاهزة مثل “مصفوفة التشابه” (Similarity Matrix) أو “المخططات الشجرية” (Dendrograms) بتورجيك بصريًا أي البطاقات “أصحاب” وأي بطاقات “غُرب” عن بعض في عقل المستخدم. هاي بتوفر وقت تحليل كبير.

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

نصائح من أبو عمر (خلاصة التجربة)

بعد هاي التجربة وغيرها، تعلمت كم درس مهم بحب أشارككم إياها:

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

الخلاصة النهائية 🎯

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

لا تخلوا ميزاتكم مدفونة. أخرجوها للنور، وخلّوا المستخدم هو اللي يرسملكم الخريطة.

بالتوفيق في مشاريعكم!

أبو عمر

سجل دخولك لعمل نقاش تفاعلي

كافة المحادثات خاصة ولا يتم عرضها على الموقع نهائياً

آراء من النقاشات

لا توجد آراء منشورة بعد. كن أول من يشارك رأيه!

آخر المدونات

أتمتة العمليات

خوادمنا كانت نسخًا مشوهة: كيف أنقذتنا ‘البنية التحتية كشيفرة’ (IaC) من جحيم الانحراف التكويني؟

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

8 أبريل، 2026 قراءة المزيد
نصائح برمجية

بياناتي كانت تتغير من حيث لا أدري: كيف أنقذتني ‘اللامتغيرية’ (Immutability) من جحيم الآثار الجانبية الخفية؟

في هذه المقالة، أشارككم قصة حقيقية من تجربتي كمبرمج عن معاناتي مع بيانات تتغير بشكل غامض، وكيف كان مفهوم "اللامتغيرية" (Immutability) هو طوق النجاة الذي...

8 أبريل، 2026 قراءة المزيد
خوارزميات

البحث في قوائمي المرتبة كان يزحف: كيف أنقذني ‘البحث الثنائي’ من جحيم البطء الخطي؟

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

8 أبريل، 2026 قراءة المزيد
تسويق رقمي

ميزانيتنا كانت تحترق: كيف أنقذتنا ‘نماذج الإحالة’ (Attribution Models) من جحيم تخمين القنوات الرابحة؟

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

8 أبريل، 2026 قراءة المزيد
تجربة المستخدم والابداع البصري

من فوضى المكونات إلى نظام التصميم المتكامل: قصتنا لإنقاذ واجهات المستخدم من جحيم التضارب

أشارككم تجربتي كـ "أبو عمر" في الانتقال من واجهات فوضوية ومكررة إلى بيئة عمل منظمة بفضل "نظام التصميم". سنغوص في رحلتنا لبناء هذا النظام من...

8 أبريل، 2026 قراءة المزيد
البودكاست