Cicha rewolucja ? (2000)


Poniższy tekst jest rozwinięciem artykułu opublikowanego na łamach Chipa nr 3/2000

Autorzy mniejszych aplikacji pod Windows mogą mieć problem, gdy mają przygotować plik HLP z pomocą do nich. I nic dziwnego: kompilator Microsoft Help Workshop często nie radzi sobie z plikami RTF (w takim formacie jest zapisywany kod źródłowy "helpów") tworzonymi przez popularne aplikacje (z Wordem i WordPadem na czele), ręczna ich edycja jest żmudnym i niewdzięcznym zajęciem, a komercyjne edytory kosztują...

Często dokumentacja jest więc zapisywana w innej formie - np. jako popularne PDFy albo dokumenty Worda.

Od dawna próbowano także wykorzystywać w tym celu HTML - niestety tutaj pojawiały się problemy z przeszukiwaniem (stąd też w wielu pakietach umieszczano oddzielne programy służące tylko do tego celu albo budowano pomoc z możliwością znajdowania tylko niektórych słów kluczowych - to ostatnie rozwiązanie zastosowano np. w przeglądarce Netscape Communicator 4.x). Używano także (np. w Windows CE) aplikacji używających plików o podobnej do HTML budowie (jednak znacznie uproszczonych)...

Na początek

Szansa na standard ?


I w tym momencie pojawiła się technika HTML Help zaproponowana przez Microsoft. Poczyniono w niej kilka założeń: tematy pomocy są zapisywane w "normalnym" HTML, spisy treści w plikach o opracowanych do tego celu formatach (dzięki temu łatwiejsze jest np. ich przeszukiwanie), natomiast użytkownik otrzymuje całość w postaci jednego skompresowanego zbioru (będącego faktycznie archiwum takim jak np. ZIP czy ARJ).

Do odczytu takich archiwów (w formacie CHM) stworzono aplikację (hh.exe) - dekompresuje ona z nich potrzebne pliki ze spisami treści i tematami pomocy i wyświetla je obok siebie w jednym oknie, zawiera wbudowane mechanizmy do ich przeszukiwania, możliwość wstawiania zakładek do najczęściej odwiedzanych tematów czy też zmiany wyglądu okna stosownie do potrzeb użytkownika.

Aplikacja ta może używać do wyświetlania tematów obiekt Internet Explorera 3.02 lub nowszego (ponieważ Netscape Communicator nie pozwala udostępnić swojego "silnika" innym aplikacjom, wykorzystanie jego w tej roli jest niemożliwe - być może zmieni się to wraz z wersją 5.0) i jest dołączana do tej przeglądarki począwszy od wersji 4.0 (tam też znalazły się pierwsze pliki pomocy wykonane w tej technice).

Ale na tym się nie skończyło: gigant z Redmond udostępnił w Internecie bezpłatny program HTML Help Workshop do ich tworzenia (z odpowiednią dokumentacją). Jest on dołączany obecnie do praktycznie każdego większego pakietu tej firmy (np. Visual Studio czy Office) i pozwala m.in. przygotowywać spisy treści (ma do tego w miarę wygodny interfejs graficzny), tworzyć archiwa CHM z poszczególnych plików czy też konwertować pliki źródłowe "normalnej" pomocy do nowego formatu...

Na początek

O dużych możliwościach


Pomysł okazał się strzałem w dziesiątkę: nie tylko coraz więcej programów działających w Windows stosuje nowy format pomocy, ale także coraz częściej jest w nim zapisywana wszelkiego rodzaju dokumentacja, podręczniki, itp.

Jaka jest tego przyczyna ? Pliki HTML są bardzo łatwe do stworzenia (istnieje szereg edytorów znakomicie ułatwiających tę czynność) i mają coraz większe możliwości prezentacji danych (warto zauważyć, iż używana do ich wyświetlania przeglądarka Internet Explorer zawiera najpełniejszą obsługę wielu standardów i przez to pozwala uzyskać o wiele więcej efektów niż konkurencja).

Równocześnie w pliku z "właściwą" pomocą można umieszczać dodatkowe materiały (zapisane w dowolnym formacie), a HTML Help Workshop jest łatwy w użyciu. I co najciekawsze, potrafi nawet z gotowych plików CHM rozpakowywać wszystko, co się w nich znajduje (czasami lepiej do tego użyć starszej wersji programu - nie ma ona problemu z pewnymi konkretnymi archiwami)...

Jakby było jeszcze mało: w kod stron z tematami pomocy można wstawiać odwołania do przygotowanej przez Microsoft kontrolki ActiveX, która potrafi np. wyświetlać przyciski wyglądające i działające identycznie jak ich odpowiedniki w "klasycznych" plikach pomocy (odsyłające np. do grupy podobnych tematów).

Z HTML Help Workshop rozprowadzana jest nawet dodatkowa kontrolka ActiveX (dla użytkowników innych przeglądarek przewidziano działający podobnie aplet Javy), która potrafi wyświetlać przygotowane na potrzeby pliku pomocy spisy treści. Dzięki temu czynnością wręcz banalną jest opublikowanie np. dokumentacji do programu jako "zwykłych" stron WWW (to dla osób, które chcą zapoznać się z jego możliwościami) oraz skompilowanie jej jako pliku pomocy i rozprowadzanie z programem (bez żadnych zmian, o ile jej twórcy przestrzegali pewnych zasad).

