zaterdag 27 december 2008

Flex Gumbo


Flex Gumbo is de codenaam van Flex 4 waar Adobe op het moment aan het werken is.

Met deze nieuwe release is Adobe zich vooral aan het richten op de volgende punten:

  • Opzetten van een framework waardoor ontwerpers en programmeurs beter en langer samen kunnen werken tijdens een project.
  • Het verbeteren van de productiviteit met Flex door het verbeteren van de compiler performance en het toevoegen van nieuwe features die de productiviteit verhogen zoals data binding.
  • Gebruik maken van de nieuwe mogelijkheden van de flash player en deze toepassen op veel gebruikte use-cases.

Maar wat betekent dit allemaal precies? Veel zegt deze opsomming niet over opvolger van Flex 3, daarom zal ik deze punten een voor een behandelen.

Samenwerking tussen ontwerpers en programmeurs
Een van de problemen met Flex 3 is dat de programmeur de gehele applicatie opzet aan de hand van een grafisch ontwerp van een ontwerper. Met een dergelijke werkwijze is het bijna niet te voorkomen dat er verschillen ontstaan tussen het ontwerp en de daadwerkelijke implementatie. Dit doordat de programmeur het ontwerp anders interpreteert of bepaalde effecten en/of grafische componenten gewoon niet mogelijk zijn.

Om dit op te lossen heeft Adobe diverse verbeteringen doorgevoerd in skinning van applicaties en het toepassen van effecten. En tijdens toepassen van deze verbeteringen is rekening gehouden met de ontwerpers, en op en dergelijke manier zodat ontwerpers kunnen meehelpen tijdens de ontwikkeling van applicaties. Hiervoor is door Adobe Catalyst in het leven geroepen die het mogelijk maakt om in bijvoorbeeld Photoshop complete widgets en/of applicaties op te zetten. De mogelijkheden die dit biedt kun je het beste in deze demonstratie bekijken.

Dit alleen heeft ons erg enthousiast gemaakt over Flex 4 omdat er dan veel makkelijker en sneller prototypes opgezet kunnen worden zonder dat een ontwerp omgezet moet worden naar een prototype. Je ontwerp is dan dankzij Catalyst jouw prototype.

Verbeteren van productiviteit
Door adobe worden een flink aantal verbeteringen doorgevoerd zodat makkelijk en sneller ActionScript code opgezet kan worden voor Flex. Omdat dit een nogal lange lijst is pak ik een voorbeeld van de vele verbeteringen die men aan het doorvoeren is: data binding. Om precies te zijn two-way data binding.

In de huidige versie van Flex is two-way data binding mogelijk, maar vergt enkele extra regels mxml die snel kan oplopen naarmate de user interface complexer wordt. Dit doordat je voor elke two-way binding die aanmaakt een Binding tag met destination attribute moet toevoegen voor elke gui element waarbij je two-way binding wilt gebruiken.Bij Flex 4 kan dit teruggebracht worden door @{} te gebruiken voor data binding in plaats van de {} voor standaard databinding. Of door twoWay="true" toe te voegen aan je binding tag.

Gebruik maken van nieuwe functionaliteit van Flash
In de Flash player zijn er nieuwe mogelijkheden toegevoegd voor weergeven van afbeeldingen, tekenen van basis vormen en 3D effecten. Diverse hiervan zijn al voorbijgekomen in de Catalyst demonstratie en deze zijn een van de belangrijkste verbeteringen die Catalyst mogelijk heeft gemaakt.

Het toevoegen van bijvoorbeeld de basis vormen (driehoek, cirkel, etc) en de mogelijkheden om deze makkelijk te gebruiken binnen Flex maken weer vele nieuwe toepassingen mogelijk of makkelijker. Zelf ben ik zeer benieuwd naar de nieuwe interfaces die mensen hier gaan ontwikkelen en de nieuwe flex games die nu makkelijker visueel interessanter gemaakt kunnen worden.

Al deze vernieuwingen voor Flex 4 heeft er voor gezorgd dat wij erg vooruitkijken naar deze nieuwe release. Door de nieuwe mogelijkheden die het biedt, de verbeteringen in samenwerking die het mogelijk maakt en vooral omdat wij er weer enkele zeer mooie applicaties mee kunnen bouwen.

