כשרשימה ארוכה מדי לכרטיס, הווידג'ט מחליט — לא המודל
מעבר לארבע תוצאות, הווידג'ט של קו הופך רשימת כרטיסים לרצועה נגררת בעצמו, בלי התקדמות אוטומטית, כך שהוא לא יכול להיכשל בכלל שקרוסלה בדרך כלל שוברת.
מחבר יכולת לא מעצב לפי כמות התוצאות שבמקרה שאלה מסוימת תחזיר. הוא מצהיר על צורה פעם אחת — "כרטיס אחד לכל דבר" — ומספר הכרטיסים בכל יום נתון הוא מה שהמערכת הבסיסית מחזירה.
התרחיש
תושב שואל את העוזר של רשת קמעונאית איפה אפשר לאסוף פריט. שישה סניפים מחזיקים אותו. היכולת שעונה מוצהרת כ-CardList — אותו רמז תצוגה בדיוק שמשמש במקום אחר בפלטפורמה הזו לתוצאה בודדת, כמו יתרת ארנונה. שישה זה הרבה כרטיסים לערום בחלון צ'אט, אז הווידג'ט, בעצמו, הופך אותם לרצועה נגררת במקום גלילה אנכית ארוכה.
מה הופך את זה לבטוח ולא למסוכן
לקרוסלות יש בעיית נגישות ידועה: תוכן שמתקדם אוטומטית ומשתנה בזמן שמישהו עדיין קורא אותו, או קורא אותו בעזרת קורא מסך, הוא אחד מכשלי ה-WCAG הנפוצים ביותר ברשת. לרצועה של קו אין התקדמות אוטומטית ואין טיימר. היא זזה רק כשהתושב מחליק אותה. ההחלטה להפוך לרצועה בכלל מתקבלת על ידי הווידג'ט, על סמך סף קבוע (מעבר לארבע תוצאות), לא על ידי המודל שמנחש ש"רצועה תיראה טוב כאן".
מי החליט מה
מחבר היכולת החליט שהנתונים הם רשימה של דברים נפרדים. הווידג'ט החליט איך רשימה של שישה דברים נפרדים צריכה להיות מסודרת על מסך קטן. המודל כתב את המשפט שמציג את התוצאות. באף שלב אף אחד לא היה צריך לעצב במיוחד חוויית "שישה-סניפים" — אותו רמז CardList שמציג כרטיס אחד מציג שישה, כי מספר הפריטים מעולם לא היה חלק מהחוזה.
למה זו הנקודה האמיתית
אינטגרציה בנויה ידנית צריכה לצפות כל כמות ששאילתה עשויה להחזיר ולעצב עבור כל אחת. חוזה יכולת שרק אומר "אלה דברים בודדים" לא צריך לצפות כלום — רמז תצוגה אחד, כלל אחד למתי הוא הופך לרצועה, וכל ארגון בפלטפורמה מקבל את אותה התנהגות נכונה בין אם השאילתה שלו מחזירה סניף אחד או שישה.