Linux E X P R E S

Facebook

Rozhovor: Thomas McGuir a KMail

kde.png

Opět přinášíme překlad rozhovoru Giovanniho Venturia. Tentokrát vyzpovídal hlavního vývojáře emailového klienta z KDE, KMailu, Thomase McGuira.


Překlad vydáváme se svolením autora, Giovanniho Venturia. Italský originál najdete na webu kde-it.org, anglický překlad, ze kterého jsme vycházeli, pak najdete na webu kdenews.org.

Ahoj Thomasi, mohl by ses představit našim čtenářům?

Ahoj, jmenuji se Thomas McGuire. Jsem dvacetičtyřletý Němec (irského původu, jestli se divíte mému příjmení). Vedu vývoj aplikace KMail, studuji kombinaci informatiky a elektrotechniky na Siegenské univerzitě.

Thomas McGuirThomas McGuir

Kdy a jak jsi se dostal ke KDE komunitě?

Začal jsem s programováním, když jsem vytvářel malé hry pro Windows. Jedna z nich používala knihovnu SDL, která je multiplatformní. Zajímalo mě, jestli má hra poběží na Linuxu, takže jsem nainstaloval SuSE, abych ji na něm zkompiloval. Na desktopu bylo shodou okolností KDE a od té doby jsem u Linuxu a KDE zůstal.

Do jaké části KDE komunity a vývoje jsi zapojen?

Zaměřuji se hlavně na KMail a KDEPIM. Příležitostně trochu přispívám do kdelibs, pokud se to týká KMailu.

Jak ses stal hlavním vývojářem KMailu?

No, začal jsem pracovat na KMailu a nepřestal jsem. Když jsem začal, port pro KDE4 byl právě ve vývoji, takže bylo jednoduché zúčastnit se a pomoci s ním.

Je možné lépe integrovat Gmail?

Věříme, že přesun k architektuře Akonadi přinese také vylepšenou podporu protokolu IMAP do KMailu. Jedno zlepšení, které už je implementováno, je podpora push emailu (IDLE). IMAP od Gmailu je vlastně trochu specifický, například použitím štítků a složky „Všechny zprávy“, vidím spoustu možností pro zlepšení. KMail by se mohl s těmito prvky vypořádávat lépe.

Jaké jsou potíže při vyvíjení aplikace tohoto druhu? Mnohokrát jsem se pokoušel začít psát kód pro KMail, ale ztrácel jsem se ve všem tom kódu. Co bys doporučil lidem, kteří chtějí s KMailem / KDE PIMem pomoci?

Je pravda, že kód KMailu byl velice rozsáhlý a děsivý. Nyní portujeme KMail na architekturu Akonadi a situace je mnohem lepší: Místo toho, abychom měli veškerý kód v KMailu, máme nyní malé oddělené knihovny a komponenty. Toto oddělení dělá vývoj jednodušším a je také jednodušší ho najít. Jestli stále nevíte, kde hledat, prostě se nás zeptejte na IRC.

V jaké aplikaci vyvíjíš KMail?

Přecházím z KDevelopu na QtCreator. Dlouho jsem používal KDE3 verzi KDevelopu, ale přecházím na QtCreator. Některé věci v KDevelopu jsou ale přesto lepší, především editor na bázi Kate a podpora C++. Možná přejdu opět na KDevelop 4. Je dobré vidět takovou konkurenci, máme teď dvě skvělá IDE. Pro debugování stále používám GDB s frontendem CGDB, integrovaný debugger v IDE mi nějak nikdy nefungoval správně. Git-SVN je skvělý nástroj, který umožňuje použít Git pro SVN repozitáře, které používáme v KDE. Nedávno jsem ho začal používat a mohu ho všem doporučit, je velmi dobrý pro produktivitu.

Jaké znalosti jsou potřebné pro vývoj aplikace, jako je KMail?

Pro vývoj KMailu není potřeba mnoho znalostí. Když jsem začínal, znal jsem jenom C++ a malý kousek Qt, zbytek jsem se přiučil postupně. Je spousta lidí na kanálech #kontact a #akonadi, která vám ráda pomůže.

Jak je psaní kódu pro KMail organizováno?

Je to organizováno jako vše v KDE teamu, komunikujeme přes mailovou konferenci, IRC a máme normální vývojářské schůzky. Nikdo neorganizuje, kdo na čem pracuje, každý prostě dělá, co ho baví. Samozřejmě se ale snažíme koordinovat naše úsilí. Právě teď se všichni soustředíme na Akonadi port KMailu a Kontactu.

Existuje možnost, aby se zprávy z Facebooku objevovaly v KMailu, nebo na to Facebook neposkytuje API?

KMail 2 bude postaven na Akonadi (he, myslím, že se opakuji), což umožňuje shromažďovat maily a jiná data z různých zdrojů, pomocí takzvaných resources. My potřebujeme Facebook resource pro Akonadi. Dobrá zpráva je, že Facebook resource už existuje v testovací větvi SVN, ačkoli momentálně nefunguje. Momentálně podporuje pouze kontakty, ale dokumentace Facebook API mluví o beta podpoře pro přístup ke zprávám, takže existuje možnost, že v KMailu uvidíme zprávy z Facebooku.

Bylo by skvělé, kdyby někdo začal pracovat na Facebook resource znovu a přidal podporu pro zprávy, mělo by to být velice jednoduché.

Mám na práci raději desktopové aplikace. Co si myslíš o všech těch webových aplikacích jako je Facebook a Google Apps?

