Archive for September, 2008

Flash on the beach mobile

Published by Ronny on September 29th, 2008 in Projects, download. 2 comments

Velen hebben mij de laatste weken hard bezig gezien op Twitter over mijn avonturen met Flash Lite. Dat was niet zozeer op experimentele basis zoals ik beweerde… Ik was in het geniep bezig aan een project dat ik in opdracht van MobileMinds mocht maken.

Een paar weken geleden contacteerde Dimitri van MobileMinds me, en vroeg me hoe ik het zag zitten om een Flash Lite applicatie te maken in opdracht van MobileMinds. Ik had al enkele keren met Flash Lite gespeeld, maar het wou precies nog niet helemaal lukken.

Toen Dimitri me het project beschreef klonk het allemaal wat ingewikkeld en zwaar. Ik wou hem een moment lang vertellen dat ik het niet wou doen. De deadline zat te dichtbij, en de toepassing op zich was van een niveau dat ik ongetwijfeld niet ging kunnen halen.
Dimitri leek verzekerd dat ik mezelf onderschatte, en kon mij overtuigen om er toch aan te beginnen…

Na 1 week hard werken, meer dan 1300 regels Actionscript 2, meer dan 70 bugfixes en een heel spannend leerproces presenteer ik met volle trots…


Je kunt de applicatie hier downloaden. Read the rest of this entry »

10 typografische clips

Published by Ronny on September 28th, 2008 in Check this. No comments

Davy heeft zonet een erg leuke blogpost rond typografie gepost!
Zeker de moeite om te checken!

Mijn persoonlijke voorkeur gaat naar de “8 rules of Fight Club“. Het typografisch hoogstandje gebaseerd op Pulp Fiction is ondertussen waarschijnlijk legendarisch. De absolute top is natuurlijk nog altijd “Typography from Vancouver Film School“.

Online errors en de manier van handelen

Published by Ronny on September 27th, 2008 in General. 4 comments

Ik ging daarnet even een overschrijving uitvoeren op de Fortis site. Tegenwoordig is online banking geen stunt meer. De routine volgt: ik ga naar de website, klik naar de pagina om me in te loggen, steek mijn bankkaart in het Vasco apparaatje dat mij even later wat nummertjes geeft die ik moet intypen. Niets vreemd dus.

Eens ik op ‘Log in’ klik krijg ik weliswaar een fout…

Excuseer? Ik moest het echt bijna 3 keer lezen, alvorens ik vaststelde dat ik moest ‘bellen’ naar hun technische dienst om hun te vertellen dat er iets fout was. Het feit dat ik de foutcode van het scherm moet aflezen, en moet doorgeven aan de telefoon maakt het wel helemaal bont.

Waarom bellen? En dan nog wel niet op een 0800 nummer…
Gewoon submitten naar de interne bug-database zou te makkelijk zijn, neem ik aan. De website staat er toch gewoon? Waarom niet gewoon ergens een errorlog maken, en doormailen naar de technische dienst? De website is verbonden met het internet, dus waarom niet deze foutcode zelf ergens opslaan, en zelf de dienst op de hoogte brengen? Online bankieren is tenslotte bedoeld om jezelf tijd te besparen. Niet om straks een half uur aan de telefoon te gaan hangen, en hen te vertellen welke foutcode op mijn scherm staat. Dat had het systeem zelf ook wel kunnen doen.

Ik versta compleet niet wat de logica achter deze techniek is.
Je zou kunnen denken dat het ten voordele van de veiligheid is, maar dan versta’k de link al helemaal niet meer…

Tegenwoordig zijn er al toepassingen die hun eigen fouten kunnen verbeteren, zonder de gebruiker daarvan iets ziet of weet. Dit is compleet het tegenovergestelde. Wat gaan we volgend jaar krijgen? ‘Stuur een aangetekende brief naar instantie xyz‘?

Voor alle duidelijkheid: ik heb niet gebeld. Ik zal straks wel gewoon naar de bank gaan, en daar mijn overschrijving uitvoeren.

Adobe Usergroup meeting en CS4 impressies revisited

Published by Ronny on September 24th, 2008 in Community, General. 2 comments

Zoals vele anderen, ben ik gisteren naar de Adobe usergroup meeting in Gent geweest. Het was een speciale avond, want gisteren werden voor het eerste echte CS4 versies vertoont.

Deze keer was het op een nieuwe locatie. Het zag er echt leuk uit. Leuke inkomhal, mooie trap (ja, hoor: It matters), goed verlicht. Alleen de presentatie zaal leek me op het eerste gezicht een grap te zijn. Het was een lange zaal, maar niet erg breed (wat een beetje vreemd leek op het eerste gezicht).

Men was erg to the point, en dat vanaf het begin: De Adobe sprekers begonnen bijna meteen met CS4 demo’s allerhande te tonen. Premiere, After Effects, Photoshop, Illustrator, Fireworks, InDesign, Dreamweaver en Flash (dat zijn de enige die ik me nog kan herinneren).

