Živý rozhovor: s Janem Fialou o PSPadu

Na vaše otázky k programu PSPad odpovídal Jan Fiala, autor tohoto populárního freeware editoru. Přečtěte si, jak složitý je vývoj, co všechno obnáší a jaká je časová náročnost takové práce. A také se dozvíte nejen informace o samotném editoru PSPad a jeho budoucnosti, ale i o autorovi a jeho osobních plánech.
Kapitoly článku

Jsem profesí ekonom a proto se chci zeptat, jestli se dá na freeware nějak vydělat? A jak? Napadly mě dvě možnosti. Autor dobrého freeware se stane známým a mohou se na něj pak obracet firmy s nabídkami placených zakázek. Na stránky freeware programu mohou být umisťovány placené reklamy. (Rosák)

Jan Fiala: Máte pravdu, přímo na freeware se vydělat skutečně nedá.

1) Tato varianta připadá v úvahu, pro nezávislé vývojáře, popř. pro firmy, které by se vývojem na zakázku zabývají. Freeware může opravdu složit jako reklama, popř. nenásilná forma, kterou o sobě dáte vědět. V programu můžete do informací zakomponovat i nabídky služeb, které poskytujete.

2) Reklama připadá v úvahu, pokud máte dostatečně velkou návštěvnost stránek nebo ostatečně velký rank stránek. Ale opět to není na „uživení“ - jen z reklamy se na takovém typu stránek žít nedá. Stránky typu xxx, popř. cassino jsou na tom, co se týká výdělků z reklamy, mnohem lépe.

Přidám některé další možnosti:

3) Dotace. Pokud spočítáme počet stažení k počtu lidí, kteří dotace zaslali, dostaneme se k informaci asi jedna dotace na 2000 uživatelů.

4) Bundled software. Součástí instalace vaší aplikace bude nějaký další software a vy dostanete zaplaceno buď za každou instalaci nebo nějaký paušál.

5) Uděláte pro nějakou firmu upravenou verzi. Přidáte firemní grafiku, připravíte obsah instalace tak, aby byla „šita“ na míru, atd.

6) Akvizice. Někdo odkoupí celý projekt a bude Vám platit za další vývoj.

Proč jste se rozhodl šířit PSPad jako freeware? (Rytchie)

Jan Fiala: PSPad byl a stále je můj koníček. Umožnil mi poznat spoustu správných lidí. A díky tomu, že je to freeware, se stal tak rozšířeným.

Jak se vám líbila/líbí úroveň dnešních dotazů? (Patrik)

Jan Fiala: Zatím si nestěžuji. Žádné vulgární dotazy jsem nezaznamenal a snažím se odpovědět na všechny dotazy. Neodpověděl jsem pouze na několik dotazů „Kolik času trávím vývojem“ (tímto se jejich autorům omlouvám), protože odpověď najdou hned v prvním příspěvku.

Jak velké jsou zdrojáky k PSPadu? Jste pořádný programátor, který všechno poctivě komentuje nebo naopak? (Jan Suk)

Jan Fiala: Mnou napsané zdrojáky a vytvořené formuláře mají asi 4,5 MB.

Snažím se být pořádný. Pojmenovávám smysluplně funkce a proměnné, věci, které nejsou úplně jednoznačné komentuji, popř. doplňuji komentáře tam, kde se po nějaké době vrátím a musím chvíli přemýšlet.

Ale je to stejné jako u všech programů, jejichž vývoj probíhá delší dobu. Když vidím části, které jsem psal v roce 2001, mám chuť je napsat znovu. Celý kód není napsán úplně optimálně, protože v době kdy PSPad začínal se nepředpokládalo, že tak „vyroste“. Ale na druhou stranu musím říct, že PSPad po stránce zdrojového kódu není ani po těch letech hromada kódu bez ladu a skladu.

Je nebo bude možno v PSPadu editovat stránky uložené v Cyrilici? (Hamerinski)

Jan Fiala: Pokud jsou stránky v kódování UTF-8 nebo unicode, pak není problém. Pokud jsou to stránky uložené v kódování Windows 1251, pak to v současné době problém je, protože PSPad používá pro tyto stránky ANSI kódování. Znamená to, že se při načítání stránek řídí nastavením Windows v Místním a jazykovém nastavení.

