Vladyslav Didyk

EntryCall — Застосунки для ТБ

EntryCall на телевізорі у вітальні — один застосунок для Apple TV, один зібраний вручну для Samsung.

EntryCall — Застосунки для ТБ

Це TV-застосунки EntryCall: екран лобі на Apple TV і на телевізорах Samsung Smart TV. Обидва я створив сам у 2026 році, а ще — застосунок-інфотабло для екранів у лобі.

Lobby Watch від EntryCall на великому екрані. Мешканці можуть дивитися живу камеру входу, бачити час і погоду та читати новини будинку через усю кімнату. Він виходить на двох дуже різних телевізорах: Apple TV — і Samsung, де його перезібрали вручну, щоб він працював навіть на моделі 2017 року.

Роль
Самостійний розробник
Терміни
2026
Стек
react-native-tvos (Apple TV) · Tizen Web / .wgt (Samsung) · Vanilla JS / ES2015 · HLS / hls.js · Custom focus engine · Samsung TV Seller Office
Сітка камер — кожен вхід на одному екрані, з чіткими станами «наживо», «завантаження» та «офлайн».
Сітка камер — кожен вхід на одному екрані, з чіткими станами «наживо», «завантаження» та «офлайн».
Оголошення — повідомлення будинку, розмір яких підібрано, щоб читати з дивана.
Оголошення — повідомлення будинку, розмір яких підібрано, щоб читати з дивана.

Завдання

Та сама платформа, тепер на телевізорі у вітальні.

Що це таке.

EntryCall уже живе на телефонах мешканців і на дверному обладнанні. Це переносить його на телевізор — великий, спокійний екран із живою камерою входу, годинником і погодою та оголошеннями будинку. Спершу його зробили для Apple TV, а потім перезібрали для телевізорів Samsung.

Чому зібрано вручну.

Телевізори Samsung працюють на власній системі, і найнадійніший спосіб охопити якнайбільше телевізорів — зокрема старих, уже встановлених у холах будинків — це невеликий вебзастосунок, написаний чистими HTML, JavaScript і CSS. Жодних фреймворків, нічого зайвого: він має працювати на найстарішому телевізорі в кімнаті.

Панель холу — живий потік із входу, час і погода та стрічка новин на одному екрані.
Панель холу — живий потік із входу, час і погода та стрічка новин на одному екрані.

Два телевізори

Одна панель, два рушії.

Той самий екран на двох дуже різних платформах.

  • Apple TV — Оригінальний застосунок, керований пультом Apple TV.
  • Samsung — зібрано вручну — Телевізори Samsung не можуть запустити той самий код, тож застосунок переписали з нуля чистим вебкодом, щоб охопити якнайбільше телевізорів. Усе нижче — про цю версію.

Як це побудовано

Без фреймворку, без етапу збірки — навмисно.

Спроєктовано зворотно, відштовхуючись від старого браузера.

  • Прості файли, по порядку — Застосунок — це список простих скриптових файлів, що завантажуються один за одним. Легко читати, легко виправляти, нічого компілювати.
  • Код, безпечний для старого браузера — Лише ті можливості мови, які розуміє телевізор 2017 року. Сучасні скорочення тримають подалі від коду, що виходить у реліз.
  • Кольори, запечені всередину — Старі телевізори не підтримують сучасні CSS-змінні кольору — тож невеликий етап пакування перетворює кожну змінну на звичайне значення перед поставкою.
  • Безпечний за побудовою — Застосунок ніколи не перетворює текст із сервера на сирий код сторінки — поширену дірку в безпеці тримають закритою за задумом.

Пульт

Три види введення, один шлях крізь застосунок.

Система фокуса, зібрана з нуля.

У ТБ-застосунку немає сенсорного екрана — ви рухаєте підсвічування пультом за допомогою клавіш-стрілок. Вебплатформа не дає вам нічого з цього безкоштовно, тож застосунок постачає власну систему: вона знає, які елементи можна обрати, де починається підсвічування й що стається, коли ви тиснете OK.

Три способи керувати, один шлях у коді.

  • Стандартний пульт — Стрілки, OK і «Назад» — класична ТБ-навігація.
  • Пульт-указівник 2017 року — Пульти Samsung тієї епохи рухають курсор на екрані й надсилають лише кліки. Застосунок ставиться до цього як до повноцінного випадку, а не як до запізнілої думки.
  • Звичайна клавіатура — Щоб увесь застосунок можна було протестувати в браузері на комп'ютері, без телевізора в кімнаті.
Вхід за одноразовим кодом — екранна клавіатура, керована цілком пультом. Телевізор залишається підключеним після перезапуску.
Вхід за одноразовим кодом — екранна клавіатура, керована цілком пультом. Телевізор залишається підключеним після перезапуску.

Живе відео

Картинка, що переживає примхливий телевізор.

Зроблено для відеочипа, що бреше.

Старі телевізори іноді заморожують живий відеопотік, узагалі не повідомляючи про жодну помилку. Тож програвач не довіряє телевізору — він сам стежить за картинкою й діє, коли щось виглядає не так.

Як зберегти картинку живою.

  • Сторожовий таймер — Якщо відео перестає рухатися, застосунок помічає це сам і перепідключається.
  • Терплячі повторні спроби — Перепідключення йдуть зі зростаючими паузами й м'яким індикатором завантаження — потік ніколи різко не зникає в чорний екран.
  • «Теплі» програвачі — Кожна камера тримає один живий програвач, що переміщується між екранами — тож перемикання екранів ніколи не перебуферовує відео.

Дані та вхід

Реальні дані або чисте демо, за одним перемикачем.

Перемикач «наживо / демо».

Один невеликий шар вирішує, чи звертається застосунок до справжнього бекенда, чи показує зразкові дані. Реальні сесії тихо поновлюються самі. Режим демо відображає весь інтерфейс зі зразковим вмістом — саме так і зроблено скриншоти на цій сторінці.

Оголошення, відкрите на весь екран — а коли ви закриваєте його, підсвічування повертається туди, де ви зупинилися.
Оголошення, відкрите на весь екран — а коли ви закриваєте його, підсвічування повертається туди, де ви зупинилися.

Наступний проєкт: EntryCall — Розумна платформа домофонії