Dlaczego Adobe ssie…

4 Comments

Do mojego standardowego zestawu powiedzeń w stylu “Dzień, w którym <tu_wstawic_nazwe_firmy> stworzy coś, co nie ssie, będzie dniem, w którym <tu_wstawic_nazwe_firmy> zacznie produkować odkurzacze” dołączyło ostatnio Adobe. Powodów jest kilka, niekoniecznie trywialnych…

Niedawno zająłem się oprogramowaniem modeli 3D i animacji w Adobe Acrobat 3D. Jest to droga przez mękę. Adobe wydało ogromny twór, zaawansowane oprogramowanie, oferujące mnogość funkcji. I właśnie w Acrobacie 3D, gdzie JavaScript naprawdę się przydaje, pokpili sprawę równo.

Gdzie tu pisać?

Pomijam sprawę pseudo-debuggera, który potrafi czasem rzucić krótkim komunikatem w stylu “Masz gdzieś błąd, znajdź sobie”. Skupmy się na pseudo-środowisku programistycznym :) Wiem, że Acrobat nie jest przeznaczony do programowania, ale… no ludzie…

Po pierwsze, żeby przetestować skrypt, załóżmy przypisany do przycisku, należy:

1. Kliknąć dwukrotnie dany przycisk (zakładam, że go utworzyliśmy i już przypisaliśmy mu jakiś skrypt, co jest działaniem o porównywalnej złożoności).
2. Kliknąć zakładkę Actions.
3. Kliknąć nazwę przypisany skrypt (może ich być kilka i cholera wie, w jakiej kolejności się wykonują).
4. Kliknąć Edit (no bo obsługa dwukliku jest za trudna przecież).
5. Wyedytować skrypt.
6. Kliknąć OK (broń Boże nie Cancel, bo nawet się nie spyta, czy chcemy zapisać zmiany w skrypcie).
7. Kliknąć drugi raz OK.

…i JUŻ można testować. A wszyscy wiemy, jak wygląda zazwyczaj programowanie: kawałek kodu, sprawdzenie, edycja, sprawdzenie… za każdym razem te same kroki.

Po pół godzinie szlag człowieka trafia.

Po dwóch godzinach zacząłem robić listę wszystkich oddziałów Adobe na świecie, równocześnie wyszukując w Sieci przepisów na bombę domowej roboty…

EDIT: powyższy akapit jest żartem i tak właśnie powinien być traktowany. Nie mam powiązań z terroryzmem w jakiejkolwiek postaci i potępiam go w stu procentach.
(powyższe zdanie napisałem po przeczytaniu historii o oskarżeniu o terroryzm emeryta, który stwierdził, ze ZUS trzeba wysadzić)

Może idzie się przyzwyczaić (mnie się nie udało), ale ma się wrażenie, że pracuje się na oprogramowaniu, które robili ludzie, którzy nienawidzą swojej pracy i chcą jak najszybciej iść do domu.

W czym tu pisać?

Edytor, w którym lądujemy w punkcie 5 powyższej listy jest… Ciężko mi go opisać. Powiem tylko, że windowsowy Notatnik ma więcej opcji, bo umożliwia włączenie/wyłączenie zawijania wierszy i przeskoki Ctrl+kursor są bardziej sensownie zorganizowane. Edycja kodu w Adobe’owym “edytorze” to udręka większa, niż podawanie kotu tabletki. Niepotrzebnie może, ale wspomnę, że nie ma co doszukiwać się tu kolorowania składni, automatycznych wcięć i innych przydatnych rzeczy. Jak wspominałem – Notatnik, tylko okrojony.

Co tu robić?

Czyli krótka historia o tym, jak wg. Adobe wygląda upgrade produktu. W firmie na początku mieliśmy Adobe Acrobat 3D Version 8. Posiadał on dosyć nawet przyjemne (!) narzędzie do tworzenia animacji na modelach 3D, o nazwie Adobe Acrobat 3D Version 8 Toolkit. Toolkit pozwalał na zrobienie dowolnej rzeczy z modelem i animacjami.
Wyszedł Acrobat 9, kupiliśmy upgrade do Adobe Acrobat 9 Pro Extended. Widać, że z każdą wersją Adobe zmienia nazwę na jeszcze bliższą sformułowania “Jesteśmy Bogami”. Upgrade automatycznie odinstalowało wersję 8, żeby postawić nas przed faktem dokonanym: nie ma Toolkitu w wersji 9. Jest Adobe 3D Reviewer. Narzędzie o interfejsie wyglądającym, jakby je tworzył znerwicowany pawian (domyślcie się sami), oferujące – owszem – edycję modelu 3D, ale animacji już w nim nie uświadczysz.

