30. prosince 2006

VoIP telefonie

Jeden z mnoha projektů do školy byl i program do předmětu Uživatelská rozhraní. Zaregistroval jsem si projekt VoIP, v zadání nebylo vyžadováno aby program uměl telefonovat, ale musel umět spravovat kontakty…

Protože v okamžiku, kdy jsem se dostal k práci na tomto projektu jsem už neměl moc času cokoliv zkoumat, tak jsem šáhl po tom co jsem znal. Tedy jako implementační jazyk jsem použil Javu, na tvorbu GUI (uživatelského rozhraní) jsem použil Swing, který je dodáván přímo s Javou (původně jsem přemýšlel nad SWT).

Moc mě potěšilo, že zrovna v době, kdy jsem začal s prací vyšla nová verze Javy s vylepšeným Look&Feel (vzhled a chování). Šlo mi hlavně o vzhled a chování v GNU/Linux, kde to do té doby nebylo moc růžové. Ale Java 6 přinesla mohutné vylepšení.

Když už bylo rozhodnuto použití Javy 6 a SWING toolkitu na GUI (+ moje oblíbená knihovna forms od jgoodies), mohl jsem začít přemýšlet nad dalšími věcmi. Kam ukládat data. XML nemám rád i když na jistý druh dat je to vhodný formát. A použít nějakou klasickou SQL (myslím tím nativní, samostatně instalovanou) databázi bylo jako vzít kanón na vrabce. Tak jsem začal hledat implementaci SQL databáze v Javě. Po chvíli hledání jsem narazil na HSQLDB (našel jsem ji díky projektu OpenOffice.org). Po chvíli zkoumání jsem už měl hotové tabulky a ukládal do nich data. Je to šikovná věc.

Mohlo se začít tedy s tvorbou uživatelského rozhraní. Nepotrpím si na aplikace plné ikonek, obrázků a tak. Preferuji strohost, jednoduchost (ani ne tak funkční jednoduchost, omezenost, jako spíš jednoduché a přehledné ovládání). Začal jsem jsem kreslit jednotlivé okna aplikace na papír. A když jsem byl spokojen, začal jsem je převádět do programového kódu.

Mojí motivací byla i snadná použitelnost jen za pomoci klávesnice. Jsem zvyklý používat klávesnici na maximum. Takže celá aplikace je ovladatelná i klávesnicí. A také je kompletně připravena na lokalizaci. Stačí přidat překladové soubory pro další jazyky a v systému mít nastaveno správné LOCALE. Pokud LOCALE nenalezne překladový soubor, použije se jako výchozí jazyk čeština.

Jinak na projekt VoIP měli zaregistrován 2 studenti. Spolužák a já. Viděl jsem screenshoty jeho dílka. Připomněly mi Skype (tedy aplikace, která se mi fakt hnusí) i když vypadá líp jak Skype (přesto by mě nikdo nedonutil ho používat :-D ). Mě víc vyhovuje styl fungování VoIP aplikace Ekiga ;-).

Tak a teď pro ty, kteří by rádi viděli co jsem to vlastně stvořil…
https://github.com/djaara/itu

Žádné komentáře:

Okomentovat