Wywiady

Jaka przyszłość czeka rynek VOD? Wywiad z Karolem Kozer

EPG to skrót od Electronic Program Guide, czyli elektronicznego przewodnika po programach. Przewodnik po programach jest powszechnie używany w aplikacjach TV Online. W odniesieniu do aplikacji webowych jest to nowa funkcja, która zyskuje na popularności. W rozmowie z twórcą aplikacji Planby, Karolem Kozer, zapytaliśmy o proces tworzenia nowoczesnych rozwiązań webowych, które mogą kształtować przyszłość rynku VOD.

Czym jest EPG?

Jest to system, który dostarcza użytkownikom wszystkie dostępne przeszłe, aktualne i nadchodzące programy od danego dostawcy sygnału. Pozwala zobaczyć aktualny program na dany dzień i pokazuje zakres programów do 7 dni z wyprzedzeniem. System EPG składa się z paska bocznego z kanałami, osi czasu i układu nadawanych programów przypisanych do danego nadawcy sygnału.

Zaletą EPG jest to, że użytkownicy mogą bardzo szybko poruszać się po całym układzie, aby zobaczyć informacje o wybranych przez siebie programach. Ponadto elektroniczny przewodnik po programach zawiera opcjonalne funkcje, takie jak opcja przypomnienia, planowanie nagrywania, listy ulubionych kanałów oraz wyświetlanie szczegółów nadawanych programów itp.

Czym jest Planby? W jaki sposób powstało?

Planby jest to komponent oparty o React.js, który pozwala na bardzo szybkie i proste wdrożenie do aplikacji webowych własnego EPG. Co więcej, można go wykorzystać do implementacji harmonogramów, wydarzeń muzycznych itp. i wielu innych pomysłów zastosowań jakie wymaga tego logika biznesowa aplikacji.

Komponent wykorzystuje customowy niestandardowy wirtualny widok pozwalający operować na dużej ilości danych. Planby ma prosty interfejs API, który można bardzo łatwo zintegrować z zewnętrznymi bibliotekami UI lub wdrożyć własne niestandardowe style. Motyw aplikacji można dostosować do własnych kolorów aplikacji.

Dlaczego postanowiłeś stworzyć Planby? Co ukierunkowało Cię na utworzenie takiego projektu?

Pracując przez lata nad aplikacjami webowymi Tv Online i VOD zdałem sobię sprawę, że nie ma gotowego narzędzia ułatwiającego wdrożenie takiego systemu do aplikacji. Powiedziałbym, że była to niszowa funkcja w tworzeniu webowych aplikacji, która jest najbardziej popularna w aplikacjach TV box itp.

Ponadto, po analizie wielu rozwiązań jakie napotkałem w aplikacjach webowych, które implementowały własne rozwiązania EPG zauważyłem, że nie są one dostatecznie wydajne i mają swoje minusy. Dodatkowo, analizując je pod względem UI / UX stwierdziłem, że mają one swoje mankamenty i ograniczenia w swobodnym używaniu systemu EPG przez użytkowników.

Jakie wyzwania pojawiły się przed Tobą podczas projektowania aplikacji?

Głównym wyzwaniem przy tworzeniu narzędzia Planby było poradzenie sobie z wydajnością i operowaniem na dużych danych w aplikacji. Miałem kilka wstępnych projektów, które poszły do kosza przed ostateczną wersją, ponieważ aplikacja nie radziła sobie z odświeżaniem wirtualnego widoku z aktualnie przeglądanymi programami i ilością danych. Ponadto trzeba podkreślić, że widok układu EPG to nie jest lista ani grid, co zwiększa znacząco komplikacje. Myślę, że to był największy problem ponieważ jest to główna funkcjonalność tego komponentu.

Ponadto, zmagałem się też z rozwiązaniem problemu dynamicznych zmian właściwości aplikacji takich jak zmiana ratingu, motywu, ilości danych, integrację z zewnętrznymi komponentami UI itp które można zobaczyć w aplikacji demo na stronie. Dodatkowo w kolejnej iteracji jaką przeprowadzałem podczas developmentu, zdałem sobię sprawę nad problemem reużywalności i swobodą wdrażania własnych customowych pojedynczych widoków w aplikacji.

Często są to priorytetowe wymagania u klientów dotyczące własnych niecodziennych rozwiązań UI. Biorąc pod uwagę ten problem zacząłem fazę przygotowawczą i potem wdrożeniową nad możliwością implementacji własnych rozwiązań UI pojedynczych programów, kanałów i nawet osi czasu. Dodatkowo w tej samej iteracji zrobiłem też możliwość schowania poszczególnych elementów UI aplikacji takich jak sidebar itp.