zondag 21 december 2008

Raycasting in Javascript



Het was ongeveer een week geleden dat mijn gedachte tijdens het spelen van Fable 2 afdwaalde naar de computerspelletjes van lang vervlogen tijd. Spelletjes zoals Doom en Wolfenstein 3d zagen er in hun primitiviteit karakteristieker uit dan de gemiddelde shooter van het afgelopen jaar. Toch was het technisch gezien ongelooflijk simpel om het 3d effect uit Wolfenstein te creëren. Zo eenvoudig dat ik het in een middagje na heb gemaakt in Javascript.

De techniek die Wolfenstein gebruikte om een 3d omgeving te renderen heet “Raycasting”. Vanuit het punt van de speler (de camera) ga je een lijn trekken en kijk je hoever je die lijn door kunt trekken totdat je een muur (of iets anders) tegenkomt. De afstand tussen de speler en deze muur gebruik je om te bepalen hoe hoog dat stukje muur moet zijn. Kleine afstanden zorgen voor een hoge muur en grote afstanden voor een kleine muur (objecten lijken immers kleiner naarmate ze verder weg staan). Dit doe je vervolgens voor het hele blikveld van de speler en het effect is klaar. Het resultaat van het raycasting in javascript experimentje mag er zijn, ondanks dat het in veel browsers behoorlijk traag kan zijn (tip: bekijk hem in Google Chrome vanwege zijn ongelooflijk snelle javascript engine).

vrijdag 19 december 2008

Piece of Cake


Er is vandaag wederom een heerlijke taart bezorgd op het ISAAC kantoor. Ik zou er graag meer over vertellen, maar ik moet zo snel mogelijk een stukje proberen te bemachtigen, voordat hij op is.

Sssssttttttt

Bij ISAAC werd begin November door een aantal mensen begonnen aan een zogenaamde ‘secret mission’. Secret omdat het geheim moest zijn en mission omdat dat ook zo moest blijven. Maar, ondanks de vele afleidingsmanoeuvres, en..,zoals te verwachten, werkt een secret mission als een hoop stront op vliegen en weldra wist, op een enkeling na, heel ISAAC ervan.

Dat is het leuke aan een geheim, je hebt mensen die ervan weten en mensen die het niet weten. Aangezien mensen zich buiten gesloten voelen als iedereen het geheim lijkt te kennen, behalve jij, probeer je erachter te komen wat het geheim is. Want je wil je niet buitengesloten voelen. En wij, medewerkers van ISAAC, zouden geen medewerkers van ISAAC zijn als we niet met steeds meer mensen het geheim deelden, puur om hun leed te verzachten.

Om de spanning voor de onwetenden vast te houden deden we maar net alsof onze neus bloedde en zijn we gewoon verder gegaan alsof het nog steeds secret was, waarbij we steeds snel ons scherm wisselden als er iemand langsliep en fluisterend en sssttt sissend geïnteresseerden of bemoeials te woord hadden gestaan.


Om een tipje van de sluier op te lichten kan ik zeggen dat onze collega’s, het afgelopen jaar en de toekomstige feestdagen het uitgangspunt waren voor onze missie. En omdat we na een klein onderzoek kunnen concluderen dat we over het algemeen trots zijn op wat we maken, we bergen hebben verzet en soms zelfs het onmogelijke mogelijk hebben gemaakt, ontkwamen we er niet aan te concluderen dat er bij ISAAC stuk voor stuk helden werken.

Superhelden wel te verstaan. Experts in bepaalde technieken. Helden met digitale superkrachten, compleet met symbool op de borst. Van applicatie architect tot directie assistent.
Nu bent ook u op de hoogte van de secret mission, die inmiddels al lang niet meer zo secret is, aangezien mogelijk u onze digitale kerstkaart heeft ontvangen. Fijne feestdagen!

vrijdag 12 december 2008

Devoxx: De Afsluiting