Na początek

I pewnych wadach


Czy ta technika ma wobec tego jakieś wady ? Złamana została podstawowa zaleta formatu HTML (na którą być może nie zwraca się teraz bardzo uwagi, ale zawsze...) - pełna przenośność kodu (dajmy na to, iż hipotetyczny Kowalski będzie chciał rozpakować otrzymany od kolegi podręcznik w formacie CHM i przejrzeć utworzone pliki Netscape Navigatorem - jeżeli autor owej publikacji (nad)używał ActiveX, działanie jest to skazane na niepowodzenie).

Jak można się również domyśleć, do wyświetlenia pliku CHM potrzebny będzie Internet Explorer (nie jest on dołączony do starszych wersji Windows 95, a czasami wręcz świadomie usuwa się go z razem z Aktywnym Pulpitem przy instalowaniu okienek na starszym sprzęcie), a użytkownicy nie mają żadnej alternatywy (przynajmniej na razie).

Co więcej - ustawienia w nim będą obowiązywać również przy wyświetlaniu pomocy (jeżeli np. w jego oknie wybierzemy dużą czcionkę, taka będzie używana standardowo w plikach pomocy; jeżeli ją tam będziemy chcieli zmienić, konieczne będzie uruchomienie przeglądarki). Czy taka integracja może być problemem ? Niestety tak - przeciętny użytkownik jest coraz bardziej uzależniony od poprawnego działania jednego programu (Explorera) i zmuszony do instalowania poprawek usuwających błędy w jego zabezpieczeniach (inaczej grozi mu atak wirusów nie tylko "z zewnątrz", ale także ze strony "zwykłej" pomocy).

Nie zawsze też wszystkie możliwości dostępne są przy wyświetlaniu kontrolki ActiveX/apletu Javy na stronie WWW (szczegóły są opisane w pomocy HTML Help Workshop).

Czasami pojawiają się także różne problemy techniczne (gdy trzeba wyświetlać pomoc z programów pisanych w Delphi, Visual Basicu albo używać apletu Javy w starszych przeglądarkach) - komponenty techniki HTML Help są jeszcze ciągle dopracowywane.

Na początek

Czy warto ?


Na pewno warto korzystać z tej techniki, gdy jest to możliwe - pozwala ona uzyskać ciekawe efekty, a większość jej komponentów jest wbudowana fabrycznie w Windows 98 i będzie się też znajdować w przyszłych wersjach okienek.

Nie należy jednak podchodzić do niej bezkrytycznie i zapominać o użytkownikach, którzy nie mogą/nie chcą instalować przeglądarki Microsoftu (w miarę możliwości przygotowywać dla nich "tradycyjne" pliki HLP). Przy tworzeniu np. podręcznika w formie elektronicznej (a nie pomocy do programu działającego w systemie Windows) postarajmy się także, aby po jej rozpakowaniu (do "zwykłych" plików HTML) można było go odczytać nie tylko Internet Explorerem... Wszak na nim świat się nie kończy...

Na początek

Porównanie


 
WinHelp (HLP)
HTML Help (CHM)
Okno przeglądarki Tematy i zakładki są wyświetlane w oddzielnych oknach. Tematy i zakładki są obok siebie (te drugie mogą być schowane) w jednym oknie
Zakładka "Spis treści"
  1. brak podziału na kategorie (zawsze są wyświetlane wszystkie zdefiniowane tematy)
  2. brak śledzenia wyświetlanych tematów
  3. jedynie pozycja w spisie treści może być odnośnikiem
  4. do wyświetlania spisu treści używane są standardowe ikony
  5. do każdego tematu jest przypisany jeden adres
  1. każdy temat można przypisać do różnych kategorii (i wybierać, która mają być wyświetlane w danym momencie)
  2. możliwe jest śledzenie wyświetlanego tematu (w spisie treści jest podświetlany zawsze aktualny temat)
  3. rozdział i pozycja mogą być odnośnikiem do tematu
  4. do każdego rozdziału i pozycji można przypisać własną (zdefiniowaną) ikonę
  5. każdy temat może mieć przypisanych kilka adresów (przy próbie jego wyświetlenia program wczyta pierwszy z nich, który będzie dostępny)
Zakładka "Indeks" Możliwość wstawiania:
  1. grup pozycji
  2. pozycji wskazujących na kilka tematów
Możliwość wstawiania:
  1. grup pozycji
  2. pozycji wskazujących na kilka tematów
  3. pozycji będących odnośnikami do innych pozycji w indeksie