W kolejnej fazie napotkałem problem z obliczaniem dynamicznej pozycji programów względem wielkości okna aplikacji np. użytkownik zmniejszy okno przeglądarki lub zmieni położenie tabletu na poziomy bądź pionowy widok. Na samym końcu po rozwiązaniu kluczowych problemów funkcjonowania aplikacji zmagałem się ze stworzeniem domyślnych stylów komponentu Planby które będą spełniały wymagania pod względem UI/UX.

Co mogłoby dodatkowo ułatwić pracę nad Planby, czy ustalone są jakieś standardy dotyczące tworzenia takich aplikacji?

Generalnie jeżeli chodzi o standardy przy tworzeniu takich skomplikowanych funkcjonalności to mogę powiedzieć, że trzeba dokładnie, dogłębnie przeanalizować problem i wyciągnąć wnioski, co chcemy osiągnąć. Jest to kluczowa faza w procesie analizy a potem w części developmentu. Trzeba tworzyć i wydawać małe części funkcjonalności takich aplikacji po każdej fazie iteracji, co wymaga też dużych nakładów czasu.

Jak rozwiązałeś problem pozyskiwania na żywo informacji o obecnych programach?

Obecnie są to losowo wygenerowane dane, które znajdują się na stronie. Planby to tylko narzędzie, do którego przekazuje się dane np. od dostawcy kanałów i które umożliwia zaimplementowanie własnego przewodnika po programach TV bardzo szybko.

Czy masz jakiś plan na przyszłość związany z Planby? Co chciałbyś osiągnąć dzięki tej aplikacji?

Obecnie pracuje nad wsparciem funkcjonalności RTL. Jeżeli chodzi o przyszłość to myślę, że chciałbym spopularyzować wdrażanie EPG w projektach webowych, ponieważ jest to funkcjonalność, która wybija się z niszowej sfery i myślę, że dzięki zwiększonej popularności TV Online / VOD można to osiągnąć.

Czasami firmy się nie decydują na implementację tego rozwiązania na aplikacje webowe ze względu na jej skomplikowaność i czas więc w odpowiedzi na to stworzyłem Planby. Cały czas będę pracować nad udoskonalaniem funkcjonalności tego komponentu.

Dlaczego postanowiłeś udostępnić aplikację na GitHub w trybie open source? Czy tamtejsza społeczność ułatwiła Ci pracę i wsparła rozwój aplikacji?

Zdecydowałem się na taki krok ponieważ chciałem żeby każdy miał możliwość skorzystanie z tego komponentu. Dodatkowo, pomaga to spopularyzować rozwiązania w aplikacjach webowych. Oczywiście każdy ma też możliwość przyłączenia się do rozwoju tego projektu co jest też dużym plusem.

Co sądzisz o rynku VOD, jak wygląda on z Twojej perspektywy?

Myślę, że rynek TV Online i VOD jest to bardzo ciekawy obszar który obecnie prężnie się rozwija i zdobywa na popularności. Coraz więcej firm, klientów chce mieć swoją własną aplikację TV / VOD i chce żeby była ona lepsza od konkurencji. Ponadto, jest wiele firm, które specjalizują się tylko w implementacji TV Online / VOD jak i mają swoje własne produkty na licencji.

Uważasz, że jest to ciekawa branża dla programistów, a może również dla innych specjalistów?

Powiem więcej, jest to bardzo dobry obszar dla programistów, którzy chcą zwiększyć swoją wiedzę ponieważ nie jest to prosty temat w zarządzaniu i developmencie. Można nabyć bardzo dużo kluczowych umiejętności ze względu na skomplikowalności wdrażania takich systemów po stronie Front-end jaki Backendu.

Jest to obszar gdzie deweloper nie będzie się nudził każdego dnia i nie będzie wykonywał tych samych powtarzalnych zadań. Obecnie mogę powiedzieć, że jest to bardzo interesujący temat pod względem technicznym jak i biznesowym.


Karol Kozer. Absolwent Polsko-Japońskiej Akademii Technik Komputerowych. Obecnie pracuje jako Senior Software Engineer w Intive. W branży pracuje już kilka lat, rozwija duże komercyjne projekty i opracowuje rozwiązania dla kluczowych klientów. Realizował szereg aplikacji z zakresu multimediów: VOD/Tv Online, bezpieczeństwa, medycznych, e-commerce i wielu innych branż w technologiach Front-End. Aktualnie pracuje z wykorzystywaniem takich technologii jak React, Redux / React Query, Next.js, Materiał UI.

baner

Od trzech lat pracuje jako copywriterka, aktualnie zajmuje się tworzeniem treści dla branży IT oraz militarnej. Miłośniczka robienia szczegółowego researchu.

Podobne artykuły