Helaas, het jaarlijkse Java feestje in België is weer afgelopen. Op deze laatste dag zijn Tracey, Bart, Sjoerd en ikzelf afgereisd naar het Metropolis complex in Antwerpen. De laatste dag duurt maar tot half één, dus vandaag geen gezeur over de vieze lunch.
Bij de eerste presentatie hoopte we meer te leren over de web services van Amazon, maar dit was helaas meer een reclamepraatje voor Amazon’s Cloud Computing dienst. Hierna werden we echter getrakteerd op een zeer interessante presentatie van een Sun “Evangalist” die liet zien hoe je voor weinig geld een Multi-touch scherm kunt maken, met behulp van een projector, een webcam en een perspex plaat met infrarood leds. Er werd duidelijk uitgelegd hoe je zelf zo’n scherm kunt maken en waar je zoal op moet letten. Tijdens de derde en laatste presentatie probeerde de Duitse Adam Bien ons te overtuigen dat EJB 3.1 een krachtige ontwikkelomgeving kan zijn. In ons geval natuurlijk een beetje overbodig, maar desondanks een interessante presentatie.
Nu is het weer een jaar wachten op Devoxx ’09, maar iedereen heeft weer genoeg inspiratie om die tijd te overbruggen.

REBLOG: Twee miljoen Nederlanders op mobiel internet

Twee miljoen Nederlanders maken regelmatig gebruik van mobiel internet. Driekwart surft en mailt via een flat fee abonnement (onbeperkt surfen voor een vast bedrag). Bovendien blijkt het aantal mobieltjes met een GPS-antenne afgelopen jaar te zijn gegroeid met een factor zeven. Dat blijkt uit een onderzoek van het platform Open Mobiel Internet (OMI). Daarin zijn de grootste Nederlandse partijen in telecom- en uitgeefland verenigd.

Uit cijfers die eerder deze week aan de Media Werkgroep werden gepresenteerd, blijkt dat het aantal mobiele surfers in een half jaar met 25 procent groeide. De teller ging van 1,6 miljoen Nederlanders in juni naar nu 2 miljoen. De grootste gebruikersgroep bevindt zich tussen de leeftijden 18 en 35 jaar.

Er circuleren inmiddels 6 miljoen mobiele telefoons die overweg kunnen met een draadloze connectie. De verdeling: 2 miljoen UMTS- en 4 miljoen GPRS-toestellen. Er zijn 1,45 miljoen flat fee-abonnementen verkocht.

Bovendien blijkt uit dezelfde OMI-cijfers dat 14 procent van de telefoons een GPS-antenne heeft. Een jaar geleden was dat nog 2 procent. Telefoons worden zich steeds vaker 'bewust' van hun geografische locatie.

OMI-voorzitter Paul Brackel: "Ontwikkelaars kunnen mobiele applicaties verrijken met geografische informatie". De telefoonsofware wordt omgevingsbewust.

Vooralsnog zijn er in Nederland geen operators die externe ontwikkelaars toegang geven tot hun locatieservers. Dat is de apparatuur die de geografische positie van bellers als het ware 'leest' en verstuurt in mobiel gebruikte software. Daarmee zou bijvoorbeeld kunnen worden aangegeven wiens vrienden uit een profielensite of chatdienst zich waar bevinden. Brackel: "Met GPS kan je niet de locatie-informatie van een andere beller opvragen. Dat kan enkel via het netwerk van de telecomaanbieders".

Gisteren verscheen een rapport van Forrester Research waarin onderzoeker Thomas Husson stelt dat de omzet uit mobiele handel in onder meer muziek, tv, video en spelletjes in 2013 5,4 miljard euro waard zal zijn. Die opkomende mobiele vermaakmarkt compenseert volgens hem de afname van omzet uit sms-verkeer. Die loopt tussen 2008 en 2013 terug van 21,5 miljard naar 19 miljard euro.

Bron: Emerce

donderdag 11 december 2008

Een woensdag op Devoxx...

Na een lange rit in een spaans raspaard kwamen JW, Bart, Friso en ik aan bij Devoxx. Er stond een hoop op het programma, waaronder front-end spul door Romain Guy en Chet Haase. Maar aangezien ik daar al wat over had gezien op maandag besloot ik naar andere presentaties te gaan (anderen zijn welkom om hier iets over te schrijven).

