في مملكة Far Far Away ... بدأت قصتي عن الهاكاثون في Wrike لأن Hackathon مثل قصة خيالية: يجتمع المتحمسون لإحياء أفكارهم. يتم طرح فكرة ، مثل سهم رائع ، ومن ثم يمكن أن تسقط على ساحة البويار ، أو يمكن أن تختفي في مستنقع الحياة اليومية. وكما هو الحال في القصة الخيالية ، فهي دائمًا مثيرة. ليس من السهل تجميع فريق في وقت قصير جدًا ، وصنع منتج من فكرة ، وحتى إظهاره بطريقة تفاجئك من الأشخاص الشرفاء.

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

غالبًا ما يتم عقد Hackathons من قبل منظمات محددة ، وهذا يعمل لعلامة الموارد البشرية للشركة. يمكن أن تكون الأهداف مختلفة: قصة عن شركة أو منتج ، وتوظيف درجة متفاوتة من العدوانية ، وتنظيم مجتمع مواضيعي ، والبحث عن أفكار جديدة (
على الرغم من جيوش خبراء المنتج الخاص بك ، يمكن أن يكون من المفيد الحصول على مجموعة من الأفكار من الحالمين مع رؤية واضحة لموضوع الموضوع ) ، إلخ. د.
بالنسبة للمشاركين ، هذه فرصة للتعرف على الشركة ، لأن الهاكاثون غالبًا ما يكون انعكاسًا له ، ومنه يمكن للمرء أن يستخلص استنتاجات حول المطبخ الداخلي. لفهم العمليات في الشركة ، يمكنك إلقاء نظرة على كيفية تنظيم هاكاثون: ما هي القيود المفروضة على المشاريع المشاركة في هاكاثون (
نطاق المهام ، ومجال الموضوع ، والتكنولوجيا ، والأدوات ، وما إلى ذلك ) ؛ مستوى الحدث ؛ معايير وشفافية الجزء التنافسي ؛ التحكيم - التكوين والجودة ؛ ما هي القواعد والأساليب لتشكيل الفرق. بشكل عام ، تنقسم الشركات إلى أولئك الذين يقومون بالهاكاتون (
داخليًا أو عامًا ) وأولئك الذين لا يفعلون. أنا أفضل أولئك الذين يقضون ، لأن هذه شركات أكثر انفتاحا.
أنا نفسي أذهب إلى الهاكاثونات ليس من أجل النصر ، ولكن من أجل المشاركة. أتساءل:
- جرب تقنيات جديدة. في أحد أحداث هاكاثون "الغذاء" ، أخذنا Flutter ، وكتبنا تطبيقًا لـ ios و android. على الرغم من أن أحداً منا لم يجرب Flutter من قبل ، فقد عرفنا كيف نندفع .
- للتعرّف على أشخاص جدد والعمل معهم ، لذلك بعد أحد أحداث هاكاثون "المدينة" ، اتصلت بشريك في مشروع الهاكاثون للعمل في فريقي للعمل الرئيسي ، وهو أمر لم أندم عليه أبدًا. Hackathon هي طريقة رائعة لاختبار الرفيق في العمل.
- لفعل شيء أحتاجه حقًا. في الهاكاثون الداخلي ، قاموا بفحص التطبيق ، والذي تم استخدامه بعد ذلك في العمل.
- فقط احصل على مشاعر إيجابية من الخلق. أنا حقا أحب جو الهاكاثون!
لذلك ، يسعدني أن أشارك في هاكاثون wrike (
كان هذا العام هو ثالث هاكاثون داخلي ) ، حيث نخرج ونجعل Wrike أفضل حتى: بعض مشاريع الهاكاثون السابقة تعيش بالفعل في منتجنا ، وبعضها في تراكم الفرق. كما أن المقياس مُلهم ، على الرغم من حقيقة أن هاكاثون داخلي ، إلا أنه تم توظيف حوالي 30 فريقًا (
أكثر من 100 شخص ) - كلهم بأفكار جديدة رائعة.
في هاكاثون 2018 ، قررت العمل مع
AR . في
MVP ، كنت أرغب في عرض مهام wrike (
الاسم ، والحالة ، والفنانين ، وما إلى ذلك ) على شاشة الهاتف المحمول عند التمرير فوق رمز رسومي مع معرف المهمة المشفر فيه ، وإضافة أيضًا القدرة على تغيير الحالة وتعيين / إزالة المهام من نفسك. هناك فكرة ، هناك هاكاثون ، ولم يشارك الفريق أيضًا. في اليوم المحدد ، استدار كل شيء.
سألت الرماد
أنا لا أستعد بشكل خاص لأحداث الهاكاثون من حيث إعداد البيئة (
البحث عن حزم SDK وأطر العمل ؛ تثبيت البرامج ؛ التكوين ، إلخ ) ، كتابة التعليمات البرمجية مقدمًا ، وما إلى ذلك ، ولكن فقط وضع الأفكار والميزات والتفكير في ما يجب القيام به في أي ترتيب الخ. لذلك ، تشاور الفريق وقرر أننا
سنكتب بلغة جافا (يكتبون عليها
محليًا لنظام Android ) ، وكانت هناك فرضية أنه ربما كان هناك الكثير من مكتبات الواقع المعزز الجاهزة. خطتنا: خذ حزمة SDK ملائمة ، وأضف
إليها واجهة برمجة تطبيقات Wrike ، ثم ركز على كتابة منطق تطبيقنا. وبالتالي ، كانت مهمتنا الأولى هي العثور على Java AR SDK مناسب ، مما يتيح لك:
- ارسم شيئًا على سطح افتراضي معين.
- دمج / يحتوي بالفعل على ماسح ضوئي للعناصر الرسومية الديناميكية ( الباركود ، QR ، إلخ ).
- العمل مع عتبة منخفضة ( نحن في هاكاثون ، نحتاج إلى بسرعة ): هناك عرض ، هناك وثائق ، هناك نسخة مجانية / تجريبية.
تبدو مهمة بسيطة للغاية. وقد بدأنا في فرز الخيارات استنادًا إلى مقالات مثل "
حزمة SDK للواقع المعزز الأفضل في عام 2018 "

