Jednym z największych wyzwań przy tworzeniu treści multimedialnych jest stwierdzenie, która z dostępnych technologii najlepiej nadaje się do osiągnięcia założonego celu i wybranie takiej drogi jego realizacji, aby wszyscy byli zadowoleni. W tym rozdziale tym właśnie się zajmiemy. Flash pozwala na stworzenie bogatej multimedialnie zawartości. Teraz czas, abyś dowiedział się czegoś o aplikacjach Shockwave, QuickTime, RealSystem, Java i innych, które rozszerzają możliwości przeglądarek ponad HTML.
Przeglądarki to przede wszystkim interpretery kodu HTML. Ich działanie polega na tłumaczeniu instrukcji zawartych w znacznikach i zapisanych w pliku HTML na postać ekranową, użyteczną dla użytkownika. Dołączenie do kodu HTML skryptów JavaScript pozwala na wprowadzenie na strony WWW interaktywności. Jako takie przeglądarki jednak nie są w stanie obsługiwać takiej różnorodności plików multimedialnych, jaką chętnie widziałbyś na swoich stronach. Nie mogą wyświetlić sekwencji wideo, nie potrafią obsługiwać i prezentować dźwięku, nie umieją wyświetlić zawartości w formacie PDF, ani też obsłużyć skomplikowanej interaktywności i animacji, bez których nie obejdą się dziśżadne gry.
Całe szczęście przeglądarki są rozszerzalne. O wykonanie tego, czego same nie potrafią, mogą zwrócić się do oprogramowania zewnętrznego. I tak się często dzieje w czasie Twojego surfowania po Internecie, choć nie zawsze masz tego świadomość.
Ilekroć przeglądarka napotyka na plik, musi określić jego rodzaj i wybrać sposób obsługi. Odbywa się to poprzez analizę typu MIME (Multipurpose Internet Mail Extension). Typ MIME to informacja, jaką serwer sieciowy wysyła wraz z plikiem przy pobieraniu strony na komputer użytkownika. Informacja ta zawiera opis kategorii pliku i instrukcje pozwalające przeglądarce wybrać sposób potraktowania pliku. W celu zabezpieczenia, na wypadek gdyby serwer sieciowy nie przesłał ze ściąganym plikiem danych MIME, przeglądarka analizuje także sufiks lub inaczej rozszerzenie nazwy pliku.
Jeśli typ MIME lub rozszerzenie nazwy wskazują, że przeglądarka nie będzie w stanie obsłużyć pliku, sięga ona po pomoc zewnętrzną ? a stanowi ją aplikacja pomocnicza lub moduł dodatkowy.
Aplikacja pomocnicza to program, który obsługuje dany typ plików. Może nią być dowolny program na Twoim komputerze. Stuffit Expander i WinZip to przykłady aplikacji pomocniczych. Ilekroć przeglądarka natrafi na plik o rozszerzeniu nazwy .zip lub typ MIME application/zip, najpewniej odszuka i uruchomi jeden z tych programów. Każdy z tych programów może być także uruchamiany przez przeglądarkę niezależnie.
Moduł dodatkowy (ang. plug-in), tak jak aplikacja pomocnicza, dysponuje możliwościami, których brak przeglądarce, lecz nie jest samodzielną aplikacją. Moduły nie mogą być uruchamiane i nie mogą działać samodzielnie. W zamian rozbudowują możliwości przeglądarki. Moduły muszą rezydować w folderze Plug-Ins, który jest folderem podrzędnym foldera zawierającego oprogramowanie przeglądarki. Przykładem tego typu wsparcia jest moduł dodatkowy Flash, o którym wspominaliśmy. Jeśli przeglądarka znajdzie plik o rozszerzeniu nazwy .swf lub o typie MIME application/x-shockwave-flash, przystąpi prawdopodobnie do szukania i uruchamiania tego modułu (terminu ?moduł dodatkowy? używamy tu dla określenia wbudowanego rozszerzenia przeglądarki. Implementacjami tej technologii w przypadku dwóch najpopularniejszych przeglądarek, Firefox i Microsoft Internet Explorer, są moduły dodatkowe Netscape oraz kontrolki ActiveX.
Dlaczego twierdzimy, że przeglądarka prawdopodobnie zareaguje w określony sposób na dany typ MIME? Ponieważ każda przeglądarka musi najpierw zostać skonfigurowana, aby potrafiła zinterpretować pewne typy MIME, a dowolne dwie przeglądarki, nawet tej samej wersji i działające w takim samym środowisku, mogą byś skonfigurowane odmiennie. Przeglądarka jest skonfigurowana natychmiast po instalacji, lecz w zależności od źródła, z którego pochodzi (promocyjne lub pełne oprogramowanie z dysku CD, instalacja przy zakupie komputera, pobranie z witryn Microsoft lub Netscape, itp.), konfiguracje poszczególnych kopii tej samej wersji oprogramowania mogą się różnić. Ponadto, co oczywiste, także sami użytkownicy mogą zmienić ustawienia przeglądarki, dostosowując ją do własnych potrzeb.
Autorzy stron WWW nie mogą kontrolować sposobu obsługi różnych typów plików przez przeglądarki. Starają się jedynie przewidzieć sposób skonfigurowania przeglądarek użytkowników i przygotowują strony tak, aby radziły sobie w sposób elegancki z ewentualnym niepowodzeniem w tym względzie.
Wiele lat temu, aby umożliwić twórcom umieszczanie na stronach HTML zawartości multimedialnej, Netscape wprowadził technologię modułów dodatkowych rozbudowujących możliwości jego własnej przeglądarki. Firma wprowadziła także znacznik <EMBED>, którego zadaniem jest wskazanie przeglądarce modułu obsługującego dany typ zawartości multimedialnej. Chociaż znacznik ten nigdy nie został uwzględniony w oficjalnej specyfikacji języka HTML tworzonej przez W3C, cieszył się dużym wzięciem u użytkowników. Internet Explorer zaadoptował znacznik <EMBED> i system modułów dodatkowych, i jest on obecnie uważany za bezpieczny i pewny sposób umieszczania zawartości multimedialnej na stronach WWW. Chociaż mędrcy nadal mówią o modułach dodatkowych Netscape, nie jest to już technologia typowa dla Netscape.
W międzyczasie Microsoft rozwijał własny zestaw technologii wspomagających współużytkowanie informacji i kooperację różnych typów aplikacji. Technologia łączenia i osadzania obiektów (OLE; Object Linking and Embedding) i technologia COM (Component Object Model) określająca zasady komunikacji między obiektami znajdującymi się na tym samym komputerze, rozwinęły się ostatecznie w technologię ActiveX. Na potrzeby zastosowań sieciowych Microsoft przystosował swoją przeglądarkę do obsługi mini-programów zwanych kontrolkami ActiveX, które kontrolują umieszczone na stronie WWW obiekty ActiveX i pośredniczą w przekazywaniu do nich informacji za pośrednictwem znacznika <OBJECT>. Kontrolkę ActiveX można zaprojektować pod kątem współpracy z dowolną aplikacją, w tym także z Internet Explorerem. Komunikacja między kontrolką ActiveX a przeglądarką może odbywać się w języku skryptowym VBScript, stworzonym przez Microsoft, a sam system komunikacji przypomina komunikację między przeglądarką a modułami dodatkowymi Netscape, w której stosowany jest JavaScript, język skryptowy rozwinięty przez Netscape.
W rezultacie dostępne są dwa sposoby umieszczania zawartości multimedialnej w oknie przeglądarki: jako obiekty wspierane przez moduły dodatkowe oraz jako obiekty ActiveX. O ile obie przeglądarki obsługują moduły dodatkowe, to technologię ActiveX jedynie Internet Explorer. Sieć powiązań technologii ActiveX z innymi technologiami firmy Microsoft, ogranicza zakres jej działania tylko do platformy Windows. Ponieważ Internet Explorer bazuje przede wszystkim na ActiveX, obsługa obiektów wymagających modułów dodatkowych jest gorsza niż w przypadku Navigatora Netscape. W przeglądarce Netscape komunikacja z obiektami wspieranymi przez moduły dodatkowe odbywa się za pośrednictwem języka JavaScript. Internet Explorer nie zezwala na dostęp do obiektów korzystających z modułów i ActiveX przy użyciu tego języka; języka VBScript można z kolei użyć wyłącznie do komunikacji z obiektami ActiveX, lecz już nie do komunikacji z obiektami korzystających z modułów. Internet Explorer dla systemu Macintosh także nie obsługuje ActiveX, a wszystko to razem znacznie ogranicza zakres Twojej kontroli nad obsługą zawartości multimedialnej w różnych przeglądarkach i na różnych platformach.
Jako twórcy stron WWW codziennie musimy stąpać po tym polu minowym. Przy tworzeniu stron trzeba zawsze zadbać, aby strony były dostępne jak najszerszej szerzy odbiorców. Staraj się więc oszczędnie korzystać z zawartości multimedialnej i starannie testować swoje strony w wielu przeglądarkach i na różnych platformach. Pomyśl także o tym, aby zaprojektować strony tak, że nawet w przypadku braku obsługi multimediów, zachowana zostanie ich funkcjonalność.
Shockwave
Shockwave jest modułem dodatkowym i pokrewnym formatem plików, który umożliwia wyświetlenie w przeglądarce pliku utworzonego w programie Macromedia Director. Przez długie lata Director stanowił standard przemysłowy oprogramowania do produkcji profesjonalnych prezentacji na płytach CD-ROM. Director umożliwia łączenie grafiki, animacji, tekstów, dźwięku oraz obrazów wideo w spójną całość. Jego wewnętrzny język skryptowy, Lingo, pozwala na uzyskiwanie bardzo rozbudowanej interaktywności. Stosując oprogramowanie Director Multiuser Server sekwencje wideo Directora można wykorzystać przy tworzeniu gier sieciowych, pogawędek sieciowych i innych aplikacji sieciowych. Przeznaczone dla programu Director rozszerzenia (tworzone przez Integration Media) umożliwiają połączenie sekwencji wideo tego programu z bazami danych i plikami PDF (V12 i PDF Xtras).
Przy tworzeniu prezentacji umieszczanych na płytach CD, sekwencje wideo Directora zapisuje się jako samodzielne aplikacje. Natomiast prezentacje sieciowe zawierają sekwencje wideo zapisane w specjalnym formacie o rozszerzeniu nazwy .dcr i typie MIME application/x-director. Aby zobaczyć tego typu zawartość w oknie przeglądarki, użytkownicy muszą mieć moduł dodatkowy Shockwave, który jest dostępny pod adresem www.macromedia.com.
Technologia bazująca na chmurkach
Director, a tym samym i Shockwave, korzysta z technologii chmur (ang. Sprite Technology), co oznacza, że poszczególne elementy prezentacji, takie jak obrazy, dźwięki i tekst muszą być ładowane do pamięci tylko raz, po czym, w trakcie odtwarzania sekwencji wideo, mogą być wielokrotnie wykorzystywane. Skrypty opisujące ich zachowanie pozwalają osiągnąć wysoką efektywność animacji. Technologia ta efektywnie wykorzystuje zasoby pamięci i pozwala tworzyć względnie niewielkie pliki, które nie obciążają bardzo sieci.
Przesył strumieniowy
Shockwave to także technologia pozwalająca na strumieniowy przesył danych, co w praktyce oznacza, że sekwencja wideo jest odtwarzana już w trakcie ściągania. Dzięki temu nawet długie i skomplikowane prezentacje mogą być przesyłane przez sieć, bez ryzyka długiego oczekiwania na ich odtworzenie. Podobnie jak w przypadku programu Flash, w programie Shockwave strumieniowy przesył informacji jest realizowany po stronie klienta, co oznacza, że nie jest wymagana specjalna konfiguracja serwera.
QuickTime
Nie daj się okpić. To, że QuickTime jest produktem Apple, nie oznacza wcale, że jest on przeznaczony tylko dla komputerów Macintosh. QuickTime to zgodne z wieloma platformami rozszerzenie systemowe i moduł dodatkowy rozbudowujący możliwości przeglądarki, a umożliwia on synchronizację mediów i realizację interaktywności podobnej do serwowanej przez aplikacje Shockwave i Flash. Sekwencje wideo QuickTime tworzone są przez zsynchronizowane ścieżki ? ścieżki zawierające obraz wideo, dźwięk, duszki (dla interaktywnych i animowanych elementów), dane 3D (na potrzeby modelowania trójwymiarowego), dane VR (umożliwiające realizację wirtualnej rzeczywistości), tekst, a nawet animacje Flash (w swojej pełnej postaci).
Pliki multimedialne RealSystems
RealNetworks od dawna jest podstawowym dostawcą oprogramowania do obsługi mediów strumieniowych w sieci. Składowe systemu RealSystem ? RealAudio, RealVideo, RealPix, RealText i RealFlash ? umożliwiają autorom umieszczanie na stronach WWW przesyłanych strumieniowo multimedialnych treści różnego typu. Poszczególne elementy standardu RealMedia można łączyć w multimedialne prezentacje korzystając z wywodzącego się z XML języka SMIL (Synchronized Multimedia Integration Language). Aby umożliwić strumieniowy przesył danych, strony WWW zawierające treści RealMedia muszą być umieszczone na serwerze wyposażonym w oprogramowanie RealServer. Przeglądarki przy obsłudze mediów różnego typu korzystają z aplikacji RealPlayer oraz modułu Real G2 i kontrolki ActiveX.
Technologie RealSystem są zgodne z wieloma platformami i typami przeglądarek. Chociaż klipy RealMedia zazwyczaj odtwarzane są w odrębnym oknie programu RealPlayer, to możliwe jest także osadzenie ich na stronie WWW. Moduł RealG2 i kontrolka ActiveX RealG2 są dostępne dla obu typów przeglądarek.
Rozbudowywanie możliwości przeglądarki za pomocą Javy
Jeśli męczy Cię ta żonglerka modułami dodatkowymi, możesz sięgnąć po całkowicie inne rozwiązanie, także służące rozszerzeniu możliwości przeglądarki ? a jest nim Java. Animacje Javy nie są tak płynne jak animacje Shockwave lub Flash. Java nie obsługuje także strumieniowego przesyłu danych, ani po stronie klienta, ani po stronie serwera. Nie jest też tak prosta jak technologia modułów dodatkowych, o której wcześniej czytałeś. To, co stanowi, że Java bywa czasami lepszym rozwiązaniem niż Shockwave, QuickTime, czy cokolwiek innego, to fakt, że nie wymaga ona, by przeglądarka użytkownika była wyposażona w różnorodne moduły dodatkowe i kontrolki ActiveX.
Co to jest Java?
Java to wprowadzony w 1995 roku przez Sun Microsystems, obiektowy język programowania niezależny od platformy sprzętowej i systemowej (mimo podobieństwa nazwy, Java nie ma nic wspólnego z językiem JavaScript).
Java umożliwia tworzenie w pełni funkcjonalnych i samodzielnych aplikacji oraz mini-aplikacji, zwanych apletami, uruchamianych przez wbudowaną w przeglądarkę WWW wirtualną maszynę Javy. Ponieważ Java to pełny język programowania, o konstrukcji zbliżonej do konstrukcji języka C++, jego aplety mogą mieć bardzo rozbudowane możliwości. Stosowane są one powszechnie, począwszy od gier sieciowych, po animacje i efekty specjalne, liczniki odwiedzin, zegary, kalkulatory i narzędzia nawigacji.
Jak działa Java
Aby zrozumieć, co czyni Javę językiem sieci, najpierw musisz poznać różnice między nią, a innymi językami programowania.
Komputery nie ?rozumieją? ani C++, ani Javy, ani innych języków programowania, a przynajmniej nie bezpośrednio. Językiem rozumianym przez komputery jest ?język liczb? zwany kodem maszynowym. Program napisany w dowolnym języku programowania musi najpierw zostać skompilowany lub inaczej mówiąc ?przetłumaczony? na język maszynowy. Postać języka maszynowego jest specyficzna dla danej platformy ? z tej właśnie przyczyny Twoja kopia programu Dreamweaver będzie działać tylko na komputerach typu PC lub tylko na komputerach Mac. Programy muszą być kompilowane dla danego typu komputera i będą wówczas działały tylko na tym typie komputerów.
Java jest inna. Java jest kompilowana tak, by działała na fikcyjnym komputerze zwanym wirtualną maszyną. Wirtualna maszyna to w rzeczywistości program, skompilowany dla konkretnej platformy. Na komputerach działających pod kontrolą systemu Windows wirtualna maszyna to Microsoft VM, na komputerach Macintosh ? jest to Mac OS Run-Time for Java (MRJ). Gdy
aplikacja lub aplet Javy są uruchamiane na wirtualnej maszynie, dokonuje ona przetłumaczenia kodu na typowy dla danej platformy kod maszynowy. Tak więc sam aplet jest niezależny od platformy.
Uwagi na temat Javy
Mam dla Ciebie jeszcze jedną dobrą wiadomość. Javę cechuje nie tylko przenośność między platformami, lecz także niezależność od typu przeglądarki. Przeglądarka, natrafiając na umieszczony na stronie WWW aplet Javy, uruchamia wirtualną maszynę i usuwa się jej z drogi. Nie musisz martwić się o brak modułów. Do uruchomienia apletu potrzebna Ci tylko wirtualna maszyna (która jest zainstalowana na większości komputerów) i przeglądarka z uaktywnioną obsługą Javy (tę możliwość mają niemal wszystkie przeglądarki).
Oprócz dobrej wieści, mam też złą ? nic nie jest doskonałe. Niektóre wirtualne maszyny są wolniejsze niż inne, a ponadto mają błędy. Uruchomienie wirtualnej maszyny zabiera trochę czasu, co sprawiać wrażenie wydłużonego czasu ładowania strony ? a to z reguły irytuje użytkownika. Ponadto, ponieważ wirtualna maszyna jest wbudowana w przeglądarkę, zawierające błędy aplety, mogą doprowadzić do zawieszenia się przeglądarki.
Z Javą wiążą się także kwestie bezpieczeństwa. Tak zwane ?wrogie? aplety projektowane są tak, aby zachowywały się jak wirusy. Inne mogą spowodować przypadkowe uszkodzenie systemu. Wirtualne maszyny starają się chronić system przed niebezpieczeństwami tego typu, lecz same nie mogą być w pełni odporne. W efekcie w wielu instytucjach, w których obraca się cennymi informacjami, instalowane są firewalle nie dopuszczające Javy. Także użytkownicy mogą wyłączyć obsługę Javy na swoich komputerach.
Java i media
Aplety Javy mogą zwierać obrazy i dźwięk. Obrazy muszą być w formatach GIF lub JPEG. Jeśli aplet korzysta z dźwięku, nie ma znaczenia jaki moduł dodatkowy przeglądarka zazwyczaj stosuje do obsługi plików dźwiękowych, ponieważ to nie przeglądarka będzie plik tym razem obsługiwać, lecz wirtualna maszyna. Pliki dźwiękowe w apletach Javy są w formacie AU (o rozszerzeniu nazwy .au). Java nie potrafi obsługiwać sekwencji wideo, choć potrafi tworzyć animacje lub ?fałszywe sekwencje wideo? z szeregu nieruchomych obrazów. Animacje Javy nie są tak płynne i szybkie jak animacje Shockwave, Flash i QuickTime.
Dźwięk na stronach WWW
Obecnie jednym z popularniejszych zastosowań mediów na stronach WWW jest dźwięk. Efekty dźwiękowe, tła dźwiękowe, muzyka demonstracyjna ? co tylko wymienisz, twórcy stron to robią. Wszystkie opcje, o których będziemy mówili w tej części rozdziału dotyczą w jakimś stopniu dźwięku. Lecz jaki jest najlepszy sposób na umieszczanie go na stronie WWW? I co powinniśmy wiedzieć o dźwięku, aby uzyskać najlepsze z możliwych efekty?
Dźwięk próbkowany a syntezowany
Istnieją dwa podstawowe rodzaje dźwięku cyfrowego: próbkowany i syntezowany. Dźwięk próbkowany powstaje w realnym (nie-cyfrowym) świecie ? są to głosy, koncerty, nagrania studyjne i pospolite dźwięki słyszane w domu, przekształcone w efekty dźwiękowe ? a następnie jest przetwarzany do postaci cyfrowej, co przypomina skanowanie fotografii. I tak jak przy skanowaniu fotografii, w procesie cyfrowego próbkowania dźwięku można zgromadzić więcej lub mniej danych. Im więcej danych, tym lepsza jakość dźwięku, lecz większy rozmiar pliku. Pliki zawierające próbkowany dźwięk są zazwyczaj duże, zbyt duże dla standardowych modemów. W efekcie, na większości stron WWW stosowane są krótkie dźwięki o niskiej jakości lub wyłącznie pętle dźwiękowe (krótkie motywy muzyczne odtwarzane w kółko).
Dźwięk syntezowany tworzony jest na komputerze i odtwarzany przy pomocy syntetyzowanych instrumentów muzycznych. Plik zawierający dźwięk syntezowany nie zawiera dźwięku próbkowanego, lecz przechowuje zapis nutowy wraz z dodatkowymi informacjami na temat instrumentów, które pozwalają odtworzyć go komputerze. Pliki tego typu są niewielkie, szczególnie w porównaniu z plikami dźwięku próbkowanego. Muzyka trwająca 5 minut zajmuje w pliku mniej niż 20K. Ten sam fragment zakodowany jako dźwięk próbkowany zająłby kilka megabajtów. Jedyną wadą dźwięku syntetyzowanego jest to, że nie brzmi on naturalnie. Gdybyś chciał posłuchać piosenki Beatlesów ?Yesterday?, dźwięk musiałby być próbkowany. Jeśli Twojemu uchu nie przeszkadza brzmienie syntetyzowanych instrumentów, możesz korzystać z dźwięku syntezowanego i w takiej postaci wysłuchać ?Yesterday?.
Najpopularniejsze formaty plików dźwiękowych w Internecie to WAV, AIF, AU i MP3.
- Format WAV to format własny systemu Windows. Pliki w tym formacie są chyba na stronach WWW najpopularniejsze. Moduły dodatkowe przeglądarek nie mają zazwyczaj problemów z ich obsługą.
- Pliki AIF są w formacie własnym systemy Macintosh. Są rzadsze niż pliki WAV, lecz równie dobrze obsługiwane w przeglądarkach.
- Format AU jest formatem systemu UNIX. Pliki AU nie kompresują się najlepiej i są w sieci coraz rzadsze. Jest to jedyny format plików dźwiękowych stosowany w apletach Javy.
- Pliki MP3 są dobrze znane dzięki wysokiej jakości dźwięku i zadziwiająco niewielkim rozmiarom. Aby odtworzyć plik MP3 musisz mieć odtwarzacz MP3. Wiele przeglądarek nie jest skonfigurowanych pod kątem obsługi tych plików, dlatego rzadko osadza się je na stronach WWW. Znacznie częściej pliki MP3 sąściągane, a następnie odtwarzane offline.
Standardowy format plików zawierających dźwięk syntezowany to MIDI. Pliki MIDI są dobrze obsługiwane przez moduły dodatkowe przeglądarek, a na stronach WWW pojawiają się najczęściej jako muzyczne tło.
Problem modułów dodatkowych
Na wstępie tego rozdziału dowiedzieliśmy się, w jaki sposób przeglądarki korzystają z typów MIME i rozszerzeń nazw plików, aby określić rodzaj modułu dodatkowego, który powinien zostać
użyty do obsługi danego obiektu. Dotychczas zajmowaliśmy się w tym rozdziale obiektami multimedialnymi, których obsługa wymaga tylko jednego modułu dodatkowego ? na przykład jest tylko jeden moduł Shockwave i wszystkie pliki .dcr będą obsługiwane przez ten moduł lub nie będą wcale.
W przypadku dźwięku sprawy się nieco komplikują. Istnieje wiele modułów dodatkowych i aplikacji pomocniczych, które są w stanie obsłużyć każdy z wymienionych formatów plików dźwiękowych, o których przed chwilą wspominaliśmy. Moduł LiveAudio firmy Netscape, Media Player systemu Windows, WinAmp, odtwarzacze QuickTime i RealPlayer ? wszystkie mogą odtworzyć plik dźwiękowy. To, do którego z nich odwoła się przeglądarka, zależy tylko od jej ustawień. Jak wiesz, nie ma standardowej konfiguracji przeglądarki.
Czy ma znaczenie, który z modułów obsługuje plik dźwiękowy, jeśli robi to dobrze? Poszczególne moduły dodatkowe przyjmują różne parametry i oferują różne możliwości kontroli, jednak dopóki nie wiesz, który z modułów zostanie użyty, nie możesz wykorzystać jego opcji. Każdy z modułów ma ponadto własny panel kontrolny, który pozwala użytkownikowi włączyć odtwarzanie, zatrzymać je, przewinąć sekwencję muzyczną, itd. Niektóre panele sterujące są duże, niektóre małe, a jeszcze inne mają postać samodzielnych, pływających okien. Jeśli projektujesz stronę WWW zawierającą taki panel sterujący, czyż nie byłoby dobrze wiedzieć, ile miejsca trzeba dla niego zostawić?