کانال
| وضعیت | جاری |
| مالک | تیم محصول آپارات TV |
| آخرین بازبینی | ۱۴۰۵/۰۵/۲۷ — در برابر صفحه Channel - 1.1.0 طراحی AndroidTV، سند context محصول و سند معماری موتور ردیفها |
معرفی و هدف
در آپارات، محتوا به کانال تعلق دارد نه به یک فهرست بیصاحب. کاربری که ویدیویی را میپسندد، معمولاً سؤال بعدیاش این است که «این را چه کسی ساخته و چه چیز دیگری دارد؟» — و پیش از وجود این صفحه، تنها راه پاسخ دادن به آن، جستجوی دوباره نام کانال بود.
صفحه کانال، همه محتوای یک تولیدکننده را در یک جا جمع میکند: تصویر کاور و هویت کانال در بالا، و زیر آن ردیفهایی از ویدیوها، ویدیوهای کوتاه و پخش زندههای همان کانال. این صفحه همچنین تنها جایی در اپلیکیشن تلویزیون است که کاربر میتواند یک کانال را دنبال یا لغو دنبال کند؛ نتیجه این کار مستقیماً در بخش دنبالشدهها دیده میشود.
هدف کسبوکار: تبدیل کردن یک بازدید تکی به یک رابطه ادامهدار — کاربری که کانال را دنبال میکند دلیل مشخصی برای بازگشت به اپلیکیشن دارد، و ردیف دنبالشدههای صفحه خانه برای او پر میشود.
دامنه
- هدر کانال: تصویر کاور، آواتار، نام کانال و اکشن دنبال کردن، و رفتار تصویر کاور در نسبتهای مختلف.
- ردیفهای محتوای کانال شامل ویدیوهای بلند، ویدیوهای کوتاه و پخش زنده فعال.
- دنبال کردن و لغو دنبال کردن کانال از همین صفحه.
- حالت خالی کانالی که هنوز ویدیویی ندارد.
خارج از دامنه:
- مدیریت کانال، بارگذاری ویدیو و آمار کانال — اپلیکیشن تلویزیون ابزار تولید یا مدیریت محتوا ندارد.
- کانال خود کاربر که از پروفایل با اکشن «مشاهده کانال» باز میشود؛ آنچه در این صفحه مستند شده، همان صفحه است که برای کانال خود کاربر هم استفاده میشود.
- فهرست کانالهای دنبالشده که در دنبالشدهها مستند شده است.
- پخش محتوا که در پخش ویدیو و پخش زنده و ویدیوهای کوتاه مستند شده است.
مخاطبان و نقشها
مرور کانال و تماشای محتوای آن برای همه کاربران یکسان است و به ورود به حساب نیاز ندارد. تنها تفاوت، اکشن دنبال کردن است: چون دنبال کردن چیزی را به حساب کاربر نسبت میدهد، کاربر واردنشده با انتخاب آن به مسیر ورود به حساب هدایت میشود (BR-7).
واژهنامه
| اصطلاح | معنا |
|---|---|
| کانال | فضای یک تولیدکننده محتوا در آپارات که ویدیوها، ویدیوهای کوتاه و پخش زندههای او را در خود دارد. |
| کاور | تصویر عریض بالای صفحه کانال که هویت بصری کانال را نشان میدهد. |
| نشان تأیید | نشانی کنار نام کانال که کانال تأییدشده را از بقیه جدا میکند. |
| دنبال کردن | رابطهای که کاربر با یک کانال برقرار میکند تا ویدیوهای تازه آن را در بخش دنبالشدهها ببیند. |
قواعد کسبوکار
- BR-1 — هدر کانال از سه بخش ساخته میشود: تصویر کاور که تمام عرض صفحه را میگیرد و رویش یک گرادیان دارد، آواتار و نام کانال، و اکشنها.
- BR-2 — وقتی نسبت ابعاد تصویر کاور با کادر کاور نمیخواند، نحوه جا دادن تصویر بر اساس نسبت عرض به ارتفاع آن تعیین میشود و نسبت ۴ به ۱ نقطه تغییر رفتار است: تصویرهای کمعرضتر از ۴:۱ و پرعرضتر از ۴:۱ دو رفتار متفاوت دارند.
- BR-3 — کانالی که کاور تنظیمنشده دارد، هدر با ظاهر متفاوتی میگیرد؛ یعنی نبودن کاور یک حالت طراحیشده است، نه یک کادر خالی.
- BR-4 — اکشن دنبال کردن دو حالت دارد و با هر بار انتخاب بین آنها جابهجا میشود: «دنبال کردن» برای کانال دنبالنشده و «دنبال شده» برای کانال دنبالشده.
- BR-5 — محتوای این صفحه از سرور تعیین میشود: تعداد ردیفها، عنوان هر ردیف و ترتیب آنها ثابت و درون اپلیکیشن نیستند و از همان موتوری میآیند که صفحه خانه، دستهبندیها و پخش زنده را میسازد.
- BR-6 — یک کانال میتواند ردیف ویدیوهای کوتاه داشته باشد. کارتهای این ردیف عمودیاند و برخلاف کارت ویدیوهای بلند، شمارنده پخش نشان میدهند.
- BR-7 — دنبال کردن به حساب کاربری نیاز دارد. اکشن دنبال کردن سه وضعیت ممکن دارد: قابل دنبال کردن، دنبالشده، و نیازمند ورود — در وضعیت سوم انتخاب اکشن، کاربر را به مسیر ورود به حساب کاربری میبرد.
- BR-8 — کانالی که هیچ ویدیویی ندارد، بهجای ردیفها پیام «ویدیویی برای نمایش وجود ندارد.» را نشان میدهد؛ هدر کانال و اکشن دنبال کردن در این حالت سر جای خود میمانند.
- BR-9 — پخش زنده فعال کانال، در ردیف مخصوص خود با برچسب «پخش زنده» و تعداد بیننده نمایش داده میشود.
سناریوها
سناریوی ۱: مرور یک کانال و محتوای آن
هدف — کاربر صفحه یک کانال را باز میکند تا ببیند آن کانال چه محتوایی دارد.
نقشهای درگیر — همه کاربران.
پیشنیازها — کاربر از یکی از مسیرهای ورودی به کانال رسیده است: نتیجه کانال در جستجو، نام کانال زیر یک ویدیو در صفحه پخش، کارت کانال در موزیک یا دنبالشدهها.
جریان اصلی
۱. کاربر صفحه کانال را باز میکند. → هدر کانال با تصویر کاور، آواتار و نام کانال و اکشن دنبال کردن نمایش داده میشود (BR-1)، و زیر آن اولین ردیف محتوای کانال دیده میشود.

