Jaké to je propagovat vlastní projekt ?

Již po několikáté jsem zakusil hořkost propagace vlastního projektu. Jaké to je ? Co mi to přineslo, a co to přineslo projektům ? To se Vám pokusím popsat v následujícím textu.

Jakožto zastánce Open Source a programátor zároveň, jsem se rozhodl několik svých projektů pustit do světa. Bylo jich víc, vybral jsem ale jen tři. Každý z projektů je něčím jiným, tak se na ně podívám postupně. Rád bych ale, již zde upřesnil, že o svých projektech – programech, nebo nástrojích se snažím mít střízlivé mínění. Tedy ani sobecky nafoukané, ani přehnaně sebekritické.

Morias & Falias

Před lety, no dnes už před mnoha lety, jsem díky hodně, hodně, hodně moc slabému serveru, jenž jsem vlastnil, a jenž jsem hrdě vystavil do internetu, musel řešit problém webového mailového klienta. Ani si dnes nedokážu představit, jak moc jsem byl troufalý :) Považte Intel Pentium 75 s tak 64MB RAM bylo i na tehdejší dobu, velmi slabé železo. Konec konců, já měl notebook IBM s Celeronem 900MHz a 128MB RAM. Navíc to běželo na Slackware Linuxu na nějakém hybridu filesystému nad FAT32. Tato šunka byla na výdej jednoduchých PHP stránek s chabou návštěvností dostatečná, ale pustit si na mailovou schránku s 1000maily veverku nebyl dobrý nápad.


Začal jsem si psát vlastního mailového klienta. Byl malý, proti veverce ultra rychlý a zvládal otevřít drtivou většinu mailů od různých klientů, včetně RFC nedodržujícího Outlooku. Na svou dobu to byl docela hezký kousek. Skládání mailů řešil po svém kvůli chybě v PHP a měl mnoho vad na kráse, leč fungoval. Časem jsem začal dělat různé PHP weby, a neustále jsem kopíroval kód. Zaslepen tehdejší ideou, vymýšlel jsem nějaký úžasný model modulární knihovny. Vznikl Morias a Falias.


Jde o dva velmi spřízněné projekty. Falias jakožto framework. Má hromadu různých funkcí, které detekují jazyk, nastavují locales, pracují s maily, databází, grafickými prvky atd. Morias jakožto CMS, které je naprogramované právě za pomocí Falias frameworku. Tehdy, v relativně dobrých dobách mého podnikání, jsem nad těmito souputníky vystavěl pár funkčních webů. Tři e-shopy, a několik firemních webových stránek, včetně těch vlastních. Některé fungují do teď. Konec konců i tento web je jedním z nich. Jak už to bývá, dnes vidím kolik špatných věcí a hlavně konceptů ten kód má. Některé koncepty se používají do dnes, a dokonce fungují. Ale ta rychlost přátelé ta rychlost. Měření jsem vlastně dělal jen jednou, základní prázdná stránka, Morias CMS vs. Drupal. Ne Drupal neměl šanci. I přes mé asi 4 zcela zbytečné sql dotazy kvůli menu, jazykové mutaci a kdo ví čemu ještě, pořád byl víc jak desetkrát rychlejší :)


V době, kdy byl projekt odladěn, a na rozdíl od jiných projektů např. PHP Nuke, a Wordpress byl relativně bezpečný, funkční a hlavně nebyl bránou pro spam jsem začal hledat nějaké vývojáře. Tehdy ani nevím, kde všude jsem loboval. Nakonec mě ale od celé další větší propagace odradila odpověď od nejmenovaného českého serveru pro webové vývojáře. Sháněl jsem grafiky, někoho kdo udělá pár hezkých skinů, nakreslí ikonky pro wysiwyg editor atd. Leč odpověď byla ve smyslu, „až bude projekt zralý, odladěný a dostatečně dobrý, lidi si ho sami najdou. Na vzhledu přeci tolik nezáleží.“


Jen se po těch letech ptám, a co asi prodává produkt ? Jeho kvalita ? Ne je to obal a reklama. Mnozí z Vás jste učitě slyšeli o 4řech nebo dokonce 5ti P – Product, Price, Place, Package, Promation. Tyto P prodavají produkt, některé více, jiné méně. Hold, dobře no. Nebyl zájem a hlavně konkurence byla rychlá. Z nadějného Wordpressu se stal velký systém s vlastním zázemím, hromadou vývojářů a grafiků. Tak příště :)


