středa 19. listopadu 2003

Jak bylo na Sun Tech Days v Praze

Velký cirkus ve mě vyvol rozporuplné pocity, ale nepředbíhejme a pojďme pěkně po akcích jenž jsem absolvoval.

Sun Keynote
Letmý pohled do budoucnost vizemi Sunu podaný šoumenem Reggiem Hutchersonem, kterému zdatně sekundoval Simon Ritter. Hlavni myšlenkou bylo propojeni všech věcí, které si umíte představit. V představách Sunu tak bude mít absolutně každá věc svojí IP adresu, podle které bude jednoznačně identifikovatelná. Vaše brýle budou mít IP adresu, co kdybyste je náhodou někde zapomněli. Vaše bíle spodky budou mít IP adresu, aby mohla pračka před zapnutím vyhodnotit jestli jste je náhodou omylem nesmíchali s barevným prádlem. Vše bude samozřejmě řízeno softwarem napsaným v Jave.
Building Effective Applications Using Java 2 Platform, Standard Edition 1.4 (J2SE 1.4) and Preparing for J2SE 1.5
Simon Ritter představil to nejdůležitější z Javy 1.4, tedy rozšíření I/O API převážně se zaměřením na Buffery, Channels a dále mluvil o projektu Java Web Start umožňujícím jednoduchou instalaci a upgrade java aplikací přes internet. Dalším tématem byla Java 1.5, ale kromě všude omýlaného(generics, boxing, metadat, static import) jsem se nic nedozvěděl.
Solve Your Development and Deployment Headaches using Sun Systems
Docela zajímavá přednáška neboť jsem na ni vstupoval jako čistý list papíru. Srikanth Raju mě nejdříve navnadil povídáním o javové platformě nad Linuxem, která mimo jiné obsahovala prohlížeč Mozilla, Star Office, Sun ONE Studio a další. Následoval povídaní o Solarisu a pak asi nejzajímavější část přednášky o Grid conceptu.
Grid concept bych charakterizoval jako zastřešení hardwaru, softwaru a dalších prostředku do jednoho rámce(Grid Engine), který umožňuje dokonalé využití těchto zdrojů například se jedná o výpočetní výkon, znalosti, informace. Jednotlivé Gridy lze dále skládat do sebe a spojovat je do větších celků. S Gridem se pak pracuje na základě úloh, což si představuji tak, že máme například výpočetně náročný úkon, který přes standardní rozhraní Gridu formuluji úlohu, která je zpracována.
Programming Puzzles
Malý quiz nad "špeky" s Javy s trochou skryté reklamy na jinak skvělou knihu Effective Java Joshuy Blocha. Kousky programovacího kódu, měly odhalit jak dobře znáte Javu. Kromě toho že jsem seděl skoro až úplně vzadu a kód jsem takřka nemohl vůbec přečíst, mě nenadchla ani Dr. Doris Chen, které jsem dobře nerozuměl.
Security and Identity Solutions Using Java Technology
Velice pěkně podaná přednáška Sang Shinem převážně na téma zabezpezení webových služeb. Vše se točilo kolem zabezpečení vlastních zpráv nikoliv jejich přenosu(SSL), řeč přišla na SAML, XML Enc, XML Sig.
Developing Wireless Applications using MIDP2.0, WMA and MMA
Srikanth Raju toho napovídal v poslední přednášce věnované bezdrátovým aplikacím v kontextu J2ME opravdu dost. Tato přednáška byla časově nejdelší a nabízela i ukázky midletu na Srikanthove mobilním telefonu, za zajímavost stála i ukázka Wireless Toolkitu 2.0, nastavení bezp. oprávnění a podepsání aplikačního archívu(jar souboru). Celkem to bylo jedno z toho nejlepšího co jsem na konferenci slyšel.

Jak jsem zmínil na začátku, Sun Tech Day ve mě vyvolal rozporuplné pocity. Organizace celé akce byla na velmi vysoké úrovni, nadruhou stranu mě zklamala strohost některých přednášek. Pokud se nemýlím tak celá akce je vždy koncipována jako dvoudenní, právě proto byly přednášky jaksi hodně ořezané opravdu na to nejdůležitější. Asi nejmarkantnější to bylo na Building Effective Applications Using Java 2 Platform, Standard Edition 1.4 (J2SE 1.4) and Preparing for J2SE 1.5, kde jsem se takřka nic nového nedozvěděl.

Většina speakeru mluvila velice srozumitelně a především Sang Shin mě velice překvapil, naopak zklamáním byla Dr. Doris Chen, která ne asi úplně svou vinnou nepřesvědčila. Mezi další zajímavost patříla hojná účast našich sousedu z Polska, Slovenska, ale i odjinud.

Sun Tech Days se konal v Praze již podruhé a i přes rozporuplné pocity ve mě klady z této akce převážily a doufám, že se velký cirkus v Praze ještě ukáže.

Související odkazy

CZilla vyhlašuje soutěž o nejlepší slogan k propagaci Mozilly

Používáte Mozillu a chete pomoci k její propagaci? Máte jedinečnou možnost přiložit ruku k dílu a pomoci projektu Mozilla.

