موجز الأخبار: لماذا نفعل هذا الخطأ؟

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


موجز الأخبار النموذجي


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


طرق الاستهلاك


افترض أن مستخدمًا قد طلب منا قائمة ببعض الكيانات. تعتمد طريقة عرض المستخدم لهذه الكيانات على أهدافه. هناك طريقتان للاستهلاك:


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


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



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


معايير الملاءمة


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


ولكن هناك معايير عامة ، مثل:


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

الأشرطة في الحياة البرية


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


تغذية فكونتاكتي


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


  1. استمر في التقليب من خلال الخلاصة
  2. يمكنك إرجاع الخلاصة إلى البداية للاطلاع على آخر الأخبار (وهي ليست حقيقة أكثر صلة).

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


  1. يختتم الشريط بسرعة وبسرعة ، ويخفض حركة المرور على الإنترنت في الأنبوب ، على أمل إنهاء الأخبار التي لم يرها بعد.
  2. قم بالقيادة على الشريط وافعل شيئًا آخر.

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


هذه المشكلة نموذجية جدًا لدرجة أنه من المناسب منحها اسمًا خاصًا. فليكن "متلازمة الوعي المجزأة".


الصفحة الرئيسية هبرة


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


يوتيوب


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


جذر المشكلة


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


الحل


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


  1. مرئي. الأخبار التي التقطناها له من قبل ويراه الآن على الشاشة.
  2. تمت المشاهدة. الأخبار التي شاهدها المستخدم بالفعل وتمريرها. عندما تترك الأخبار المنطقة المرئية لأعلى - يمكنك وضع علامة عليها كمقروءة بأمان.
  3. القصة. قائمة أخبار تم إنشاؤها لمستخدم معين. وهذا يشمل كلاً من الأخبار التي شاهدها المستخدم بالفعل وتلك التي ينظر إليها الآن.

مجموعات أخبار


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


الملاءمة


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


API


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


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

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


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


نص الاستعلام


نفتح الشريط ، ليس لدينا أي مرساة حتى الآن:


GET /feed?offset=5 

نقدم طلبًا للأخبار غير المقروءة:


 SELECT FROM history WHERE user = 123 AND read_at NOT NULL ORDER BY id ASC limit 5 

يرى المستخدم مجموعة مختارة من الأخبار غير المقروءة التي توقف فيها آخر مرة:


 [ { id : 3232 } , { id : 5343 } , { id : 7346 } , { id : 9825 } , { id : 9967 } ] 

يتأرجح المستخدم لرؤية الأخبار التي شاهدها آخر مرة:


 GET /feed?anchor=3232&offset=-5 

 SELECT FROM history WHERE user = 123 AND id < 3232 ORDER BY id DESC limit 5 

 [ { id : 323 } , { id : 329 } , { id : 544 } , { id : 843 } , { id : 898 } ] 

اهتز المستخدم من أجل رؤية شيء جديد:


 GET /feed?anchor=7346&offset=5 

 SELECT FROM history WHERE user = 123 AND id > 7346 ORDER BY id ASC limit 5 

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


 [ { id : 38574} , { id : 47246} , { id : 52378} , { id : 69238} , { id : 73294} ] 

إنجازات في الحياة البرية


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

Source: https://habr.com/ru/post/ar416555/


All Articles