Changelog   Download   Wygląd   Zalety   Ludzie   Devel   Wsparcie   Forum »  

O programie

Unicom to moje nowe dzieło w dziedzinie komunikatorów internetowych. Powstało z myślą o dojrzałym użytkowniku, który w kliencie IM (Instant Messaging) poszukuje prostoty, skuteczności i uniwersalności, a nie świecidełek i gadżetów, których używa się i tak tylko dlatego, "że są", a nie z rzeczywistej potrzeby ;-)

Unicom został napisany od podstaw z myślą o przenośności między wieloma systemami. Dzięki wykorzystaniu bibliotek takich jak FLTK, pthreads czy LUA na moich barkach spoczywał już jedynie ciężar ich poprawnego użycia. Sądząc po przeprowadzonych dotychczas testach - udało się ;-)

Unicom obsługuje w tym momencie już cztery środki komunikacji - protokół Gadu-Gadu, Jabber'a, Tlen oraz wysyłanie SMS-ów (w roli głównej przeportowany pod FLTK i pthreads program Free SMS, również mojego autorstwa ;-)) Jeśli idzie o Gadu-Gadu jest też zaimplementowany transfer plików (w całej rozciągłości, tzn. jest wznawianie). Można to w sumie liczyć jako piąty środek. Niejako "ubocznym" efektem jest możliwość skonfigurowania nieograniczonej liczby kont niekoniecznie w różnych protokołach. Można mieć na przykład 5 kont GG, na których jednocześnie będzie zmieniał się nam status i opis. Daną rozmowę prowadzimy jednak tylko z jednego konta na raz (do wyboru) ;-)

Z "bajerów" z całą pewnością na wymienienie zasługuje obsługa LaTeXa zrealizowana dzięki wsparciu cudownego małego programu o nazwie mimetex. Dla niewtajemniczonych LaTeX umożliwia konstruowanie wyłącznie przy użyciu klawiatury skomplikowanych wzorów matematycznych, a nawet grafów, schematów, itp. Dla przykładu wpisanie w Unicom-ie następującego tekstu: <math>\LARGE \int_0^3(x^2)dx</math> spowoduje wyświetlenie u odbiorcy (pod warunkiem, że też ma Unicom'a ;-)) takiego oto obrazka.

W dzisiejszych zdominowanych przez technikę czasach, kiedy każdy właściwie człowiek ma do czynienia z piękną dziedziną nauki, jaką jest matematyka, możliwość precyzyjnego wyrażania się poprzez użycie jej formalnego języka jest niezaprzeczalną zaletą.

Sporo już tego napisałem i myślę, że niektórzy Czytelnicy mogli właśnie w tym momencie postanowć dać szansę mojemu "dziecku" i rozgladają się teraz za sekcją z plikiem do pobrania. Zapraszam was zatem do sekcji Download.

Z kolei dla bardziej podejrzliwych Internautów mam kolejne argumenty na korzyść Unicom'a. Otóż jest on w zasadzie bezpośrednio moim następnym dużym projektem po Free GG. Pomiędzy tymi dwoma programami powstało oczywiście całe mnóstwo innych tworów, ale z wielu względów nie można ich traktować jako duże przedsięwzięcia. Tak więc się złożyło, że Unicom'a tworzyłem mając wciąż w pamięci wszystkie bolączki i niedomagania Free GG. W związku z tym dołożyłem wszelkich starań, aby program był maksymalnie stabilny i "user-friendly". Mimo to nie wątpię, że nie udało mi się uniknąć błędów. Jak w każdym programie mogą być w Unicom'ie bugi. Jest jednak pewna znacząca różnica w stosunku do Free GG. Tamten był wypuszczany z kodem bez informacji dla debuggera. Ponadto opierał się na zagmatwanym VCL Borland'a. Unicom jest dużo lepszy, właściwie każda osoba, która posiada jakiś debugger JIT (just-in-time, pod Windows) lub zwykłe GDB (pod Linuxem i Mac OS X) będzie wstanie wraz z dziennikiem Unicom'a oraz własnym raportem o błędzie dostarczyć to co wypluje debugger. A wypluwa on zazwyczaj rzeczy bardzo ważne. Mnie w szczególności interesuje tzw. backtrace, zawartość stosu w chwili wystąpienia błędu.

No ale dość już o błędach. Przy odrobinie szczęście nikt nie powinien ich w Unicom'ie zbyt wiele doświadczyć ;-) Teraz parę słów o wersji dla Linuxa. Po kilku próbach udało się sprawić, żeby zachowywała się ona niemal identycznie jak wersja dla Windows. Różnice są na tyle kosmetyczne, że w tym momencie sam nie mogę sobie żadnej przypomnieć ;-) Ciekawe dla użytkowników tego zacnego systemu może być użycie komunikacji ICE oraz biblioteki SMlib dla wychwycenia zdarzenia zamykania sesji X'ów. Dzięki temu Unicom wyłączając się wraz z sesją ustawia nam statusy z zachowaniem opisów co w przypadku paru innych klientów UNIX-owych nie jest realizowane.

Unicom jest też, a może wręcz przede wszystkim, programem bardzo małym. Po skompresowaniu UPX'em, który zmiejszy rozmiar pliku wykonywalnego oraz bibliotek dostarczanych wraz z Unicom'em mieści się z powodzeniem na jednek dyskietce 1.44MB. W dobie pen drive'ów zamiast wciskać się z trudem na dyskietkę można wgrać wersje dla wszystkich trzech systemów operacyjnych i korzystać z Unicoma praktycznie wszędzie, nie tracąc przy tym ustawień, które z powodzeniem mogą być dla wszystkich wersji wspólne.

Kontynuując tę samochwalczą kanonadę muszę jeszcze wspomnieć o takich cechach Unicom'a jak możliwość klikania adresów www w opisach bezpośrednio na liście kontaktów, zakładkowy interfejs rozmów (patent sprawdzony we Free GG ;-)) oraz obsługa emotikonów (narazie bez animacji oraz bez rozpoznawania uśmieszków - trzeba ręcznie wpisać np. <3m_sie>).

Ponadto chcę zaznaczyć, że Unicom opiera się na wersji 1.1.6 biblioteki FLTK, która jest wersją z gałęzi stabilnej i od dłuższego czasu jest wyłącznie w trybie utrzymania (tj. nie są dokonywane żadne poważne udoskonalenia). Tymczasem trwają intensywne prace nad FLTK 2.0 i można spodziewać się, że w którymś momencie ujrzymy mocno odmienionego Unicom'a opartego na tej właśnie wersji :-) Z tego co zauważyłem oferuje ona możliwości budowania naprawdę wspaniałego interfejsu użytkownika jednocześnie zachowując swoją lekkość i przejrzystość.

W fazie intensywnego rozwoju jest też system skryptowo-wtyczkowy dla Unicoma. Dzięki jego zastosowaniu praktycznie każdy będzie mógł przygotować rozszerzenia funkcjonalności komunikatora nawet nie posiadając jakichkolwiek narzędzi programistycznych. Możliwość odpalania funkcji systemowych bezpośrednio z poziomu skryptu umożliwia wykonanie większości zadań bez pisania własnych bibliotek.

Jeśli po nastukania tego wszystkiego nie przekonałem Cię do chociaż jednego odpalenia Unicom'a to wierz mi - jestem zawiedziony ;-)

Copyright © 2005-2008 Sadysta

komunikatory.info Valid XHTML 1.0! Valid CSS!