Vaši práci známe, o vás toho ale bohužel mnoho nevíme. Můžete se nám krátce představit?
Jsem z Brna, je mi přes čtyřicet, absolvoval jsem FE VUT Brno a profesně se zabývám servisem lékařských přístrojů.
Tomáš Bílek je autorem rozšíření AltSearch, TypoJTB, TestFonts a několika dalších doplňků, které si můžete stáhnout z jeho stránek.
Jak dlouho používáte OpenOffice.org a jaké důvody vás k tomu vedly či vedou? Co se vám na balíku líbí a nelíbí?
OpenOffice.org používám přibližně od roku 2004, kdy jsem potřeboval vytvářet menší černobílé tiskoviny a chtěl jsem, aby měly alespoň základní typografickou úroveň. Potřeboval jsem přiměřeně vybavený textový editor pro Windows s možnostmi tisku, exportu do PDF, a to vše pokud možno zadarmo. MS Word jsem kvůli tomu nechtěl kupovat.
Po několika pokusech jsem přišel na OpenOffice.org Writer, tehdy tuším ve verzi okolo 1.x, který mi základními možnostmi vyhovoval a sliboval i naději na budoucí vývoj. Další části balíku OpenOffice.org používám méně, Draw na fotoalba, v poslední době také Calc na různé výpočty do práce. Na OpenOffice.org se mi líbí poměr výkon/cena, navíc je mi sympatická myšlenka svobodného softwaru. Má to ale i stinné stránky, klony OpenOffice.org (teď zkouším Go-Oo) začínají být nekompatibilní - v Calcu mi např. na Go-Oo nefungují některé vzorce - ale má zase nějaké funkce navíc...
Co vás vedlo k tomu, že jste začal vytvářet rozšíření pro OpenOffice.org? Které bylo první a kdy?
K psaní maker a rozšíření mě vede v podstatě vždy absence nebo problematická použitelnost stávajících funkcí. Takže první pokusy začaly prakticky ihned, co jsem začal používat OpenOffice.org pro vytváření malého časopisu. Během několika měsíců vzniklo dosti živelně makro, později doplněk TypoJTB. Na každém z prvních čísel se vyskytl nějaký požadavek, který by se hodilo nějak zautomatizovat.
Co bývá prvotním impulsem pro vznik nového rozšíření?
Na začátku je vždy nějaká potřeba - něco upravit nebo zjistit, co nejde provést stávajícími funkcemi. V tomto okamžiku se snažím využít dostupných známých prostředků, zapátrám po existujících doplňcích, makrech, na fóru a v diskuzích. Dost často se to tím vyřeší, i když jinak než si člověk původně myslel. Pokud jde o činnost, která má nebo bude mít tendenci se opakovat často, tak jako poslední možnost začnu programovat.
Kde a jak jste se naučil programovat? Jaký software používáte pro vývoj?
Základy programování jsem pochytil už dříve, něco málo na škole, více později v Turbo Pascalu, ještě na Dosu, pod Windows pak v Delphi a Visual Basicu - jako amatér a samouk. Baví mě vytvářet věci, které něco dokáží udělat, které fungují a pokud možno jsou i k něčemu užitečné.
Rozšíření OpenOffice.org programuji v Star Basicu, protože je to pro mě nejjednodušší. Základem mi byla nápověda k OpenOffice.org, dokument AndrewMacro.odt, studium hotových rozšíření a nenahraditelnou pomůckou makro X-Ray tool, bez kterého bych s programováním brzy skončil. Jeho autorovi patří můj velký obdiv. Když je nejhůř, tak skončím na OooForum.org, kde se jednak dají najít použitelné kusy kódu, a pokud se mi dostatečně podaří popsat, o co mi jde, tak se často najdou i lidé, co dokáží poradit.
Jak probíhá vývoj rozšíření? Jak udržujete kód a jazykové varianty?
Při častější a „hlubší“ práci s OpenOffice.org myslím dost brzo vyplynou na povrch jeho chyby a nedokonalosti. Na něco se dá zvyknout, něco přizpůsobit, obejít, něco je nahlášená chyba, která (snad) bude opravena, a něco mi prostě dost vadí. Důležité je, aby byl nápad, jak by šel problém pomocí makra efektivně vyřešit. Chce to určitou zkušenost a představu, co funkce OpenOffice.org objektů dovedou. A dovedou toho mnoho - jenže je problém to najít a „zkrotit". Takže se pokusím základní funkci nanečisto zjednodušeně modelově vyřešit. Pokud to vypadá nadějně, tak se to zabalí do nějakého dialogu a upraví do formy rozšíření, otestuje a vypustí ven. Pokud se nedaří, nechám to odležet, časem se obvykle objeví nějaká inspirace.
V kódu se snažím dělat maximum komentářů, protože vím, že za půl roku, kdy se najde nějaká chybka nebo podnět pro vylepšení, nebudu schopen vypátrat, proč tam mám tak nesmyslně složité a nesystémové postupy. Přicházející změny se snažím průběžně zapracovat a vedu dokument se změnami a nevyřešenými problémy, případně úkoly k dodělání.
Úprava rozšíření AltSearch (Tomáš Bílek)
U rozšíření, která nejsou vázána přímo na češtinu (např. u AltSearch), jsem tak trochu počítal s využitím i jinde než u nás doma a kromě české jsem vytvořil zároveň i anglickou lokalizaci. Asi to vzbudilo zájem, protože poměrně brzo po zveřejnění na OOo Extensions mi přišly mailem nabídky na překlady do různých jazyků. V případě AltSearch to začíná být trochu problematické protože se lokalizace blíží ke 200 řetězcům, má celkem obsáhlý help a je nyní v osmi jazycích. Snažím se udržet aktuální českou a anglickou variantu, při významnější změně obešlu překladatele s prosbou o doplněk překladu, zbytek nechávám na jejich aktivitě.
Podle čeho určíte, co mají jednotlivá rozšíření umět?
Většinou jde o nějakou základní funkci, vlastnost - u AltSearch to bylo hledání a nahrazení přes konce odstavců a předefinované častěji užívané regulární výrazy. Na to se pak nabalí různá vylepšení a přídavky, podněty, které přijdou od uživatelů. Jde o kompromis, co by to mohlo dělat. Fantazie produkuje velkolepé představy – ale ne všechno jsem momentálně schopen naprogramovat tak, aby to byl přínos.
Omezuje vás něco ve vývoji? Třeba nedostatek dokumentace, chybějící vlastnosti, vysoký časový vklad apod.
Omezení jsou různá. Z mé strany je to čas a chuť, obojí se dost mění. Ze strany OpenOffice.org by efektivitu určitě zlepšila přívětivější dokumentace i prostředí Basicu. Hodily by se např. záložky, ale hlavně inspektor objektů a jejich automatické nabízení v průběhu psaní, známé z Visual Basicu nebo Delphi. Objektů je spousta a rychlá orientace v nich, jejich funkcích a parametrech mi připadá pro efektivitu zásadní. Nepříjemné jsou chyby (issue), které např. znefunkční dříve odladěná makra, a jejichž odstranění trvá dlouho. Chápu, že je to dáno rychlostí vývoje a omezenými prostředky, ale osobně bych uvítal, kdyby se vývoj nových funkcí OpenOffice.org na čas zastavil a opravila se podstatná část z tisíců známých chyb.
Jak probíhá testování? Kolik lidí vám pomáhá při vývoji a při testování?
Testuji sám, napřed na krátkém modelovém souboru, pak na nějakém složitém a dlouhém dokumentu, např. AndrewMacro.odt, pokud jde o Writer. Objeví se tím většinou dost problémů, chyb vlastních a bohužel někdy i systémových „issue“. Tím se původní jednoduchý a přehledný kód začne zamotávat. Po vydání veřejné verze se ozývají uživatelé, kteří narazí na nějaký problém, a to jsou podněty pro další úpravy.
Jaký operační systém používáte?
Momentálně Windows XP, občas otestuji rozšíření na Mandriva Linuxu. Párkrát jsem tak přišel třeba na rozdílné chování v Basicu mezi Linuxem a Windows verzemi, které se mi ani vždy nepodařilo uspokojivě vyřešit.
Co byste poradil těm, kdo by potřebovali nějaké rozšíření? Zvládnou ho vytvořit sami? Jak a kde začít?
Myslím, že jednoduché věci se dají vytvořit celkem snadno a zvládne to každý, kdo zná základy programování. U složitějších asi narazí na nedostatek podkladů v češtině a, alespoň pro mě, obtížnou orientaci v online dokumentaci. Možná tam je všechno, ale najít potřebné a porozumět tomu není snadné. Ideální pro mne jsou krátké příklady s komentářem, jako je v AndrewMacro.odt. Dobré jsou také myslím články o makrech od Júlia Pastierika, kterých napsal poměrně dost.
V každém případě je potřeba počítat s tím, že to nakonec zabere mnohem více času, než to ze začátku vypadá. Já osobně se do rozšíření pouštím jen v případě, že je pravděpodobné jeho časté použití širším okruhem lidí, kteří by se do maker normálně nepustili. Jinak si udělám jenom pomocné makro. Doporučuji, aby si každý dobře rozmyslel, jestli se do toho pustit, nebo najít nějakou schůdnější cestu.
Které rozšíření považujete za nejlepší a které se nejvíc používá?
Obecně těžko říct, rozšíření je spousta, každému se hodí něco jiného. Pokud jde o moje výtvory, tak u nás je asi nejpoužívanější TypoJTB (přes 5500 stažení přímo z mé stránky), v cizině AltSearch (přes 88 000 stažení).
Náš návod k používání TypoJTB: Pokročilé typografické úpravy s pomocou TypoJTB
Sledujete portál OpenOffice.cz?
Portál sleduji, občas mě některý článek nebo diskuse inspiruje a taky rozšiřuje obzory v částech OpenOffice.org, které moc často nepoužívám. Dobré jsou i popisy šikovných rozšíření, která se mohou občas hodit.
Přeji všem uživatelům OpenOffice.org, aby jim vše fungovalo podle jejich očekávání, a trpělivost, pokud nastanou problémy.