V současné době mám otestováno rozšíření dialogu pro otevírání souborů o možnost volby kódové stránky a práci se všemi kódovými stránkami, které podporuje systém. Takže v blízké době budou uživatelé schopni pracovat s texty nejen v cyrilici, ale i dalších kódových stránkách. Seznam nabízených kódových stránek bude uživatelsky konfigurovatelný.

Na fotce vypadáte sympaticky. Jste svobodný? (google_man)

Jan Fiala: Svobodný už nejsem. Pokud bych byl, možná bych měl na vývoj více času. ;-)

Již tu padla otázka, zda se dá např. pomocí klávesové zkratky označením nějaké funkce zobrazit její definici. To by myslím šlo velmi dobře udělat pomocí CTags. A protože je to OpenSource, tak se to dá klidně zahrnout i do zdrojového kódu. Ale myslím si, že to ani není potřebné. Stačí jen volat CTags binárku na projekt, která vytvoří index a ten používat v PSPadě na select. (google_man)

Jan Fiala: S integrací CTags počítám. CTags jsou sice OpenSource, ale zdrojový kód do projektu integrovat nemůžu, Delphi překladač by se „céčkovému“ kódu bránil. Takže bude možnost vytvořít / aktualizovat index a ten pak používat pomocí CTags binárky.

Jakou posloucháte hudbu? (The Lizard King)

Jan Fiala: Můžu poslouchat téměř cokoliv, co má nějakou melodii a u českých písniček i nějaký smysluplný text. Takže si k poslechu určitě nepustím house nebo metal. Vyrostl jsem na folku a trampských písničkách.

Proč název PSPad? (Ladislav Kratochvíl)

Jan Fiala: PS jsou první písmena názvu firmy PROG-SOFT. V době, kdy jsem s programem začínal jsem o názvu moc nepřemýšlel. A pak už se jméno programu mění těžko...

Párkrát jste mi poradil na Poradně.net. Teď když jste mediální hvězda bych rád machroval a říkal „Poradil mi Jenda“ nebo „Ptal jsem se Honzy“, ale nevím, co je správně. Jak vás mám jmenovat? (Henessy)

Jan Fiala: Honza bude lepší. A s tím „machrováním“ si pospěšte, za týden už o tom nebude nikdo vědět. :-P

V poslední době pracuji na stránkách v různém kódování (utf-8, iso-8859-2 i windows-1250) a občas bojuji s použitím správného kódování při otevření souboru. Nebylo by možno použité kódování ukládat do souboru projektu (*.ppr)? Nejlépe pro každý soubor zvlášť? (David)

Jan Fiala: V Nastavení projektu je možné zvolit výchozí kódování, které platí pro celý projekt. V projektu obvykle nepoužíváte několik různých kódování současně.

Druhou možností je aktivovat volbu v Natavení programu / Adresáře a soubory / [x] Zapamatovat stav souboru. Pak se pro každý soubor (nejen soubor z projektu) zapamatuje mimo informací o poloze kurzoru, záložkách i informace o kódové stránce.

V plánu mám přidat nastavení výchozího kódování na úrovni zvýrazňovače (programovacího jazyka).

Znáte (umíte) používat editor (g)Vi(m)? Jaký na něj máte názor? (rejpal)

Jan Fiala: Spuštěný jsem měl snad jen jednou klon pro Windows. Je třeba zapomenout na všechno, co člověk ví o „normálních“ textových editorech. Filosofie ovládání a práce s ním je naprosto odlišná. Ale věřím, že pokud se s ním člověk naučí pracovat, dostane do rukou mohutný nástroj.

Používám PSPad z 90 procent pro psaní stránek v XHTML+CSS. Zajímalo by mne, jakým způsobem detekujete kódování textového souboru, které sice není bezchybné, ale zatím nejrozumnější jaké jsem potkal. (Pavel Gloss)