Zelf ben ik best wel goed te spreken over de nieuwe features van Flash CS4 (basic 3D, advanced tween tool, live video previews) en Dreamweaver CS4 (SVN, Javascript auto completion, Javascript interpreter in de IDE) en CS4 in het algemeen (application frames). De voorstelling zelf vond ik wat minder geslaagd.
Men had voor het eerst gekozen om alle demo’s met de producten rond een filmproject te maken. Dat hield in dat men Flash Lite sites voor die site demonstreerde, trailers maakte, en websites bouwde allemaal rond die (onbestaande) film. Ik vond de uiteenlopende demo’s die telkens op zich ‘een project apart’ waren net iets fleuriger (neem dit maar letterlijk op. De film in kwestie leek namelijk op een typische ‘90 detective film, in duistere wijken van New York. Veel kleur was er niet te bespeuren.)

Daarna was het tijd voor een glas champagne (waarvoor dank, Boulevart) en een kingsize CS4-cake (die prachtige chocolade vlekken op de grond maakte). Een goed moment dus om even een babbel te slaan met de eerste beste ongekende, gekende en bekende.

Toen we weer in de (smalle) presentatieruimte zaten was het tijd voor Aral Balkan. Het is niet de eerste keer dat ik Aral on-stage zie, dus ik weet wel dat ik een humor geladen inspirerende sessie kan verwachten. En ook deze keer ontgoochelde hij niemand. Beter zelfs: deze sessie was echt een presentatie om U tegen te zeggen. Het was in feite al jammer dat niemand dit op video heeft vastgelegd, want het was echt plezier om naar hem te luisteren.

Achteraf was het tijd voor wat eten. Gezien ik honger had, mocht dat ook wel. En het wachten was het waard: Het was echt VERDOMD lekker. Ik ben altijd onder de indruk als eten (dat voor zo’n massa mensen tegelijk wordt klaargemaakt) niet naar plastiek of karton smaakt. Het was echt restaurant kwaliteit (waar menig restaurant een voorbeeld kan aan nemen).

De usergroup managers hebben deze keer toch echt wel indruk op me gemaakt. Strak werk jongens want dit smaakt naar meer ;) .

Flash Lite en basic HTTP auth

Published by Ronny on September 21st, 2008 in Actionscript, Flash, Tutorial. No comments

Ik ben de laatste dagen erg druk bezig geweest met een (erg cool) Flash Lite project (waar ik binnenkort eindelijk over zal schrijven). Hoewel deze post over mijn ervaring in Flash Lite gaat is het in Actionscript 2 voor Flash Player ook van toepassing. Voor Actionscript 3 zal de werkwijze vrijwel analoog zijn.

Tijdens het ontwikkelen van de applicatie ben ik op het probleem gestoten dat ik data moest inladen die gebruikersspecifiek waren. Daarenboven zat er ook gevoelige data bij, die dus beveiligd moest verstuurd worden.

Mijn collega (die de server-side van het project ontwikkelt) stelde een aantal mogelijkheden voor waaronder basic HTTP authentication. Dit leek me een goede manier om het te proberen. Jammer genoeg bleven mijn zoektochten op Google naar duidelijke uitleg onbeantwoord. Door het samenrapen van een 3 tutorials en bronbestanden had ik het eindelijk door.

In feite is basic HTTP auth in Flash (Lite) echt doodsimpel. (Ik versta niet waarom iedereen daar altijd zo’n rond-de-pot-gedraai aan toevoegd.)

To the point: Stel ik wil XML inladen (mbv Actionscript 2). Dat doen we over het algemeen zo:

var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = xmlComplete;
xml.load('http://example.com/somepage.php');

function xmlComplete(success){
	if(success){
		//logica komt hier
	}
}

Heel basic, zonder authentication. Niets nieuws, dus. Maar wat als somepage.php je om een gebruikersnaam en wachtwoord vraagt?

Voorbeeld van een Basic HTTP authentication venster

Dit kan blijkbaar heel makkelijk opgelost worden, door gebruik te maken van de addRequestHeaders method (die zowel voor de XML class, de webservice class, alsook voor LoadVars class beschikbaar is), en de Base64 class (download hier).

Je code ziet er dan als volgt uit.

var auth:String = Base64.Encode("myUsername:myPassword");
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = xmlComplete;
xml.addRequestHeader("Authorization","Basic "+auth);
xml.sendAndLoad('http://example.com/somepage.php',xml);

function xmlComplete(success) {
	if(success){
		//logica komt hier
	}
}

Er zijn 2 grote verschillen. In dit voorbeeld gebruiken we de addRequestHeaders method om de gebruikernaam en het wachtwoord aan de requestHeaders van het XML object toe te voegen. Deze moeten wel eerst via Base64 geëncode worden alvorens dat de basic HTTP auth deze ontvangt. Daarnaast gebruiken we ook de sendAndLoad method zodat de headers meegestuurd worden naar de server.

Het is dus op zich erg simpel, maar je zou bijna niet geloven hoeveel tijd ik gespendeerd heb om tot deze conclusie te komen. Ik kan het nog altijd niet geloven als ik naar de simpelheid ervan kijk.
Hopelijk kan ik enkelen hiermee wat tijd besparen.