Pewne wyjaśnienie znalazłem na forum Acrobata (link do kopii z Google, bo dziwnym trafem ten temat chyba już nie istnieje). Jak się okazuje, Toolkit, pod którym Adobe się w wersji 8 tak chętnie podpisywało, nie jest ich produktem, a okrojoną wersją narzędzia Deep Exploration firmy Right Hemisphere. Tak więc, użytkowniku, instaluj nasze upgrade’y, wydając Twoje pieniądze, a my Ci jeszcze cos zabierzemy. Paranoja.
(na marginesie dodam, że w mojej firmie nazwa “Deep Exploration” kojarzy się dwuznacznie nie tylko mnie)

Jak tu pisać?

Ten punkt przeszedł moje wszelkie oczekiwania. Wiedziony przedziwną potrzebą posiadania jednak porządnego narzędzia do edycji modeli i animacji, odinstalowałem wersję 9 i zainstalowałem na powrót wersję 8. I co się okazało? Pliki otwierają się jak złoto, modele działają… Nie działają skrypty. Jak?! Co?!
Skrypt, przypisany do przycisku, działający w wersji 9, nie chce współpracować w wersji 8. Powód: nie “widzi” on zmiennych (obiektów) globalnych, utworzonych przy inicjalizacji obiektu 3D.

Tu akurat uważam, że w wersji 9 silnik JS poprawiono. I co z tego, skoro usunięto Toolkit.

Opierając się na czystym przeczuciu, zainstalowałem upgrade do wersj 9 Pro Extended, nie odinstalowując wersji 8. Oczywiście instalator stwierdził, że “Adobe doesn’t support…”, bla, bla, ja wiem swoje. Co uzyskałem:
– Adobe Acrobat 3D Version 8: działa
– Adobe Acrobat 9 Pro Extended: działa
– Adobe Acrobat 3D Version 8 Toolkit: nie działa. Ale żeby było śmieszniej, twierdzi, że Acrobat 8 nie jest aktywowany. Paranoja…

Smaczki i dodatki…

Na koniec mogę dodać jeszcze parę rzeczy… Na przykład jest w całym tym kramie taki fajny easter-egg, który sprawia, że materiały modeli wyglądają inaczej w Toolkicie, inaczej w Reviewerze i na koniec inaczej w Acrobacie/Readerze.

Po drugie, ciekawym faktem jest, iż jeśli mam uruchomionego Acrobata 9, nie mogę równocześnie uruchomić Readera 8.
A jeśli mam w 9-ce otwarty skrypt, to nie mogę odpalić dokumentacji API w PDFie w trybie do czytania, bo dokument uruchamia się też w Acrobacie, który jest zablokowany przez modalne okienko edycji skryptu.
Wygląda to tak, że muszę zamknąć okna edycji, ustawić sobie w PDFie z dokumentacją odpowiednią stronę, następnie w PDFie, który programuję, otworzyć na nowo okienka edycji i poprzesuwać je tak, abym widział PDFa z dokumentacją, bo nie mogę go scrollować. Paranoja?

To jeszcze nic. Jak odpalę Readera 8, nie mogę uruchomić Acrobata 9. Jeden wspólny silnik? Nie, ponieważ po instalacji Readera 9 już wszystko jest OK. Niby logiczne, ale dlaczego… Dlaczego?!

Przezroczystość materiałów ustawiona w Toolkicie nie odpowiada tej pobieranej przez JavaScript z właściwości modelu. Detal. To, że chciałbym np. pracować na modelach reflektorów to nie znaczy, że potrzebuję przezroczystości, prawda?

Po serii kombinacji instalacji i deinstalacji mam trzy spostrzeżenia:
– Acrobat to chyba jedyne oprogramowanie, które odinstalowuje się dłużej, niż się instaluje.
– wymaganie restartu po instalacji lub deinstalacji jest generowane losowo
– Acrobat może śmiało startować w wyborach na najdłużej uruchamiający się program instalacyjny

UPDATE: 17.04.2009
Chcesz mieć, posiadaczu Acrobata 9, pole tekstowe? Musisz dodać formularz. Przynajmniej mnie się nie udało inaczej. Potrzebuję pole tekstowe do wyświetlania aktualnego wariantu produktu. I co? Jeśli je dodam, każdy klient, który ściągnie ten PDF, zobaczy w swoim Readerze, czy nawet Acrobacie wielki, brzydki, różowy pasek z napisem “Proszę wypełnić następujący formularz, a następnie…”. No do jasnej cholery, jaki formularz?!
I mam wybór: albo zostawić nie w pełni funkcjonalny dokument (bez pola tekstowego), albo odbierać codziennie telefony w stylu “Panie, gdzie ja to mam wysłać”, “Panie, o co chodzi”.
Jeśli znajdę inny sposób, napiszę o tym.