Ještě se sluší dodat, že do PHP jsem sice ještě chvíli bouchal, ale narazil jsem na jeho limity a začal si hrát s myšlenkou, že bych ten starý systém, který byl čím dál více plnější různých hacků napsal znovu. A pak přišel Nette, tak jsem PHP raději opustil :) Kód ale používám do teď, a jak se v textu níže dozvíte, plány by byly.

Mind Map Architect

Víte jak se to říká o té pravdě ? Ona se potvora vždy nejlépe schová mezi dvě lži. No a ono je to takhle s kde čím. Někoho srazit a pak ho nepotopit, to člověka celkem nakopne :)


Ve světle nových zítřků, pln ideálů a nových možností, které mi nabídla nová práce, začal jsem používat myšlenkové mapy. Jsou fajn. Zkuste je. Občas lidi prostě dojdou k tomu, že je dobré si udržovat nějaký ten seznam věcí, přání, plánů, projektů v šuplíku. Jsem kreativní a tak takových beznadějných, zbytečných a naprosto nerealizovatelných nápadů mám opravdu hodně :) Tak jako tak, myšlenkové mapy jsou fajn. Můžete je použít na různé věci, na seznam věcí, co máte udělat. Na seznam věcí co potřebujete udělat. Na třídění, nebo ještě na zaznamenávání Vašich myšlenkových pochodů. Ty se občas do nějakého textu, nebo seznamu prostě zaznamenávají špatně. A právě proto, vznikly myšlenkové mapy a proto jsou tak populární. Celkem hezky umí odrážet Váš stav myšlenek. Nenutí Vás je řadit, třídit, nebo uhlazovat, ne, mohou být surové, prostě smršť nápadů.


Někteří si myšlenkové mapy kreslí přímo na papír. Tak proč ne, ale v digitální podobě je to teprve něco. Nové větvě, nové myšlenky, můžete si s nimi opravdu hrát. Prostě ta digitální podoba má něco do sebe.


Tak se je začal používat. Na Linuxu samo sebou. Na starším notebooku, myslím že to byl nějaký Assus. Tak byl fajn, byl menší, baterka docela vydržela a pevný disk, už tam mohl být možná třetí. Do vlaku to prostě stačilo. Jaképak máme na Linuxu možnosti ? Pokud nechcete platit, velmi často se Vám stane, ať už jste na Linuxu, BSD, Windows nebo něčem jiném, že sáhnete po aplikaci FreeMind. Proti gustu, ale je to pomalý. Teda ten program za to nemůže, je to psané v Javě. Ta prostě pomalá je. Někteří Javisti sice tvrdí, že je to jen špatnými programátory, pak jsem ale neviděl aplikaci v Javě, psanou dobrým programátorem. A jak je to pomalé, tak je to na můj vkus přeflákané. Ano, časem jsem sám došel k závěru, že něco přeci jen budu stejně implementovat i do svého programu, ale určitě toho nebude tolik.


Jak začít. Gtkmm už znám, ale co zkusit něco nového. Našel jsem jazyk Vala. Je to relativně nový jazyk, v podstatě napsán na míru GTK+, resp. jeho jádru GObject. Došel jsem k závěru, že naučit se nový programovací jazyk bude nejlepší na nějakém projektu, a myšlenkové mapy byl vhodný kandidát.


Navrhl, naprogramoval, vytvořil obal, tady to bylo díky Twitter Bootsrapu velmi pohodlné. A začal propagovat. Výsledek ? No chtělo to mít binárku i pro Win32. O poslední release, která vlastně vyšla loni, vyšla zprávička na Živě, na Lupě, všude možně. Kopie binárek se válí různě po světě na všech možných mirorrovacích servrerech. Na Rootu jsem měl v diskuzi, „ha program psaný ve Vale, to se musím podívat“. Suma sumárum, ano, zpravodajské servery moje upozornění vzali v potaz. A vydali můj různě modifikovaný text. To bylo fajn, reakce ? Žádná.


Je sice fajn, že nedostanete přes prsty, jen co se snažíte ukázat co jste udělal. Ale když Vám nikdo ani nenapíše že to používá ? Že mu to nefunguje ? Blbě se ladí, když nevíte co ? Na neštěstí myšlenkové mapy nejsou zas takovým hitem. Kdo je používá ví co chce, kdo je nikdy neviděl, musí si nejdřív zvyknout na to jak se s nimi pracuje. Je to přeci jen jiná práce. Z nejbližšího okolí, tady to nemuseli být jen PHP programátoři, se ke mně nakonec pár připomínek dostalo, takže něco málo už bylo zapracováno, a něco málo zapracováno bude.


