Tom Krcha's FlashRealtime

Hey amigo!
I am Tom Krcha, Gaming Evangelist at Adobe. These are my notes


Promised MAX slides

December 4th, 2008

For all of you who might want to have look at slides I used during my presentation:

Designing and Building Web Experiences in Flash CS4 (525 KB)

Breathe AIR Into Your Brand (7.78 MB)

During the Breathe AIR I showed this apps:

  • AIRLine
  • EbayDesktop
  • PizzaHut
  • TweetDeck
  • Adobe Directory
  • FoxNews
  • Twhirl
  • and probably something more… :)
If you have any regarding questions, just post a comment.

Jak vypadá Flash Catalyst

December 3rd, 2008

Flash Catalyst sice ještě není ke stažení, ale účastníci konference MAX v Miláně měli možnost si ho vzít na CD od jedné z hezkých italských hostesek hned po skončení General Keynote Session Day 2, kde v jej kostce předvedli a pak na dalších sessions a labs podrobně rozebrali.



[Uvedení Flash Catalyst v Miláně]

Flash Catalyst je produkt, který slouží pro přípravu layoutu (view) ze strany grafika pro prográmatora. Żamezí se tak tomu, že grafik měl trochu jinší představu než jak to ve výsledku udělal programátor.

Úvodní stránka vám umožňuje vytvořit nový prázdný projekt, do kterého si grafiku postupně nasazíte sami, nebo import z Creative Suite produktů - Photoshopu, Illustrator, Fireworks či výměnného layout formátu FXG.

Jakýkoliv prvek (vrstvu či objekt z illustratoru) jednoduše převedete na interaktivní prvek typu tlačítko, scrollbar, textové pole apod. Všechny vrstvy můžete procházet v panelu vrstev. Převod je tak pro grafika zvyklého např. na Photoshop velmi plynulý, nemusí si vícemeně zvykat na nic nového. Flash Catalyst používá časovou osu (timeline) a stavy (states). Pro přechod mezi stavy můžete použít předpřipravené efekty, či změnit parametry prvku a docílit např. 3D animace.

Ve chvíli, kdy převedete prvek na komponentu např. tlačítko, můžete se přepínat mezi stavy (Up, Over, Down, Disabled) a každý stav přizpůsobit vašemu gustu. Vedle toho lze nastavit i další parametry komponenty.

Vedle toho je k dispozici i výsledné MXML (XML kód layoutu), které Flash Catalyst vygeneruje, grafik se tak postupem času může naučit upravovat i tento jednoduchý zápis a zpřesnit tak své nároky. Jinými slovy má plnou kontrolu nad prototypem, který posléze předá programátorovi a ten jej propojí s datovou vrstvou a přidá další fičury.

Tento kód se dále předá do Flex Builderu 4 s názvem Gumbo. Adobe klade v poslední době velký důraz na úzkou integraci mezi produkty a co nejjednoduší propojení.

Alchemy - C a C++ bežící ve Flash Playeru

December 2nd, 2008

Pokud jste doposud žili v představě, že Flash (SWF) můžete vytvořit pouze zkompilováním ActionScriptu, přišli jste o nejnovější pecku poslední doby. Na MAX v San Franciscu byl uveden výzkumný projekt Adobe zvaný Alchemy a to že se jedná o opravdovou alchymii přesvědčili publikum zkompilováním Céčkových zdrojáků Dooma do SWF a následným spuštěním ve Flash Playeru.

Sami si můžete flashového dooma zkusit zde: http://www.newgrounds.com/portal/view/470460 - klikněte na Play This Game.

Alchemy je projekt, který slouží vývojařům jednak k znovuvyužití Céčkových knihoven či milionů zdrojových kódů, které je zbytečné přepisovat do ActionScriptu, ale také k rozšíření Flash Playeru o nové možnosti různých kodeků, rychlejší práci s videem, audiem a grafikou apod. Myslím, že v tuto chvíli je všem jasné jak hluboce se dá až jít. 

Nicméně, aby Alchemy nenarušilo stávající bezpečnost Flash Playeru, beží stejně jako ActionScript kód v Sandboxu, čímž pádem nemůžete přistupovat např. k USB či jiným proprietám. 

Zkompilováním můžete vytvořit buď hotové SWF či knihovnu SWC, kterou použijete třeba v kombinaci s ActionScriptem.

Alchemy team doporučuje využití tam, kde dříve zkompilovaný ActionScript nedosahoval dostatečného výkonu a to co dříve bylo takřka nemožné naprogramovat a reálně používat se snad díky Alchemy umožní.

Kdo ví. Třeba se dočkáme Papervision3D v Alchemy s mnohem větším renderovacím výkonem či podpory dalších kodeků.

Branden Hall hovoří o portování Ogg Vorbis: http://labs.adobe.com/technologies/alchemy/videos/brandenhall/

Já osobnÄ› povaĹľuji Alchemy za vĂ˝raznĂ˝ krok v celĂ© Flash Platform a otevĹ™enĂ­ dalších “nekoneÄŤnĂ˝ch” dveří, kterĂ© zasádnÄ› podtrhujĂ­ sĂ­lu celĂ© platformy.

P2P ve Flash Playeru 10 uĹľ nynĂ­ a CoCoMo

December 1st, 2008

Spousta z vás jistě zaregistrovala podporu P2P ve Flash Playeru 10. Jedná se o zajímavou funkci, ale nikde není zdokumentovaná, informace k ní pouze mlhavé a jak to tedy vůbec je?

Rád bych tak navázal na květnový sneak peek článek Patrika Zandla: Adobe Flash ve verzi 10 přináší podporu P2P a doplnil některé části.