Wielkość pliku?
“Użytkowniku, zrób se”. Zapisany w Acrobacie dokument ma u mnie np. 8MB. Wtedy wybieram z menu Document->Reduce file size. I zapisuję. I tyle? “To chciałeś mieć mniejszy plik? To trzeba było powiedzieć! OK, już zmniejszam!”.
Przypomina mi to sytuację, kiedy podpisywałem umowę z pewną siecią komórkową i przy okazji miałem dostać telefon za 100PLN. Pracownik salonu powiedział, że dostanę rabat 50PLN. Fajnie. Podpisujemy wszystko, miły pan mówi “Sto złotych poproszę”. Ja się dziwię: “A ten rabat 50PLN?”. Na co mój rozmówca z niewzruszoną miną: “Chce pan rabat? Oczywiście. W takim razie 50 złotych proszę”.

UPDATE: 24.04.2009
Ciekawym zachowaniem Acrobata jest brak możliwości usunięcia paska nawigacyjnego z wstawianego do dokumentu modelu 3D. Jakby w ogóle nie było mowy o takiej możliwości, uznałbym to za kolejny idiotyczny ficzer. Ale nie: otwiera człowiek właściwości modelu, odznacza Show Toolbar, zapisuje… po ponownym otwarciu pliku opcja jest znowu zaznaczona. Adobe daje użytkownikowi wędkę i wywozi go na pustynię. Wędka jest na wszelki wypadek bez haczyka, żeby się nie skaleczyć.

Mistrzostwo w kategorii największy ROTFL po przeczytaniu komunikatu o błędzie. Po podmianie modelu 3D na inny identycznie opisany, tylko lekko zmieniony, konieczny jest zapis, zamknięcie i ponowne otwarcie pliku, bo w przeciwnym wypadku każda próba manipulacji obiektami modelu zakończy się komunikatem pseudo-debuggera:
DeadObjectError: Object is dead.
I dostało się twórcy modelu – chciałem żywy model, ten zaraz zacznie śmierdzieć! Chociaż w sumie wtedy będzie pasował do oprogramowania, w którym został osadzony… Jedyne, co udało mi się wymyślić, aby uniknąć konieczności restartu Acrobata, to trzymanie martwego modelu w chłodni. Tylko trzeba go tam umieścić jak najszybciej, żeby się nie zepsuł, bo stąd do zawirusowania niedaleko.

Jak widać, poziom abstrakcji tego wpisu jest proporcjonalny do czasu, jaki spędzam pracując w Adobe Cokolwiek.

UPDATE: 06.05.2009
Po konsultacji w sprawie “zaginionego” Toolkit’u z pracownikiem firmy odpowiadającej za support Adobe w Polsce, zostałem poproszony o opisanie problemu dokładniej, mailem. Otrzymałem odpowiedź, w której czytam:

(…) wersja Acrobat 9 Ext ma wszystkie funkcjonalności znane w wersji 8-ej + dodatkowe benefity i funkcjonalności (i niczego nie usunęło). Toolkit jest również. (…) Adobe prosi o kontakt z dedykowanym supportem, który zbada tę sytuację (…)

Telefon do supportu zaowocował nową informacją: Toolkitu nie ma w wersji 9 Ext. O dziwo, nie było go też w wersji 8 (którą mamy). Był tylko w wersji 7 i pozostawał na komputerze po instalacji upgrade’u do wersji 8. Ciekawe, bo instalowałem pełnego Acrobata 3D 8, a nie upgrade.

Kolejny telefon do Adobe mnie uspokoił: Toolkit był w wersji 8. Uff… już myślałem, ze oprogramowanie przeniknęło na mój HDD z powietrza…

Skończę tak nagle, bo czuję, że jeszcze coś tu kiedyś dodam…

Categories: Acrobat, Inne, Przemyślenia, Software Tags: Tagi:,

4 thoughts on “Dlaczego Adobe ssie…”

  1. > Wygląda to tak, że muszę zamknąć okna
    > edycji, ustawić sobie w PDFie z dokumentacją
    > odpowiednią stronę, następnie w PDFie,[…]
    > Paranoja?

    A FoxitReader jest zły bo?

    1. @az:
      …bo nie po to wydaję (no, nie osobiście) ciężkie tysiące złotych na oprogramowanie, żebym musiał doinstalować 3rd party, tylko po to, aby mieć możliwość otwarcia dwóch w pełni funkcjonalnych instancji jednego programu…

      @m.:
      racja, zostało poprawione :)

  2. więc ja tylko chciałam powiedzieć że artykuł jest do dupy BO NIE MA ODNOŚNIKA DO RELACJI Z PODAWANIA KOTU TABSA
    …a poza tym bardzo fajnie napisane, te nudne kawałki o Adobe poprzeplatane kryształami czystego sarkazmu :)

  3. Oj WRonX! Ty to normalnie masz nas***e pod kopułą gorzej niż ja. A to już jest nie lada sztuka ;P

Leave a Reply

Your email address will not be published. Required fields are marked *