CZilla vyhlašuje soutěž o nejlepší slogan určený k propagaci Mozilly, Mozilla Firebird či Mozilla Thunderbird. Nejlepší nápady budou použity na tvorbu propagačních banerů. (První banery již máme.) Pokud vymyslíte ať již vtipný, zajímavý či působivý slogan, pošlete nám jej. Své nápady posítejte na adresu hassman (zavináč) czilla.cz do konce tohoto týdne (do neděle). Všem přispěvatelům předem děkujeme.

pondělí 17. listopadu 2003

Editoriál

... a pak, že nerostou. Další blog o Jave má nesvědomí Pavel Kolesnikov a jeho jAbLoK.cZ vypadá opravdu dobře a není pouze o Jave. Na jablok.cz jsem narazil opravdu náhodou a to je škoda. Pokud máte zajímavý blog nejen o Jave nebo programování napište mi.

Zítra 18.11.2003 se bude v Kongresovém centru konat Sun Tech Day. Pokud čirou náhodou nejdete pak Dagblog přinese to nejzajímavější co jsem se dozvěděl. Pokud máte chuť a chcete li si se mnou popovídat oslovte mě(identifikační foto), třeba během poledního pauzírování.

Design patterns na příkladech z reálného života

Studium návrhových vzorů(Design Patterns) bylo a je složitou úlohou na představivost čtenáře. Některé vzory jsem musel a pravděpodobně nejen já, přečítat vícekrát abych si vše dokázal poskládat do výsledné mozaiky.

Michael Duell se v článku Non-Software Examples of Software Design Patterns (původní odkaz objects.cz) zaměřil na návrhové vzory prezentované na příkladech z reálného života. Vysvětlení Builderu na stravování v restauraci rychlého občerstvení nebo návrhového vzoru Facade na operátorce zákaznického centra prostě nemá chybu. Článek vřele doporučuji neboť se jedná o velice dobrý doplněk ke studiu návrhových vzorů.

neděle 16. listopadu 2003

Uživatelské rozhraní webových aplikací

Přečtení článku User Interface Design for Web Applications Jean Tillman (Sova v síti 14.11.2003 Webové aplikace se navrhují jinak) ve mě vyvolalo smíšené pocity. Dozvíme se sice o rozdílech mezi uživatelským rozhraním webových aplikací oproti návrhu klasických na obsahu založených stránek, ale pohled je to značně letmý a z mnoha body lze polemizovat. Má zkušenost s návrhem uživatelského rozhraní nemůže sice vycházet z případových studií či jiných exaktních měření, ale může Vám nabídnout pohled a názory, které jsem získal v kontrastu s názory prezentovanými článkem.

Page titles je místo, které má obrovský potenciál z hlediska doplňujících informací, které jsou kontinuální přes celou práci s aplikací např. období, ve kterém uživatel pracuje. Většinou se nejedná o informace, které by byly nezbytně nutné, ale uživatel by o nich měl mít přehled v každou chvíli práce s aplikací. I původní účel titulku stránky se naplňuje a každá stránka nebo chcete li formulář má unikátní číslo a popisku, podle které je možné stránku identifikovat např. v případě chyby.

Hypertext vs. linear tasks v případě velice jednoduchých webových aplikací lze možná mluvit o lineárnosti úloh, ovšem ve většině případů se jedná spíše o krátké lineární úseky a proto se používá kombinace "formulářové" a hypertextové navigace.

Scrolling většina uživatelů nese velice nelibě jakoukoliv nutnost rolovat v horizontálním(vůbec) a vertikálním směru. Samozřejmě záleží na struktuře formuláře, ale datová část, ke které se vztahuje ostatní logika tvořená navigací a výkonnými prvky(ovládací tlačítka), by měla být celá viditelná bez nutnosti rolování. Pokud to z různých důvodů není realizovatelné např. proměnná délka datové části(množství záznamů) pak vyplatí poskytnout mechanismus stránkování nebo zopakování výkonných prvků pod datovou složkou.

Cross-browser considerations je velice ošemetné téma a rozhodně bych se neodvážil tvrdit, že návrháři a kodéři mají pod kontrolou prostředí, na kterém poběží webové aplikace. Platí zde a to bych rád zdůraznil to samé jako v případě klasického internetu. Snažit se v maximální možné míře držet standardů a proprietárním technologiím se snažit vyhnout. Jako dobrý se osvědčil způsob minimálních požadavků na prohlížeč. Stačí si například stanovit, že se v případě klientského skriptování budeme držet ECMAScriptu 3.0. pak je v podstatě jedno jestli má klient IE 5.0, 5.5, 6.0 nebo Mozillu 1.0.

Browser buttons tedy navigační tlačítka prohlížeče jsou noční můrou spíše pro serverové progrmátory. Použítím vhodné kombinace tlačítek další - předchozí lze uvést aplikaci řekněme do nekonzistentního stavu způsobujícího chyby. Spíše se ovšem jedná o ošetření na straně serveru, kdy jde například technikou posílání počítadla tyto stavit částečně omezit.

Home page v případě webových aplikací se jedná o rozcestník vlastní aplikace. V případě více aplikací pak domovská stránka slouží k výběru aplikace, prohlížení nápovědy, přihlášení, registrace případně jiného úkonu nadaplikačního charakteru.