Aktuální stav je takový, že má Mind Map Architect vedle české, ještě Španělskou a Italskou mutaci. Tedy alespoň aplikace. A v diskuzi je jediný negativní, resp. kritizující příspěvek na téma Drag & Drop. A pak jedna chyba, kterou neumím replikovat, ale to se podá. Alespoň nějaký feedback. Ten je totiž pro autora velmi, velmi důležitý. Bez něj ani nevíte, jestli to někdo používá a pokud, tak jak ? Téměř 2 a půl tisíce stažení je fajn, používají to ale uživatelé, když už si to stáhnou ? Kdo ví.


A budoucnost. Ano, po krkolomných webovkách v Pythonu se zase na chvíli vrátím k Vale. Mám nějakou novou zpětnou vazbu, takže mám na čem zapracovat. Navíc pořád neumí všechno co bych chtěl já, natožpak uživatelé ;) Už se na to těším. Začnu pracovat na něčem, co lidé snad používají, a zase začnu psát o Vale. Konečně seriál o 3 článcích je opravdu krákej ;)

Jinja24Doc a PoorWSGI

Díky Bohu, v nové práci jsem vyměnil PHP za Python. To vedlo k několika událostem. Oprášil jsem to, co jsem již znal. Naučil jsem se v jazyce pořádně programovat. Začal jsem jít do hloubky. A nakonec, začal jsem uvažovat o jeho využití ve vlastních projektech. A protože se mi přístup, který jsme v práci používali docela líbil, začal jsem si psát vlastní řešení. Zprvu to nebylo nic extra. Vlastně jen takový malý trik, jak udělat v mod_pythonu věci trochu jinak.


Problém na sebe ale nenechal dlouho čekat. Mod_python je zlo. Je to velké zlo protože Apache a protože mod_python. Narazil jsem na problémy stejných názvů souborů, na jiné problémy a další jiné problémy. Jeden vedle druhého. Tak tedy, jak to udělat jinak ? Začal jsem zjišťovat, zkoumat, hledat a narazil na WSGI. WSGI je fajn, je to správná cesta, ale vyžaduje změnu myšlení, ne ani tak programátora, jako spíš hostera. Hosting se prostě dělá jinak. Potřebujete extra server, který poskytuje samotnou aplikaci.


Vývoj pak nabral celkem rychlé otáčky. WSGI server, má totiž Python přímo v sobě. Stačilo napsat jen nějaký malý obal a init script na spuštění a stopnutí. No a teď co s tím WSGI. Nechtěl sem všechno začít psát znovu, a tak jsem si prostě napsal konektor, který se tvářil stejně jako mod_python. To bylo fajn, aplikace již napsané fungovali dál. Změny, které jsem musel provést byly minimální. A tak jsem to celé poslal ven. Tehdy žádná velká propaganda, dokonce jsem dostal i nějaké reakce.


Časem, jak šel čas, a já dál stavěl nad tím malým šikovným nástrojem, dospěl sem k závěru, že je čas na změnu. Takže jsem WSGI server od konektoru oddělil. To mimo jiné proto, že jsem chtěl začít využívat do té doby v Debianu nic moc dostupný, ale velmi nadějný a schopný WSGI server. Začal jsem tedy přepisovat, vylepšovat, opisovat od konkurence :) No a začal sem hledat něco, v čem napíšu, resp. čím vygeneruju dokumentaci. Generátorů je i dnes celá řada. A ti co nechtějí používat všeobecný standard, k tomu jistě mají své důvody. Mě se Sphinx zdál jednak složitý, a hlavně jsem si nedokázal představit, že pomocí něj, vygeneruji stránky, které jsem chtěl.


Napsal jsem tedy Jinja24Doc. Malý vedlejší produkt. Vlastně jsem hodně opisoval u pydoc nástroje. Líbí se mi vygenerování stránky bez větších manévrů, ale chtěl sem vlastní vzhled atd. Tak jsem si prostě za pár dní napsal vlastní. A nakonec sem to naučil i formátovat text a jako bonus zvýrazněnou syntaxi. Psaní kódu, když to sečtu, trvalo tak polovinu času, co psaní dokumentace samotného nástroje. Možná méně :)


