Psi 0.11 a pluginy

Obrázek uživatele pihhan@njs.netlab.cz
Vložil pihhan@njs.netlab.cz, So, 2007-10-06 12:04 :: | | |

Chystá se vydání Psi 0.11. Nejde o nic převratného, kromě faktu, že všechno už bude komplet přepsáno v Qt4. To pro koncového uživatele samozřejmě nic moc neznamená.

Vlastností přibude celá řada. Například podpora automatického vstupování do chatu, které tak máte nastavený v bookmarkách. Potíž je, že správu bookmarků v Psi zatím nikdo neudělal, a tak si ty bookmarky musíte nadefinovat v něčem jiném. Vtipné, že? Chatu se týká i vylepšená podpora MUC, tedy konečně už můžete nastavit permanentní místnost přímo ze Psi. Tedy budete moci, vydání ještě neproběhlo. Kdo chce release candidate, může si ho ukořistit přímo ze svn nebo nějakých night buildů.

Co mě zklamalo je opětovné vyřazení pluginů. Systém pluginů je samozřejmě celkem složitý a není jednoduché udělat rozhraní pro pluginy dostatečně solidní, aby se nemuselo měnit. Co mě ale přijde trochu nešťastné je, že vývojáři pluginy odsunuli na vedlejší kolej. Místo aby zveřejnili rozhraní pro pluginy s alespoň omezenými možnostmi, nezveřejňují žádné pluginy. Ony pluginy v Psi jsou v podstatě na začátku a nejsem si jistý, jestli samotná interní struktura je na systém pluginů připravená. Sice probíhá oddělování XMPP rozhraní a uživatelského rozhraní na knihovnu iris a vlastní Psi, přesto jsou některé věci dost problematické. Přitom tím, že psi je univerzálně přenositelná mezi několika platformami vysloveně křičí o systém platformně závislých pluginů. Zoufalá je situace například u systému vyskakovacích okének, kde je natvrdo napatlaná podpora growl do Psi. Ještě k tomu trochu nesystematicky je na každém místě s vyskčením popup zprávy. Místo aby se to všechno dělalo na jednom místě ve třídě Popup nebo podobné záležitosti, najdete kód plný #ifdef HAVE_GROWL. Prostě Psi je hezký klient, ale má už něco za sebou a jeho kód se zvětšuje a zvětšuje. Jak ale kevin řekl, už se nebude nic přepisovat, bude se jenom uklízet kód. Což je v podstatě dobrý postup. Jenom jde o to, jestli se bude uklízet úspěšně.

Systém pluginů bude potřebovat pěkné rozhraní, které nebude potřeba často měnit. Buď to znamená vytvořit kompletní abstrakci stávajícího rozhraní, nebo udělat přístupné vnitřní rozhraní dostatečně solidní, aby se nemuselo co měsíc měnit, a vyřadit tak starší pluginy z činnosti. Jak se s tímhle autoři poperou bude ještě zajímavé sledovat. Doufám jen, že ve finální verzi Psi 0.12 už konečně pluginy budou a nebudou jen tak nějaké.

Aby si mě někdo nespletl s vývojářem Psi, jako je například z českých Spike. Jenom jsem se začal štourat v tom, jak daleko jsou pluginy a jestli by nešlo nějaký napsat, a musím říct, že potěšen jsem moc nebyl. Pravda, nezkoumal jsem jak fungují jiné klienty, předpokládám že o mnoho lepší to nebude. Když je potřeba udělat hezké uživatelské rozhraní, často je potřeba udělat ústupky ve způsobu fungování kódu a jeho napojení na GUI. Ale i tak, je fajn mít program opensource a možnost se podívat, jak a co má udělané, případně přiložit ruku k dílu.