۲. کاربر کلید پایین را میزند. → فوکوس از هدر به ردیفهای محتوا میرود و کارت زیر فوکوس بزرگ و برجسته میشود.

۳. کاربر با کلیدهای راست و چپ در یک ردیف و با کلیدهای بالا و پایین بین ردیفها حرکت میکند. → عنوان هر ردیف بالای آن نمایش داده میشود؛ ردیفها و عنوانهایشان را سرور تعیین میکند (BR-5). ۴. کاربر روی یک کارت کلید تأیید را میزند. → محتوای انتخابشده باز میشود: ویدیو در صفحه پخش، ویدیوی کوتاه در پخش عمودی و پخش زنده در پخش زنده.
جریانهای جایگزین و استثنا
-
۱a. کانال کاور تنظیمشده ندارد (BR-3):
-
۱a1. هدر با ظاهر مخصوص «بدون کاور» نمایش داده میشود؛ آواتار، نام کانال و اکشن دنبال کردن سر جای خود میمانند.

-
-
۱b. نسبت ابعاد تصویر کاور با کادر کاور نمیخواند و نسبت عرض به ارتفاع آن کمتر از ۴ به ۱ است (BR-2):
-
۱b1. تصویر بر اساس همین حالت در کادر جا داده میشود.

-
-
۱c. نسبت عرض به ارتفاع تصویر کاور بیشتر از ۴ به ۱ است (BR-2):
-
۱c1. تصویر با رفتار دوم در کادر جا داده میشود.

-
-
۳a. کانال هماکنون پخش زنده دارد (BR-9):
-
۳a1. ردیف پخش زنده با برچسب «پخش زنده» و تعداد بیننده — در طراحی «۵۰۷ بیننده» — نمایش داده میشود.

-
-
۳b. کانال ویدیوی کوتاه دارد (BR-6):
-
۳b1. ردیف «ویدیوهای کوتاه» با کارتهای عمودی و شمارنده پخش نمایش داده میشود.

-
۳b2. با فوکوس روی این ردیف، کارتهای عمودی برجسته میشوند و بقیه ردیفها زیر آن میمانند.

-
-
۳c. کانال هیچ ویدیویی ندارد (BR-8):
-
۳c1. بهجای ردیفها، پیام «ویدیویی برای نمایش وجود ندارد.» در وسط ناحیه محتوا نمایش داده میشود؛ هدر کانال و اکشن دنبال کردن باقی میمانند.