Flash Player 10 podporuje nový protokol RTMFP - Real Time Media Flow Protocol, který je postavený na bedrech UDP. Jedná se o ztrátový protokol, což výrazně snižuje latenci oproti předchozímu RTMP postaveném na TCP. RTMFP byl vyvinutý hlavně pro potřeby IP-telefonie - audio/video chatů, ale je vhodný i pro multiplayer hry. Výsledná aplikace zpravidla kombinuje výhody RTMFP a RTMP.

V současné době rozlišujeme 3 druhy P2P:

1) end-to-end user - přímé propojení peerů

2) swarming (rojení) - typickým případem je bitTorrent

3) multicast - propagace zpravidla streamu do sítě a následný odběr peery, výrazně snižuje datové nároky na přenos, protože se stream šíří pouze jednou. Využití: IPTV, broadcasting

Flash Player 10 podporuje z bezpečnostních důvodů pouze end-to-end P2P a nebude možné vytvářet aplikace pro masivní sdílení souborů či televize (Bittorrent či Joost nepostavíte na Flashi). 

Co je výhodou UDP:

1) Rychlá obnova spojení

 - Spojení je po výpadku hned obnoveno

 - I přesto, že má síť packetloss, latence zůstává co nejmenší

2) IP Mobilita

 - v případě, že změníte IP adresu - náhlé přepnutí Wifi síťě apod. - spojení se plynule naváže na novou IP adresu - není nutný žádný reconnect.

FAQ: Kdy a jak budeme moci vytvářet P2P aplikace ve Flashi?

Právě byla uvedena nová verze Flash Media Serveru 3.5, která přináší dynamický streaming, což ve své podstatě znamená, že máte video na serveru uložené ve více kvalitách a server vám naservíruje to, které nejvíce vyhovuje šířce pásma vašeho připojení. K tomu, aby to poznal slouží obslužný inteligence serveru. Kvalit jednoho videa můžete mít uloženo kolik chcete a týká se to i live streamu. V případě nedostatku pásma přepne server na stream s menším bandwidth a naopak. Přechod je takřka plynulý a automatický.

Nicméně podporu P2P přinese až budoucí verze Flash Media Serveru, kterého se snad dočkáme v roce 2009. Jako nejvetší výhodu považuji, že díky P2P výrazně odlehčíte serveru a zůstane tak volné pásmo a výkon serveru na důležitější věci.

Princip je jednoduchĂ˝:

PĹ™.:
Když jste dříve programovali VideoChat, tak veškerá komunikace mezi klienty probíhala přes server, čili i posílání streamů.

FMS 3.5 a menší - RTMP

FMS 3.5 a menší - RTMP

V případě RTMFP se pouze zaregistruje fingerprint na serveru a každý nový klient, který se připojí dostane jednak svůj fingerprint, ale i fingerprinty ostatních účastníků. To mu umožní získat pointery na ostatní peery a pak už pouze inicializuje přímou konexi.

FMS 3.6 - P2P using RTMFP

BudoucĂ­ verze FMS - P2P using RTMFP

Vytvářejte P2P aplikace již nyní

Zprvu se může zdát, že v tuto chvíli neexistuje žádná možnost jak tyto aplikace vytvářet. K dispozici není žadný server podporující RTMFP a tím pádem není ani kde začít.
Protože připravovaná verze FMS ještě není k dispozici, uvolnilo Adobe před nedávnem vývojářům službu zvanou Adobe Stratus. Díky Stratusu tak může už každý v tuto chvíli začít vyvíjet P2P aplikace. Stratus je bezplatná hostovaná služba Adobe a slouží k propojení peerů.
Sám jsem si se Stratusem v poslední době hrál a pokusím se v budoucnu přinést tutorial.

Veřejné demo Stratus služby (otevřete si na více PC a videotelefonujte). Sám sem zvědavý kdo první vytvoří Flash/AIR ala Skype aplikaci. Vyzkoušejte zde: http://labs.adobe.com/technologies/stratus/samples/

P2P Stratus demo

P2P Stratus demo

Pokud chcete začít již teď, potřebujete získat Developer Key od Adobe.

VĂ­ce o sluĹľbe zde: http://labs.adobe.com/wiki/index.php/Stratus

CoCoMo - Vytvářejte Real-time Social aplikace bez použití Flash Media Serveru

Common Collaboration Model (CoCoMo) je nová bezplatná služba hostovaná Adobe určená pro vývojáře realtime social aplikací jako je Videochat, VoIP, realtime sdílení souborů apod. Základ hostingu tvoří robusní CDN veřejné služby Acrobat.com, která nabízí ConnectNow (free online videochat pro spolupráci a sdílení plochy), Share (pro sdílení souborů), Buzzword (Word processor v prohlížeči nebo jako AIR aplikace), Create PDF (pro jednoduché vytvoření PDF z dokumentu Word Doc, Excel, PowerPoint) a My Files (úschovna vašich souborů).

V tuto chvíli se služba nachazí ve stádiu Public-beta. Pro začátek je potřeba získat účet a SDK na webu https://cocomo.acrobat.com/. Následně si knihovnu naimportujete do Flex Builderu a můžete začít. V podstatě se jedná o sadu komponent a tříd, které ve svém softwaru použijete libovolným způsobem a s vaší grafikou.

Více zde: http://labs.adobe.com/technologies/cocomo/

Pokud by někomu z vás vrtala hlavou strategie Adobe - proč CoCoMo, když FMS apod. - doporučuju článek:http://blogs.adobe.com/collabmethods/2008/11/of_referees_and_wrenches_cocom.html

V budoucnu určitě přinesu i tutoriály týkající se CoCoMo - to byl taky jeden z důvodů proč jsem přesunul svůj blog na doménu FlashRealtime.com, což je téma, kterému se dlouhodobě věnuji.