Celou věc sem oznámil na IRC, kde byly projekty relativně vřele přijaty. A nechal jsem je uležet. Začal jsem psát Falias & Morias v Pythonu. Já vím, nepoučím se. Ten záměr mám už docela dlouho, byla to prostě jen otázka času, priorit a hlavně uzrání myšlenky. Není to ale jen tak, mezi tím jsem prostě stihnul napsat další 3 weby, za použití nové technologie. Ve skutečnosti 4 ale ten čtvrtý fungoval jen pár měsíců, pak ho majitel nechal zavřít. Než bude nový Falias & Morias hotov, bude to ještě dlouho trvat. Ten v PHP jsem psal několik let. V Pythonu a s tím co používám to jde rychleji. Ale chce to střídat. Teď nechám Python zase odpočívat. Alze zpět ke generátoru. Počkal jsem pár týdnů, dokončil další web a pak se rozhodl jít s kůží na trh. Zatím, jen s tím generátorem dokumentace. No to jsem si dal.


Zkušenost je něco, co je cennější než zlato. A z vyprávění to člověk necítí i kdyby měl sebe lepší fantazii. Obeslal jsem tedy české zpravodajské servery s vývojářskou a linuxovou tématikou. Výsledek můžete zjistit sami :) Od té doby jiný šéfredaktor stejného nejmenovaného zpravodajského serveru mi odpověděl, že projekt ještě není vyzrálý, a že bych ho měl zkusit prezentovat ostatním Pythonistům na jednom z jejich setkání. Na to setkání někdy moc rád zajdu, a na Jinja24Doc i PoorWSGI tam možná dojde, ale rozhodně na to nebudu čekat :D U některých serverů jsem pochodil a jsem za to moc vděčný. I za ty komentáře, které se týkají víc webu, než samotného nástroje. Nicméně pomohlo to ! A dokonce jsem přes linkedin našel člověka, co to odzkoušel i s Python verzí 3. Díky tomu všemu vznikly opravy, a to nejen webu ale i kódu.


A do budoucna ? Jinja24Doc byl opravdu jen okrajový produkt. Aktuálně má přes 500 stažení po cca týdnu. Není to špatný a vlastně to je lepší než Mind Map Architect. Tak uvidíme. Pokud budu mít pocit, že to lidé používají a dokonce si sami řeknou o nějaké vylepšení, dodělám ho, i přesto, že ho sám nebudu potřebovat. Proč ne. I sám bych tam rád dodělal pár věcí. Kdo ví jak to celé dopadne.

Nebojte se, ale připravte se na to, že ego, bude trpět.

Co říci na závěr. Jak už to bývá, nejvíc rejpalů je v Čechách. A nejvíce tito rejpalové kecají do anglické verze stránek a manuálu :) Sám sem na to několikrát okrajově narazil, ale jiní to asi schytali více. Je dobré se připravit na to, že Vaše ego bude trpět pokud půjdete s Vaší kůží na trh. Protože Váš program, Vaše aplikace, Váš projekt, to je kus Vás samotných. Je to Vaše dítě, na které jste hrdí, ať už je to jakkoliv škaredý paskvil. A pokud někdo začne kritizovat Váš kus práce, kritizuje Vás! Je důležité se s tím poprat. Neobhajovat, maximálně vysvětlovat, a hodně hodně moc přemýšlet. Každá reakce na Váš produkt, je dobrá. I ta zdánlivě špatná Vám umožní podívat se na celou věci z jiného úhlu, jinýma očima. Když na tyto reakce dokážete správně zareagovat, pomůže to nejen Vám, ale hlavně Vašemu projektu.


A ti ostatní ? No a co. To že nevyšla novinka na nějakém provařeném zpravodajském serveru neznamená, že lidé si tu Vaši aplikaci nenajdou jinak. Když budete mít štětí, lidé o ni budou mluvit. A třeba, možná, bez ohledu na to, jak moc je nebo není kvalitní a užitečná. Třeba ji začnou používat, a třeba se budete starat o něco, co používají i na druhém konci světa. Možná právě teď :)

Author:

Discussion

Opensource
Morias a Falias nebo PoorWSGI v Pythonu? Řešíš problém, který nikdo jiný nemá.
PS. Opensource
Nebo ne? :) (Předchozí komentář vyzněl až moc negativně, což neměl.)
Your comment:

© 2019 Ondřej Tůma McBig. Ondřej Tůma | Based on: Morias | Twitter: mcbig_cz | RSS: articles, twitter