-
-
۳d. محتوای صفحه به خطا میخورد یا دستگاه به اینترنت متصل نیست:
- ۳d1. صفحه، خطای عمومی اپلیکیشن را نمایش میدهد که در هشدارها و خطاها مستند شده است. موتور ردیفها برای این صفحه خطای اختصاصی ندارد.
پسشرطها — کاربر محتوای کانال را دیده است و میتواند محتوایی را باز کند یا کانال را دنبال کند.
سناریوی ۲: دنبال کردن و لغو دنبال کردن کانال
هدف — کاربر رابطهاش با یک کانال را برقرار یا قطع میکند تا ویدیوهای تازه آن را در بخش دنبالشدهها ببیند یا نبیند.
نقشهای درگیر — کاربر واردشده به حساب. کاربر واردنشده به مسیر ورود هدایت میشود (BR-7).
پیشنیازها — صفحه کانال باز است.
جریان اصلی
۱. کاربر فوکوس را روی اکشن کنار نام کانال میبرد. → دکمه حالت فوکوس میگیرد. کانالی که هنوز دنبال نشده، برچسب «دنبال کردن» دارد. تنها فریمی که این حالت را نشان میدهد، همان فریم «بدون کاور» است؛ حالت دکمه به وجود یا نبود کاور ربطی ندارد.

۲. کاربر کلید تأیید را میزند. → کانال دنبال میشود و برچسب دکمه به «دنبال شده» تغییر میکند (BR-4).

۳. کاربر روی همان دکمه دوباره کلید تأیید را میزند. → دنبال کردن لغو میشود و برچسب به «دنبال کردن» برمیگردد.
جریانهای جایگزین و استثنا
- ۲a. کاربر وارد حساب کاربری نشده است (BR-7):
- ۲a1. بهجای انجام اکشن، کاربر به مسیر ورود به حساب کاربری هدایت میشود.
- ۲b. درخواست دنبال کردن به خطا میخورد:
- ۲b1. وضعیت دکمه تغییر نمیکند و کانال در وضعیت قبلیاش باقی میماند.
- ۲b2.
[CLARIFICATION NEEDED: طراحی برای خطای اکشن دنبال کردن پیامی ترسیم نکرده است؛ مشخص نیست پیام خطایی به کاربر نشان داده میشود یا دکمه بیصدا به حالت قبل برمیگردد.]
- ۲c. کانال، کانال خود کاربر است:
- ۲c1.
[CLARIFICATION NEEDED: طراحی فریمی برای صفحه کانالِ خودِ کاربر ندارد؛ مشخص نیست اکشن دنبال کردن در آن حالت پنهان میشود یا غیرفعال.]
- ۲c1.
پسشرطها — وضعیت دنبال کردن کانال تغییر کرده و در بخش دنبالشدهها بازتاب پیدا میکند.
پرسشهای باز
- ۱۴۰۵/۰۵/۲۷ — در طراحی، هنگام باز شدن صفحه کانال فوکوس روی دکمه دنبال کردن مینشیند. تیم طراحی خودش یادداشت کرده که این رفتار برای کانالهایی که از قبل دنبالشدهاند مناسب نیست، چون اولین کلید تأیید کاربر ناخواسته دنبال کردن را لغو میکند. راهحل جایگزین چیست؟ — در انتظار تیم محصول.
- ۱۴۰۵/۰۵/۲۷ — رفتار خطای اکشن دنبال کردن (جریان جایگزین ۲b). — در انتظار تیم محصول.
- ۱۴۰۵/۰۵/۲۷ — رفتار اکشن دنبال کردن روی کانال خود کاربر (جریان جایگزین ۲c). — در انتظار تیم محصول.
- ۱۴۰۵/۰۵/۲۷ — طراحی حالت بارگذاری (اسکلت) برای صفحه کانال فریم ندارد، در حالی که صفحههای مشابهی که با همین موتور ساخته میشوند دارند. آیا این صفحه هم اسکلت دارد؟ — در انتظار تیم محصول.
وابستگیها و پیشنیازها
- موتور ردیفهای محتوا که ساختار و محتوای صفحه را از سرور میگیرد (BR-5) — همان وابستگی که صفحه خانه، دستهبندیها و پخش زنده دارند.
- سرویس دنبال کردن کانال برای سناریوی ۲؛ نتیجه آن روی دنبالشدهها اثر میگذارد.
- حساب کاربری آپارات برای دنبال کردن (BR-7).
تاریخچه تغییرات
| تاریخ | تغییر | منبع |
|---|---|---|
| ۱۴۰۵/۰۵/۲۷ | نسخه اولیه | طراحی Channel - 1.1.0 + سند context محصول + سند معماری موتور ردیفها |