Zakładka "Znajdź" Wyszukiwanie z namiastką warunków logicznych Wyszukiwanie z warunkami logicznymi (o ile taka opcja została zaznaczona przy kompilacji pliku)
Tematy    
Przyciski na górze okna Możliwość wstawiania/usuwania predefiniowanych przycisków, zmiany ich znaczenia i definiowania własnych (np. wywołujących makra) Możliwość wstawiania/usuwania predefiniowanych przycisków i dwóch przycisków z adresami (do stron WWW albo tematów)
Podział okna Możliwość podziału okna na dwie części (jedną stale widoczną i drugą przewijalną) Możliwość dowolnego podziału okna (dzięki ramkom)
Formatowanie tekstu Podzbiór możliwości formatu rtf (m.in. zmiana wielkości, rodzaju, koloru czcionki, proste tabele), statytyczny charakter tematów (brak interakcji) Możliwości znane ze stron WWW - obsługa styli i DHTML (przy używaniu co najmniej Explorera w wersji 4.0), tabel, itp., interakcja z użytkownikiem (języki skryptowe)
Odnośniki Rozróżnianie różnych ich rodzajów (tematy wyświetlane w różnych rodzajach okien mogą być inaczej podświetlane), "zewnętrzne" dokumenty (nie znajdujące się w pliku HLP) są pokazywane w oddzielnych oknach Możliwość zmiany wyglądu odnośników przy użyciu styli i DHTML, "zewnętrzne" dokumenty są wyświetlane w tym samym oknie
Makropolecenia Dostępne Brak (większość z nich można zasymulować używając języków skryptowych)
Dźwięk Brak Możliwości takie jak na stronach WWW
Animacje i rysunki Formaty bmp i dib (można wstawiać pliki o różnych ilościach kolorów i rozdzielczościach - WinHelp wybierze najlepiej wyglądający przy danym trybie graficznym; obsługa przeźroczystości), wmf, shg (mapy z klikalnymi obszarami), animacje AVI Formaty takie jak na stronach WWW (również mapy z klikalnymi obszarami, przeźroczyste rysunki, animacje)
Możliwość wyświetlania następnych okien Tak Tak
Możliwość wyświetlania okienek popup Tak - mogą się w nich znajdować całe tematy (zbyt długie są obcinane) Tak - moga się w nich znajdować tylko proste teksty (bez rysunków, itp.)
Możliwość wyświetlania tematów z plików "konkurencyjnego" formatu Tak Tak
Zakładki Dostępne w obrębie aktualnie wyświetlanego pliku HLP (jeżeli Spis treści albo Indeks dostępny po wywołaniu danego pliku HLP odwołuje się do innych plików HLP, użytkownik musi wybrać ten konkretny, aby zobaczyć dostępne w nim zakładki - nie są dostępne w obrębie pliku wywołującego) Dostępne w obrębie wywołanego pliku CHM (zakładka do danego tematu będzie widoczna zawsze po wywołaniu danego pliku CHM - nawet, gdy temat jest fizycznie umieszczony w innym pliku)
Szybkość wyświetlania Bezapelacyjnie większa niż w formacie CHM (szczególnie na wolniejszych komputerach) Taka jak przy wyświetlaniu stron WWW w Internet Explorerze
Wirusy Możliwość wstawiania makr o działaniu destrukcyjnym działających już w momencie otwarcia pliku pomocy Zagrożenia takie jak przy wyświetlaniu stron WWW (możliwość wykorzystywania błędów w kompilatorze Javy, obsłudze języków skryptowych, ActiveX, itd.)
Inne    
Możliwość konwersji pomocy do pliku "konkurencyjnego" formatu Tak (umożliwia to m.in. HTML Help Workshop) Częściowa (można wybrać docelowy format przy zapisie projektu w programie Help & Manual 2)

Na początek

Internet


  1. http://msdn.microsoft.com/workshop/author/htmlhelp/ - HTML Help Workshop (freeware)
  2. http://www.easyhtmlhelp.com/ - edytor do Worda (shareware 15-dni)
  3. http://www.helpware.net/ - FAR (shareware) i moduły do Delphi (freeware)
  4. http://www.keyworks.net - narzędzia uzupełniające (freeware)
  5. http://htmlhelpcenter.hypermart.net/ - moduły do VB (freeware)
  6. http://www.ec-software.com/order.htm - Help & Manual 2 (Chip CD 10/99, shareware 15 dni)
  7. http://www.helpmaster.com/htmlhelp/htmlhelp.htm - inne odnośniki

Na początek

Pliki lokalne


  1. kompendium wiedzy o technice HTML Help i plikach CHM zawierające m.in. rozszerzoną wersję artykułów z Chipa z 2000 i artykułów z tej strony www (2001, ZIP)
  2. FAQ - pliki CHM (2001)
  3. HTML na ratunek cz.2 (2001)
  4. The HTML Reference Library 4.0 (Stephen Le Hunte) (2001, po angielsku, CHM)
  5. The Hardware Book (2001, po angielsku, CHM)
  6. Na ratunek ! (2000)
  7. Utwory Jana Kochanowskiego (2000, CHM)
  8. Utwory Marii Konopnickiej (2000, CHM)
  9. Utwory Adama Mickiewicza (2000, CHM)
  10. Utwory Bolesława Prusa (2000, CHM)
  11. Utwory Henryka Sienkiewicza (2000, CHM)
  12. Utwory Stefana Żeromskiego (2000, CHM)

Na początek