مشروع · 2010 · مؤلف · مؤرشف

SAMS: نظام التسويق المكاني الآلي (تخرج 2010)

مشروع تخرج جامعة الأردن: نظام تسويق يدرك الموقع بـGIS مع backend للسيرفر وعملاء Windows Mobile وSymbian. أيوه، Symbian.

Client-server architecture diagram showing request-response flow, hero image for architecture topic posts.

عام 2010. iPhone عمره ثلاث سنوات ولا يزال فضولاً في عمّان. “الجوال” يعني Nokia. BlackBerry للمديرين التنفيذيين. Android موجود منذ عامين لكنه يشعر كتجربة مطوّرين. وأنا في الجامعة الأردنية أُنهي بكالوريوسي في نظم المعلومات الحاسوبية، أبني نظام تسويق يدرك الموقع كمشروع تخرج.

الجرأة دي. أحب الواد ده.

ما كان SAMS

Spatial Automated Marketing System. سمّيته أنا، وهذا ما يدلّ على أنه كان 2010 - كنا لا نزال نُسمّي المشاريع بأحرف أولى مكوّنة من أربع كلمات كأننا نكتب RFC.

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

المعمارية - وأستخدم هذه الكلمة بتساهل لمشروع تخرج - كانت ثلاثية الطبقات:

  1. Backend السيرفر: Java/PHP وقاعدة بيانات علائقية (SQL Server) وطبقة بيانات GIS. تُسجّل الأعمال منشآتها مع إحداثيات جغرافية. تُحتفظ بملفات تعريف العملاء مع تفضيلات الاشتراك. يطابق محرك التسويق قرب المنشأة بملفات تعريف العملاء ويضع رسائل ترويجية في قائمة انتظار.

  2. عميل Windows Mobile: تطبيق .NET Compact Framework لأجهزة Windows Mobile. استطلاع GPS. تصيير خريطة - مؤلم فعلاً في 2010، لأن SDKs الخرائط الجوالة لم تكن ما هي عليه اليوم. كنت كثيراً ما تُصيّر البلاطات بنفسك. يُرسل العميل تحديثات الموقع إلى السيرفر ويستقبل محفّزات ترويجية حين تُطلَق قواعد القرب.

  3. عميل Symbian: لأن Windows Mobile لم يكن المنصة المهيمنة في السوق الأردني عام 2010 - Nokia كانت. Symbian Series 60 تحديداً. تطبيق عميل ثانٍ، SDK مختلف، وقت تشغيل مختلف، نفس البروتوكول. هنا تعلمت أن “اكتب مرة واحدة، شغّل في أي مكان” كان شعار تسويق Java وليس وصفاً لواقع الجوال.

المشاكل التقنية التي كانت صعبة فعلاً

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

مكدس الشبكات في Symbian لم يكن متسامحاً. تطلّب HTTP على Symbian Series 60 إدارة جلسة شبكة صريحة، وكانت للمنصة عدة أجيال من APIs بسلوكيات غير متوافقة عبر موديلات الأجهزة. اختبرت على أجهزة Nokia كنت أستعيرها من الزملاء والعائلة، مما يعني أن مصفوفة الاختبار كانت “أي هواتف Nokia كان يمتلكها الناس في عمّان في مطلع 2010”. مش صارم. جامعي جداً.

البطارية كانت قيداً ثابتاً. تطبيق GPS يستطلع كل 30 ثانية سيُفرغ بطارية Nokia من 2010 في ساعات. كانت فترة الاستطلاع قابلة للتكوين؛ كتبت قسماً في تقرير المشروع يشرح لماذا تعتمد المقايضة الصحيحة على السياق الانتشاري (كثافة المنشآت وسرعة تحرك العميل ومتطلبات الأعمال). هذا القسم كان أطول مما يحتاج على الأرجح. كنت فخوراً بالتفكير فيه.

ما علّمه المشروع فعلاً

الفجوة بين “يعمل على جهازي” و”يعمل في البرية”.

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

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

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

عرض اللجنة

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

بقيت تلك التغذية الراجعة معي. النظام الذي يفشل بشكل رشيق مع احتياطي مُدرَّب يتفوق على النظام الذي ينجح بشكل غير متوقع.

أين هو الآن

مؤرشف. Windows Mobile ذهب. Symbian ذهب. أجهزة Nokia المحددة التي اختبرت عليها قطع متحفية. دقة GPS التي كنت أتحايل عليها بالمتوسطات المتحركة تُعالج الآن تلقائياً بكل SDK موقع حديث. المشكلة التي حللتها حُلّت مرات عديدة منذ ذلك الحين، بفرق ذات موارد أكبر بكثير، مدمجة في منصات يستخدمها مليارات الأشخاص دون التفكير في الأمر.

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

أقبل كده.