Een arrogant ogende applicatiearchitect van Sun vertelde tijdens de keynotes een verhaal over JavaFX, en dat zag er allemaal wel imposant uit. Vooral het feit dat je de code en het ontwerp apart kan ontwikkelen en dan kan combineren met JavaFX op een eenvoudige manier was wel gaaf. De keynote van IBM over hun persoonsregistratiesysteem (er zat een soort chip in de Devoxx pasjes) was iets minder, vooral omdat ze de tijd gebruikten om over hardware te praten en het systeem maar zo'n 75% accuraat was. Gelukkig werd alles afgewisseld door een Brute Belgische BeatBoxer, waardoor de saaiheid van IBM werd doorbroken.

In de middag ben ik naar 2 interessante presentaties gegaan. Eentje over Envers en eentje over Parallelle systemen / multi-core programmeren:

  • Envers is een Entiteit Versiebeheer systeem. het is bedoeld om van Entiteiten (zoals een klant of adres in een database) versies bij te houden. Heel de historie kan met behulp van envers worden bijgehouden, zonder je code belachelijk veel aan te passen. Sterker nog, je hoeft alleen maar 1 annotatie toe te voegen aan de Entiteiten die je wilt beheren. Heel je applicatie blijft gewoon werken zoals hij al deed, alleen wordt er op de achtergrond versiebeheer bijgehouden. Dit geeft een beetje overhead (Het opslaan/updaten duurt max. anderhalf keer zo lang) maar daarvoor heb je wel in één keer versiebeheer. Alles wordt netjes opgeslagen in extra tabellen die eenvoudig leesbaar en query-baar zijn. Ik denk dat we bij klanten als Loyalty Lab hier veel tijdwinst mee kunnen boeken.
  • Parallel programmeren op een eenvoudige manier... Tegenwoordig hebben veel pc's en servers meerdere cores, alleen wordt daar amper gebruik van gemaakt. In de nieuwe versie van Java is er een extra object genaamd ParallelArray. Dit array kun je gebruiken om grote lijsten m.b.v. divide-and-conquer taktieken te splitsen en delen van het probleem op verschillende cores te berekenen. In ParallelArray zitten eenvoudige methoden om dit voor elkaar te krijgen, zodat je toch een beetje gebruik kan maken van multiple cores bij grote (lijst-)berekeningen. Volgens de maker en spreker (Brian Goetz) is zo'n 85% van alle grote problemen zo parallel op te lossen.

De terugreis was overigens bijna even avontuurlijk als Devoxx zelf, en we zijn maar 3x verdwaald en zo'n 100 km omgereden... Het was dus een geslaagde dag!

dinsdag 9 december 2008

D(evoxx)-Day 2

Vandaag zijn weer diverse mensen van ISAAC naar Devoxx geweest voor het volgen van enkele leerzame presentaties.
Wij zijn onder andere aanwezig geweest bij "Flex Today and Tomorrow", "Seam in Action", "Creating performance test data with the benerator" en "JSF, Ajax, and Seam portlet development with the JBoss Portlet Bridge".

Vooral de "Flex Today and Tomorrow" en "Creating performance test data with the benerator" waren voor ons zeer geslaagde presentaties. Bij Flex kreten van vreugde over de nieuwe mogelijkheden van Gumbo (Flex 4). En bij de benerator presentatie verbazing over de mogelijkheden tot het genereren van test data voor onze applicaties.

Jammer genoeg was de lunch voor ons tijdens Devoxx niet zo geslaagd (de salade viel niet in goede aarde bij ons), en na enig zoeken vonden wij een tentje waar wel eten naar onze smaak aanwezig was. Vooral onze ISAAC carnivoor was zeer tevreden met de ontdekking.


Ook waren enkele fanboy activiteiten ons niet vreemd bij het zien van Chet Haase en Romain Guy (het boek op de foto is Filthy Rich Clients).


Al met al was het weer een zeer geslaagde dag op Devoxx voor ISAAC.

maandag 8 december 2008

We made it!

Zo we zijn weer terug in t land, met een filmpje! Dat de belgische snelwegen minder zijn wisten we al, maar gelukkig heeft Edwins BMW slechst lichte zijschade...