أولاً ، نظرنا إلى Google. لقد فتحوا "
Quick Start " ، وفعلوا كل شيء وفقًا للتعليمات ، وأطلقوه ، وها ، كل شيء يعمل: تظهر أجهزة Android على طاولتي ، والتي يمكن أيضًا نقلها. الشعور بأننا وجدنا "الأساس" لتطبيقنا. ولكن بعد ذلك تبعت خيبة الأمل ، لا يعمل
التعرف على الصور كما نحتاج: يمكن أن تكون هناك صورة واحدة فقط ، يجب أن تكون مرئية بوضوح ، ويجب أن تكون من قاعدة بيانات الصور المعروفة سابقًا (
ويجب أن يكون لدينا علامة فريدة خاصة بنا لكل مهمة ). والأكثر حزنًا هو عدم القدرة على التحكم في التركيز ، وهذا هو السبب في أن التقاط الصورة التي نحتاجها للاعتراف تصبح مهمة صعبة للمستخدم. صحيح ،
لقد تم
حل المشكلة الآن بالتركيز ، ولكن كان علينا مواصلة البحث. بشكل عام ، تبين أن Google جيدة ، ولكن ليس لمهمتنا. وأيضًا بسبب تفاصيل OpenGL على OSX ، لم نتمكن من الحصول على الإصدار التجريبي للعمل في المحاكي وفعلنا كل شيء على هاتف مباشر.
قرأنا الوثائق ، شاهدنا
مقاطع الفيديو ، تبدو رائعة. هناك العديد من الميزات ، على سبيل المثال ،
Image Targets . قررنا أن نجرب: مسجلة ، تم تنزيلها ، تم جمعها ، إطلاقها. بدأ تطبيق العرض التوضيحي ، لكنه لم يعمل على المحاكي أو على نظام android-e المباشر. محاولة اختبار أي ميزة تعطل التطبيق بأكمله. تقرر عدم إضاعة الوقت في البحث عن المشكلة وإصلاحها ، والانتقال إلى SDK التالي.
قمنا بتنزيل SDK ، وذهبنا من خلال
البرنامج التعليمي ، وأطلقنا العرض التوضيحي. هناك الكثير من جميع أنواع الاحتمالات ، العرض التجريبي مثير للإعجاب على الفور ، مجموعة من الأمثلة المصغرة ، لعبنا بما فيه الكفاية (
على سبيل المثال ، هناك التعرف على الوجوه ) ، وها ، فإن العرض التجريبي لديه بالفعل التعرف على QR. لكن المشكلة هي أننا نحصل على ما هو مشفر في الشفرة ، لكننا لا نعرف مكانه. بدأوا في فهم كيفية ترتيب الماسح الضوئي QR. اتضح أنه تم صنعه كإضافة على
ZBar في شكل مكون إضافي إيجابي لـ SDK. في البداية كان لدي فكرة مجنونة لكشف gcc وإنهاء البرنامج المساعد بحيث يعطي الإحداثيات أيضًا ، لكننا توقفنا في الوقت المناسب.
وحاربوا 3 أيام و 3 ليال
بعد أن أدركنا أن ربع الوقت المخصص لهذا اليوم متأخر ، وما زلنا نبحث عن SDK (
كانت هناك
عينات من حلول أخرى ، لم يتم وصفها أعلاه فقط ، ولكن كان هناك أيضًا إخفاق ) ، قررنا عدم البحث عن "الرصاصة الفضية" بعد الآن ، ولكن أخذ كل شيء في يديك. لقد نضجت خطة جديدة: كعلامة مهمة ، نأخذ رمز الاستجابة السريعة ، على أنه بسيط ومشترك ؛ للتعرف عليها ، نأخذ
ZXing ، والتي يمكنها التعرف على العديد من الرموز في نفس الوقت ، بالإضافة إلى القيمة ، توفر المكتبة أيضًا إحداثيات 3 نقاط "بحث" لرمز QR. ثم فوق قارئ الكود سنقوم بتطبيق AR. نشمر عن سواعدنا ونذهب ، لدينا 3 نقاط ، مما يعني أنه بمساعدة التحولات الألفة يمكننا الحصول على كل ما نحتاجه.

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

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