Jan Fiala: Detekce kódových stránek probíhá v několika úrovních. Napřed jsou detekovány tzv. BOM (identifikační bajty), které určují unicode kódování - to je také jediný identifikátor v textových souborech. Pokud nejsou nalezeny, proběhne pokus o detekci UTF-8 kódování. UTF-8 je kódováno podle matematických pravidel, takže je možné to podle těchto pravidel i detekovat. Pokud není zjištěno UTF-8, začne detekce podle počítání jednoznačných znaků. Každý znak je v určitém kódování na jiné pozici v tabulce. Pokud uděláme průnik těchto tabulek, vyjdou nám pozice, které se v jiných kódováních nevyskytují. A právě počítáním těchto jedinečných znaků je pak určeno, o jaké kódování by mohlo jít. Ve velké většině případů je tato metoda úspěšná.

V jednom příspěvku píšete, že jste nebyl spokojen s ostatními editory a to byl původní signál pro napsání PSPadu. Ovšem poměr času mezi naučením se ovládání nějakého editoru a napsáním vlastního je jasně pro naučení se. Jaké editory jste vyzkoušel? Já teď skončil u Vim. Je multiplatformní a hlavně zvládá to, co od editoru očekávám. Například PSPad při cca 200 – 300 tisících řádcích je nepoužitelný. (bigsam72)

Jan Fiala: Uvědomte si, že jsem mluvil o roce 2001. V této chvíli si už nepamatuji, které editory jsem zkoušel. To, že mi úplně nevyhovovaly, byl pouze jeden z důvodů. Druhým bylo, jak jsem psal, potřeba vyzkoušet si i něco jiného, než jen programování databázových aplikací. Prostě jsem si chtěl něčím „hrát“.

Uznávám, že VIM, pokud se s ním člověk naučí pracovat, je mocný nástroj. Nevím, jak je na tom VIM s podporou unicode. Určitě bych našel oblasti, ve kterých je PSPad mnohem pohodlnější a rychlejší, co se produktivity práce týká, než VIM, a zase naopak VIM bude v některých věcech lepší. Každému vyhovuje nějaký program a nějaký styl práce. Jinak to zpomalení u PSPadu při tak velkém množství řádků je dáno UNDO bufferem. Nevím kolik UNDO kroků by při takovém způsobu práce zvládl VIM...

Co plánujete ještě k PSPadu přidat? Co z něj plánujete ubrat? (Pavel Valach)

Jan Fiala: O tom, že bych něco ubíral jsem zatím neuvažoval. Nevím, zda PSPad obsahuje nějaké „zbytečnosti“. Ze zkušenosti vím, že jakmile bych něco ubral, sesypali by se na mě uživatelé, pro které je ubraná (z mého pohledu nepodstatná) maličkost životně důležitá.

A co bych chtěl přidat nebo změnit? Je toho opravdu hodně. Namátkou můžu jmenovat věci: přepsat vyhledávací engine; rozšířit možnosti projektu, např. synchronizace se soubory na disku; rozšířit FTP o šifrovaný přenos, synchronizaci s lokálním diskem/projektem; sjednotit možnosti externích programů a kompilátoru a rozšířit jejich možnosti; rozšířit práci s kódovými stránkami; integrace CTags.

Měl jste už nabídky na koupení PSPadu nějakou společností, např. Adobe? (zden)

Jan Fiala: Jednu poměrně zajímavou nabídku jsem již dostal, jedna společnost z USA měla zájem na odkoupení celého projektu. Ale společnosti jako Adobe ani Microsoft to nebyly.

Nezlobte se, podrobnosti sdělovat nebudu, nebudu ani odpovídat na doplňující dotazy na toto téma.

Bude někdy sepsána příručka používání? Občas metoda pokusu a omylu není to pravé. (Jana)

Jan Fiala: Pokud někdo příručku nenapíše, tak nebude. Já to z časových důvodů udělat nemohu. Navíc nevím, jak PSPad uživatelé používají pro konkrétní jazyky. Možná by bylo řešením nastartovat pro PSPad Wiki a dát uživatelům možnost přispívat a tak vybudovat postupně databázi znalostí a návodů. Pokud má někdo zkušenosti s Wiki a bude mít chuť pomoci při instalaci a nastavení, ať se klidně ozve.

Po práci na HTML projektech může posloužit seriál, který jsem dříve psal pro server Interval.cz.