PS Best wel koel die geintegreerde video upload van BLogger, als we nou hele goeie TOMIS, oeps, BOFS doen de komende tijd kunnen we parleys van de kroon steken!

PS2: Aangezien de thumbnail eigenlijk de hele grap van t filmpje verraad, wilde ik natuurlijk de thumbnail aanpassen. Echter dit kan niet, volgens Google help. Een snelle zoekactie levert de info dat Youtube (en wellicht ook Google Video) als thumbnail het middelste frame van je video kiest, maar dit ga ik na een lange dag Devoxx natuurlijk niet uitproberen.

Hello world from Devoxx/Javapolis!

Jaja we zijn van start!

Heerlijk geeky hier op Devoxx, heerlijk om eens rustig wat nieuwe technieken gepresenteerd te krijgen.

De volgende sessies al achter de kiezen:

Valentijn en Edwin: JavaFX
Pieter: RESTful services
Xander: Scala in depth

To come Romain Guy (Android) en Chet Haase (Flex) (spelling ok?) Extra ingelast!

Verder servlets 3.0 en Java Power tools!

Salut.

donderdag 4 december 2008

Trace je kerstcadeaus met Twitter

De feestdagen staan weer voor de deur en snel zal de stad weer overladen worden door enthousiaste koopjesjagers. Helaas is parkeren rond deze tijd van het jaar een probleem, je kunt je bijna geen weg banen in de binnenstad en de rijen bij de kassa zijn zo lang dat je het liefst snel naar huis terug wilt rennen. Wat doe je ook in de stad met deze drukte? Online bestellen is een goed alternatief als je niet tegen die drukte kan, zeker als het ook nog gratis thuis wordt bezorgd.



Zou het niet geweldig zijn als ze je een "tweet" sturen over waar je bestelling zich bevindt?
Voor de online koopjesjagers is nu dus iets nieuws bedacht door "TrackThis". Hiermee ontvang je updates van de locatie van je pakketje via Twitter. Je krijgt tweets wanneer jouw pakketje verzonden is, bij een distributeur terecht is gekomen, de vrachtwagen op gaat en bij je aan de deur is geweest.

Persoonlijk vind ik dit een van de beste Twitter tools die ik tot nu toe gezien heb, en zoveel heb ik er eigenlijk nog niet gezien... Het is een knap staaltje denkwerk geweest.

maandag 1 december 2008

Flex CoCoMo (Flex nieuwe platform voor Even Richer Applications )




17 November 2008, Adobe brengt de bèta versie van CoCoMo uit. Het is een platform waarop je in Flex op een gemakkelijke wijze realtime socialnetwork componenten aan je applicaties toevoegt. Denk aan VOIP (Voice over IP), FileSharing, andere mensen bekijken via hun webcam, chatten en gedeelde whiteboards. Adobe host zelf het platform waardoor deployment, onderhoud en schaalbaarheid geen issues zijn, dit wordt voor je gedaan. Ook aan beveiliging is gedacht, door middel van een unieke gegenereerde key kunnen alleen mensen die de key hebben inloggen op jouw applicaties en er zijn rollen in te stellen voor gebruikers. Er zijn een aantal standaard componenten aanwezig waar je binnen 10 minuten mee aan de slag kunt, natuurlijk zijn al deze componenten uit te breiden naar eigen gebruik. Het principe is heel gemakkelijk, je kunt voor elke toepassing een zogeheten “Room” gebruiken waarin mensen kunnen inloggen en meedoen aan jouw applicatie. In deze “Room” kun je data uitwisselen met de anderen, wat voor data het ook is.
Het klinkt allemaal veelbelovend, laten we hopen dat ze die verwachting waar kunnen maken als het definitieve product uit komt.



Meer informatie:
http://labs.adobe.com/technologies/cocomo/
http://www.adobe.com/cfusion/webforums/forum/categories.cfm?forumid=72&catid=759&entercat=y
http://download.macromedia.com/pub/labs/cocomo/cocomo_developerguide.pdf


Voorbeeld:
http://blogs.adobe.com/collabmethods/2008/05/_another_cocomo_experiment_the.html

Registreer en download op:
https://cocomo.acrobat.com/