30.10.2008

Google poskytuje OpenID 2.0

Očekávané se stalo skutečností. Google se stal poskytovatelem OpenID. Takže můžeme (snad) konečně zapomenout na stovky zbytečných registrací, kde stále vyplňujeme jméno, heslo, email, přezdívku atd. Prostě vše jednou vyplníme ve svém Google Account. A pak už jen bude stačit místo registrace zadat svůj email a odkliknout jedno povolení.

Všechno je to tak trošku hudba budoucnosti. Ale služeb, které podporují OpenID, pomalu přibývá. Takže nezbude než doufat. Každopádně tento krok je velkým vítězstvím (možná i záchranou) specifikace OpenID. Specifikaci totiž šlape na paty Facebook nebo Microsoft se svým LiveID.

Proti Facebook a LiveID má OpenID jednu velkou nevýhodu. Uživatele ho neznají, netuší jak vypadá logo (viz. studie Yahoo). Zatímco logo Google, Yahoo, MySpace, nebo Microsoft (ano i ten je poskytovatel) zná každý.

Následující obrázek znázorňuje celý procesu přihlašování. Jak je vidět, tak požadavky na uživatele jsou minimální, spíš komunikuje Google s třetí stranou (Web application).

Popis toho, jak vše funguje, naleznete na stránkách Google Code. V současnosti probíhá limitované testování, do kterého je zapojeno několik služeb třetích stran (Zoho, Plexo, BuxFer). Co napsat závěrem? Napadlo mě: Mějte se krásně a buďte Open :-) .

29.10.2008

Autoload v PHP

Autoload je velmi užitečná funkce PHP 5, sloužící k automatickému načtení tříd (souborů). Autoload je vlastně takové vylepšení require_once (include). Funkce __autoload se zavolá v případě, že požadujete třídu, která prozatím neexistuje.

Následující kód stačí vložit do core.php. Pokud máte rádi pořádek a své class umisťujete dle jejich významu do různých adresářů, je nutné nejprve nastavit include path.

// DS - oddelovac pro adresare
define ('DS', DIRECTORY_SEPARATOR);
// pak najdeme absolutni cestu
define ('ABSPATH', realpath(dirname(__FILE__)).DS);

// nastavime potrebne cesty k vasim class
set_include_path
(
ABSPATH.'libs'.DS.'core'.DS.PATH_SEPARATOR. // libs/core/
ABSPATH.'libs'.DS.'helper'.DS.PATH_SEPARATOR. // libs/helper/
get_include_path()
);

Většinou je dobrým zvykem dodržovat nějakou strukturu pojmenování tříd. V mém případě jsou třídy pojmenované class.nazev.php. Funkce __autoload bude vypadat následovně:

// automaticke nahrani trid umistenych v core nebo helper
function __autoload($class_name)
{
if (!class_exists($class_name, false) ||
!interface_exists($class_name, false))
require_once ('class.'.$class_name.'.php');
}

Tento kód si uložte např. do aload.php, pak už jen stačí napsat

require_once('aload.php');

kdekoliv, kde budete potřebovat pracovat se svými class.

24.10.2008

Gmail přidal smajlíky

Nejlepší email na světě (Gmail) přidal další funkci – a sice smajlíky. Tuhle funkci najdete editoru nových zpráv, pod rozverně vypadajícím žlutým tlačítkem.

Napočítal jsem jich celkem 148, což je opravdu úctyhodné. Můj miranda pack jich má jen 140 :-) – prostě smajlíkům zdar.

21.10.2008

Jednoduše a rychle na sdílení souborů

Tematikou sdílení souborů jsem se tady už několikrát zabýval. Takže si neodpustím malou rekapitulaci.

No a teď k mému novému objevu, který se jmenuje Drop.io. Drop.io je navržen podle hesla v jednoduchostí je krása (a použitelnost). Drop.io neposkytuje žádné zbytečné a nepotřebné funkce, jde rovnou na věc – chcete sdílet tak sdílejte.

Registrace, jestli se to tak dá nazvat, spočívá v pojmenování Drop prostoru a případně zadání admin hesla. Se jménem si nemusíte lámat hlavu, drop.io Vám předgeneruje nějaké vlastní.

Po tomto kroku dostanete 100 Mb prostoru a vlastní URL adresu ve formátu drop.io/vase_vybrane_jmeno. Ke každému nahranému souboru je možné přidávat komentáře (opět bez nutnosti registrace) – výborné pro komunikaci se zákazníky.

Do Vašeho Drop prostoru může (bez registrace) nahrávat kdokoliv na internetu. Takže opět výborné, pokud potřebujete, aby Vám někdo něco poslal, stačí aby znal URL.

No a to nejlepší přirozen nakonec. Službu je možné napojit na Twitter, Facebook, RSS, Mobil (jen USA) nebo Váš email. Takže se o nových souborech včas dozvíte. Prostor můžete navýšit za pouhých 10$/Rok/1GB.

Ke službě existuje rozšíření do Firefox, které umožňuje pohodlné přidávání nových souborů. Výčet skvělých funkcí bych ukončil upload widgetem, který si můžete umístit na vlastní stránky.

14.10.2008

Bleskově na AJAX přes Google

Populárních javascriptových AJAX knihoven (frameworks) dnes existuje celá řada. Většina z nich narostla za dobu své existence ke stovkám kilobajt.

Velikost knihoven má spolu s odezvou serveru fatální vliv na rychlost načítání každé stránky, která by je ráda používala. Doba prvního načtení tak může běžně vystoupat až k jednotkám sekund.

Další nemilou (i milou) vlastností těchto AJAX frameworks, je fakt, že jsou v neustálém a zuřivém vývoji. Což má za následek nové a nové verze knihoven. Pokud chcete být v obraze, nezbude než neustále stahovat nové a nové verze. Navíc je to často taky otázka bezpečnosti vašich stránek.

No a na závěr mé obžaloby AJAX frameworks, bych se rád zmínil o replikaci dat. Každý server (stránky) to většinou řeší tak, že si prostě vytvoří svoji vlastní kopii příslušných knihoven. Vývojáři tímto krokem nutí uživatele neustále stahovat (prakticky) tatáž data dokola.

Ale pak se pár chytrých hlav dalo dohromady a řeklo: Dost! A není náhodou, že těch pár chytrých hlav se sešlo ve společnosti Google :-) a vytvořilo AJAX Libraries API.

Výhody jsou zřejmé:

  • Primitivní kód pro vložení – jeden řádek
  • Při načítání knihoven využíváte infrastruktury Google, takže odezva je doslova perfektní.
  • Aktualizaci provedete tak, že přepíšete číslo verze příslušné knihovny.
  • Knihovny jsou před přenosem komprimovány metodou gzip.
  • Skript se načítá z jediné URL a do cache se ukládá jednou pro všechny projekty, využívající AJAX Libraries API

Příklad vložení Prototype verze 1.6 a rozšíření Scrip.aculo.us 1.8.

<script src="http://www.google.com/jsapi" type="text/javascript"></script>
 <script type="text/javascript">// <![CDATA[
google.load("prototype", "1.6.0.3");
google.load("scriptaculous", "1.8.1");
// ]]></script>

Rozhraní dnes dokáže vložit knihovny: Prototype, Scrip.aculo.us, Dojo, jQuery a Mootools. Časem možná přibudou některé další.

Stránka 1 z 212