Webové aplikace mají rozhodně své klady, jako třeba přístupnost odevšad bez nutnosti instalovat software. Přesto preferuji software pro desktop. Vezmi si ku příkladu email: Mám více emailových účtů a můžu ke všem přistupovat pomocí jednotného a efektivního rozhraní KMailu. Na webu musím navštívit různé stránky, abych zkontroloval svoje emaily a musím být kvůli tomu online, zatímco KMail může pracovat offline. Dalším důvodem je bezpečnost: Je nemožné šifrovat nebo podepisovat maily webovou aplikací bez odevzdání svého privátního klíče. A samozřejmě použití služeb Googlu se všemi vašimi daty je také záležitost soukromí, tato jedna společnost kontroluje ohromné množství dat. Desktopové aplikace tu mají stále své místo a jsou na některá použití vhodnější. Webové aplikace také mají své místo. Myslím, že v budoucnu se setkáme s přesunem z desktopových aplikací k aplikacím pro mobilní telefony.

Jaké vlastnosti podle tebe chybí KDE aplikacím, aby vznikl velmi silný balík produktů?

Rád bych se v budoucnu dočkal expanze vlastností navázaných na systém Nepomuk, má ohromný potenciál. Potřebujeme dobré uživatelské rozhraní pro hledání dat a pro přístup k nim a také integraci našich nových technologií do mnohem více aplikací.

Které KDE aplikace odvádí velmi dobrou práci? A které potřebují ještě hodně péče a pomoci?

Některé mé oblíbené aplikace pro produktivitu jsou Yakuake a KJots. Díky Yakuake mám rychlý přístup k terminálu, což často potřebuji. Mám spouštěč pro KJots na panelu a píšu do Kjots vše, co mě napadne. Zapisuji si například poznámky o chybách nebo nápady na vylepšení. Je strašně mnoho dalších výborných aplikací, ale nemůžu je tady vyjmenovat všechny, například Konversation, KMyMoney a Digikam. Kopete potřebuje péči. Podpora Jabberu je chybová, především pro víceuživatelské rozhovory. Nakonec, přešel jsem na kecálka, který není z KDE :(

Jaké je tvá oblíbená KDE aplikace?

Kromě Kontactu? Opravdu nemám oblíbenou aplikaci. Mám rád integraci mezi všemi KDE aplikacemi, desktop jako celek se velmi příjemně používá.

Jaké jsou tvé plány pro KMail v dalším vydání KDE SC?

Nyní je důležité dokončení portu na Akonadi. Myslím, že už jsem zmínil, že Akonadi framework přinese mnoho výhod, můžeme se konečně zbavit zkostnatělé a nestabilní odkládací vrstvy z KMailu 1. KMail 2 je právě ve vývoji: spustí se a zobrazí zprávu, ale stále je to dlouhá cesta, než bude připraven na použití. Nejsem si jist, jestli to stihneme do vydání KDE SC 4.5, ale raději bych strávil nějaký čas testováním připravenosti KMailu 2 než zažít znovu něco jako vydání KDE 4.0. Uvidíme, jak to půjde. Pomoc s portací je vítána!

Jsi placený za práci na KDE softwaru?

Ano, jsem placený za práci na KDE, částečně pracuji v KDAB, společnosti nabízející služby okolo Qt. Jedním z produktů KDAB je projekt Kolab, což je svobodné groupwarové řešení. Kontact je oficiální klient pro Kolab, a proto KDAB pracuje na Kontactu a KDEPIMu. Byl jsem najat do KDAB poté, co jsem nějakou dobu na KMailu dělal. Osud, který potkal mnoho dalších vývojářů KDEPIMu. Mojí hlavní pracovní náplní je nyní takzvaná „enterprise35“ část KDEPIMu, což je velmi stabilní verze určena pro produkční nasazení. Je stále postavena na KDE3, takže jsem jeden z posledních lidí, kteří se podílejí na vývoji KDE3, společně s Allenem a Sergiem. Samozřejmě zařizujeme, že se každý commit enterprise větve dostane i do trunku, přestože je to spousta práce. Bude existovat i enterprise5 větev na bázi Akonadi. I část svého volného času tedy trávím na práci na KMailu, viz odpověď na další otázku :)

Co tě motivuje k práci na KDE softwaru?

Nejprve a především – programování je zábava! A komunita stejně smýšlejících lidí, kterou okolo sebe mám, ho dělá ještě více zábavným. Především díky vývojářským schůzkám a Akademy. Je také krásné vidět ostatní lidi používat náš software a vědět, že naše práce jim přináší užitek.

Kdyby sis mohl vybrat místo, kde bys žil, které místo by to bylo a proč?

Je mnoho krásných míst na Zemi! Nejlepší, co se dá udělat, je cestovat a vidět, co nejvíc zemí jde. Kdybych si musel vybrat, vybral bych si Nový Zéland. Jednou jsem ho navštívil na několik měsíců a opravdu jsem si to tam užil, báječná příroda i lidé.

Byl jsi někdy v Itálii? Jestli ano, kde?

Ještě jsem v Itálii nebyl, ale rád bych tam jednoho dne vyrazil.

Čteš rád? Kterou knihu jsi četl naposledy?

Jsem velkým fanouškem knih. Poslední naučná kniha, kterou jsem četl, byla „Why Programs Fail: A Guide to Systematic Debugging“ (Proč programy padají: Průvodce systematickým debugováním). Poslední beletrie byla „Drop City“ od T. C. Boyla, už jsem si objednal více knih od tohoto skvělého autora.

Thomasi, děkuji za tvůj čas a přeji hodně štěstí s tvými projekty! Giovanni Venturi

Diskuze (1) Nahoru