Uvažujete o podpoře FTP a přímé práci se soubory na serveru podobně jak to podporuje např. dreamweaver? To je snad jediná funkce, která mi na PSPadu chybí. (Vojta M)

Jan Fiala: Nevím o jaké konkrétní podpoře píšete, ale PSPad obsahuje FTP klienta už nějaké roky a umožňuje přímo editovat soubory ze serveru.

Jak jste se dostal k programování a proč programujete? (hombre)

Jan Fiala: Pro někoho to bude znít jako pravěk, ale není to zase tak dlouho. K programování jsem se dostal na VŠ. Tenkrát to byla nejprve výuka na stolních počítačích EC, ADT, programy jsme si nosili na děrných páskách, seděli jsme u terminálů, kde se odeslal program ke kompilaci, za nějaké minuty se na nás dostala řada, objevil se výpis chyb a v řádkovém editoru jsme opravovali a postup s kompilací opakovali. Pak postupně přišly počítače typu IQ, PMD, na kterých jsme se učili assembler, časem i první slušovická PC XT s černo-bílými (spíše černo-oranžovými) monitory (Hercules).

V té době jsem si pořídil Sharp MZ80 - na svou dobu velmi dobrý 8 bit. Kam se hrabaly Sinclairy. ;-)

Po doplnění o 5,25" mechaniku, 0,5MB ramdisk a systém CP/M se z toho stal lepší počítač než školní PC XP - 16 kanálový zvukový procesor, barevný výstup. Někteří spolužáci experimentovali s BT jednojehličkovými tiskárnami, jiní si stavěli plottery z Merkuru, mě se podařilo sehnat termotiskárnu.

Na něm jsem si dělal úkoly do školy a protože jsme na vojenské katedře (než jsme ji po revoluci zrušili) měli i výuku radiotelegrafie (morseovka), napsal jsem si program na výuku, který pípal pro zkoušení odposlechu, ale uměl i pomocí telegrafního klíče přijímat. Takže pak si chodila spousta spolužáků trénovat. Do angličtiny, které jme měli celé 2 semestry, jsem si napsal program na zkoušení slovíček. Prostě mne bavilo tvořit, řešit problémy. Takže se z koníčku později stalo zaměstnání.

Programování je hlavně tvůrčí činnost. Delphi jako vývojový nástroj (podobně jako další RAD nástroje) zrychluje a usnadňuje tu mechanickou práci - tvorbu uživatelského rozhraní. To jde skutečně naklikat. Ale pak je třeba začít psát kód. Je třeba promyslet řešení problému tak, aby se maximálně využily možnosti jazyka, aby řešení splňovalo požadavky zadání, bylo co nejvíc blbuvzdorné (nadlidský úkol) a bylo v budoucnu snadno rozšiřitelné. A čím lépe se prvotní návrh udělá, tím lepší bude výsledek. Takže to je důvod, proč programuji.

V případě, že používám zdarma výsledek něčí nemalé práce, tak to nejmenší co mohu udělat abych se alespoň nějak odvděčila, je umístit logo použitého programu na viditelném místě titulní stránky. Já jsem to na svém webu udělala okamžitě při jeho vzniku. (mousie)

Jan Fiala: Děkuji za příznivé ohlasy. To jakéhokoliv autora vždy potěší.

Proč, na jaký účel a kam se instalace skutečně skvělého programu pokouší kontaktovat přes internet? Nejsem ochuzen jestli se mu to nezdaří? (Petr Beda)

Jan Fiala: PSPad samotný se nikam úmyslně připojovat nesnaží. Neobsahuje ani žádný spyware, neodesílá mi žádné údaje. Pokud by tomu tak bylo, neprošel by testem na Softpedia a podobných centrech, kde zaručují, že neobsahuje žádný spyware ani adware (viz stránka Články a ocenění, kde najdete 5 odkazů, které to dokazují). PSPad dokonce ani automaticky nezjišťuje nové verze, vše je v rukou uživatelů.

Ve fóru PSPadu už bylo toto téma diskutováno. Jedno z možných vysvětlení je zjišťování aktuální konfigurace IE nebo zjišťování dostupných e-mailových klientů, které jsou k dispozici v systému (jedním z nich je i HotMail.com) při prvním spuštění, kdy zřejmě dochází k dotazu na DNS servery - není to úmyslně.

