Większa optymalizacja
- 23.06.2009
Z Normanem Rotherem, szefem zespołu rozwoju i badań telewizji cyfrowej w firmie TechniSat, rozmawiamy o specyfice tworzenia oprogramowania do cyfrowych urządzeń telewizyjnych.
Norman Rother, szef zespołu rozwoju i badań telewizji cyfrowej w firmie TechniSat
Tak. Jest to dziedzina bardzo specyficzna, pod wieloma względami bardzo różniąca się od tworzenia oprogramowania np. do komputerów osobistych. Bo czy można na przykład wyobrazić sobie telewidza, któremu w trakcie oglądania zawiesza się telewizor?
Właśnie! Jak więc czegoś takiego się unika?
Stosuje się wiele metod i sposobów, pośród których najważniejsza wydaje się swoista dualność występująca w poszczególnych funkcjach-modułach. Każda taka funkcja, poza swym właściwym działaniem, wykonuje liczne czynności samokontroli. W wyniku tego może wykonać np. własny auto-restart. Gdy jest to przykładowo funkcja odpowiadająca za któryś z parametrów jakości obrazu, efektem będzie tylko trwające ułamek sekundy i niezauważalne dla widza zakłócenie obrazu. Są też jednak sprawy bardziej złożone, takie jak wymiana komunikatów między funkcjami, z których jedne muszą być uwzględniane natychmiast, inne zaś mogą oczekiwać w kolejkach. No i mamy także stos systemowy, któremu, jak wszędzie, i tu również może grozić przepełnienie...
Jakie jeszcze inne różnice dostrzega Pan między pracą "zwykłego" programisty a wykonywaną w Pana zespole?
Po pierwsze - większa dbałość o optymalizację i wydajność algorytmów. Dalej idzie większa dbałość o dostosowanie się do potrzeb i możliwości użytkowników, których jest przecież znacznie więcej niż użytkowników komputerów i dla których umiejętność obsługi telewizora ma być czymś naturalnym, a nie wiedzą tajemną, jak to ciągle jeszcze jest w przypadku komputerów. Myślę też, że większa jest tu też odpowiedzialność za niezawodność działania, o czym mówiliśmy już na początku.
Jak by nie patrzeć, oprogramowanie każdego telewizora cyfrowego zawiera w sobie "skondensowane" wszystkie elementy znane z oprogramowania - nazwijmy to tak jeszcze raz - komercyjnego. Tyle, że w tym ostatnim są one bardzo rozproszone.
Tak. Mamy tu swoiste "wszystko w jednym". Jest odpowiednik systemu operacyjnego, jest baza danych (lista parametrów satelitów, ich nadajników i programów), jest główny program sterujący i wywoływane przezeń funkcje. Jest w końcu też i interfejs użytkownika, zarówno ekranowy, jak i działający za pośrednictwem pilota.