Takže opravdu se nemusíte bát, že byste o něco přišel, když se ten kontakt nezdaří nebo když mu to zakážete.

Zajímal by mě váš názor na to, jestli je možné se prodejem např. PSPadu (shareware) slušně uživit, nebo už je trh přesycen? (Želva)

Jan Fiala: Podle mého názoru je to možné. Otázkou je, co kdo pokládá za „slušné“ uživení. Důležité je, aby se program dostal mezi uživatele. Sebelepší program, o kterém nebude nikdo vědět na uživení nepostačí.

Při prodeji programu pak musíte počítat s výdaji za umístění programu. Spousta poskytovatelů vám bude tvrdit, že poskytují neomezený traffic, ale jakmile se dostanete přes např. 20GB měsíčně, najednou to slovo „neomezený“ dostane jiný význam. A měsíční traffic u PSPadu se pohybuje ve stovkách GB. Takže budete nucen investovat do umístění na hostingových serverech. Na Download.com to tuším dělá necelých $1000 ročně.

U komerčního software vám nikdo nebude dělat nic zdarma, takže další náklady budou s překlady helpu, lokalizacemi, překlady webových stránek.

K přesycení trhu. Máte pravdu, editorů je skutečně na trhu velké množství. Když se na ně podíváte blíže, většinou zjistíte, že jsou to programy, které někdo napsal, vydal je jako shareware a když zjistil, že není zájem a výdělky nejsou takové jaké předpokládal, jejich vývoj ukončil. Rozhodně se najde hodně slušných komerčních editorů, ale místo na trhu je stále.

Ještě bych měl jeden dotaz ohledně budoucnosti Delphi. Před časem se objevily zprávy, že Borland se chce Delphi a snad ještě Borland C++ zbavit. Jak se na to díváte? (Želva)

Jan Fiala: Tyto zprávy skutečně proběhly tiskem. Předpokládám, že kupec, který by Delphi koupil, by je pohřbít nechtěl (pokud by to nebyl např. autor konkurenčních vývojových nástrojů). Když jsem sledoval, co se v posledních 2 letech dělo na straně Borlandu, tak bych možná byl opravdu rád, kdyby Delphi koupil někdo, kdo by měl opravdový zájem na jejich dalším rozvoji. Nedávné vydání edice Turbo byl z mého pohledu krok správným směrem.

Plánujete zvýrazňovač pro MKP program Nastran? (ToMiNo)

Jan Fiala: Jméno programu Nastran slyším poprvé. Kterýkoliv uživatel má možnost si v PSPadu vytvořit vlastní syntaxi pro jazyk, který ještě není podporován. Potřebuje k tomu pouze seznam klíčových slov daného jazyka. PSPad obsahuje podporu pro vytváření nové syntaxe v menu Nastavení / Uživatelský zvýrazňovač. Pokud mi pak definici syntaxe pošlete, bude k dispozici i pro ostatní.

Vznikne odlehčená verze jen pro tvorbu HTML stránek? Zůstávám stále u jedné ze starších verzí, která se mi zdá nejstabilnější a svižná (na starším PC). Novější si občas vyzkouším. Skvělý editor. (ntspm)

Jan Fiala: Ne, neuvažuji čistě jen o HTML editoru. Starší verze byly svižnější. Čím starší, tím svižnější (kéž by to tak bylo i s námi). Verze řady 4.5.x pracuje uvnitř v unicode. Na jedné straně to umožňuje bez problémů pracovat na jedné stránce s různými znakovými sadami, ale daní za to je větší režie.

Další zpomalení přinesla možnost skriptování. Při startu je třeba inicializovat WSH a zkompilovat existující skripty, které vytváří položky v menu (podporu skriptování je možné vypnout). Takže opět na jedné straně zpomalení a na druhé straně možnost uživatelsky rozšiřovat funkčnost. Na stránkách PSPadu v sekci Rozšíření najdete velké množsví skriptů, které přidávají možnosti např. práce s databázemi, ToDo list, atd.

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,