Konverter IP-adresse til landekode

Kategori: Diverse | Kommentarer (2)
Gemt: 2009-11-19 12:43


På grund af ekstremt store trafikmængder (6 terrabyte over de sidste 2 døgn), har vi netop lukket ned for udenlandske brugere på Hit the Bitch - det begyndte simpelthen at blive for dyrt, og kampagnen er trods alt målrettet mod Danmark.

Måden det er gjort på er ved at finde ud af hvor brugeren er fra ved at slå deres IP op i en database.
Det er egentlig nemt nok gjort, men det svære bestod i at finde en egnet og billig løsning blandt de mange resultater der kom på Google.

Tillad mig derfor at anbefale GeoIP fra Maxmind.

De har klasser og eksempler i stort set alle programmeringssprog, og så har de rent faktisk også en gratis version:
GeoLite Country

Begrænsningerne i gratis-versionen består primært i at man kun kan slå landet op, mens betalingsversionen rummer mulighed for dybere statistik, så som stat, region, men i vores tilfælde gjorde det ikke noget.


WebcamHelper - Nemmere adgang til webcam i ActionScript 3

Kategori: Tips og tricks | Kommentarer (0)
Gemt: 2009-11-17 10:46


I forbindelse med Hit the Bitch, som vi lancerede i sidste uge, var en af de ting der drillede mig, at få webcam-integrationen til at virke gnidningsløst.
Her tænker jeg ikke på selve motion-detection tingen, men den basale funktionalitet med at finde ud af om man har adgang til brugerens webcam og hvis ikke, så at spørge om den.

Og, hvad nu hvis brugeren har givet en adgang til webcammet, men senere fjerner muligheden igen, eller ikke giver tilladelsen fra start og efetrfølgende slår det til?

Der er en lang række if’er, som gjorde det enormt besværligt at bygge det smidigt ind i den kode som jeg havde i forvejen, så derfor blev resultatet en lille WebcamHelper-klasse.

Med denne klasse, så foregår adgang til webcammet på denne måde:

public function CamTest():void {
	webcamHelper = new WebcamHelper();
	webcamHelper.addEventListener(StatusEvent.STATUS, webcamAvailable);
	webcamHelper.getWebcam();
}

public function webcamAvailable(_e:StatusEvent):void {
	trace("isAvailable: " + webcamHelper.isAvailable);
	if (webcamHelper.isAvailable && myVideo == null) {
		myVideo = new Video(320, 240);
		myVideo.attachCamera(webcamHelper.camera);
		addChild(myVideo);
	}
}

Det der gør det lidt interessant er, at der kommer en StatusEvent fra klassen hver gang at adgangen til webcammet ændrer sig, hvilket gør det nemt at lave noget kode som tager højde for hvad der så skal ske (ikke en del af eksemplet).

Hvis du synes det lyder interessant, så kan klassen og eksemplet downloades her:
WebcamHelper.zip


Hit the Bitch - sæt kællingen på plads!

Kategori: Egne projekter | Kommentarer (9)
Gemt: 2009-11-11 10:01


Så har vi netop smidt vores seneste projekt, Hit the Bitch, i luften.

Det er et spil der kort fortalt går ud på at tæve en særdeles provokerende pige, alle ved jo, at det er den eneste måde de kan lære det på, right?
Ja, der gemmer sig naturligvis en pointe i spillet et sted, men den må du spille det for at finde ud af.

Udover at give hende lussinger med musen, så har vi også forsøgt os med lidt motion detection via webcam - giver en meget sjov oplevelse at svinge hånden foran cammet og se pigen blive ramt i spillet.

Der er brugt en masse alpha-video i spillet og det kommer der nok en lille artikel op om inden så længe, ligesom der også er en anmeldelse af Squeeze Pro 6 på vej.

Prøv det her, og husk nu at dele det med dine venner ;-)

Hit the Bitch


Hvilken vej skal Flash gå og er der nogen ting du synes Adobe kan gøre bedre?

Kategori: Diverse | Kommentarer (14)
Gemt: 2009-11-4 16:52


Jeg er blevet inviteret til en rundbordssamtale med Adobe og andre danske Flash-entutiaster, hvor der vil være en uformel snak om hvad vi hver især er glade og ikke så glade for, både med Flash og med Adobe i almindelighed.

I den forbindelse er jeg naturligvis igang med at lave lidt noter om hvor jeg selv synes det halter, men vil i den forbindelse også åbne op for at du kan komme med input.

Så, fyr løs - hvilke emner synes du der skal bringes på banen?

(NB: Jeg har med vilje ikke skrevet hvad der står på min emneliste, da jeg helst ikke vil “farve” kommentarerne)


Tags: ,

Burger King banner - augmented reality på den fede måde!

Kategori: Cool | Kommentarer (0)
Gemt: 2009-10-28 14:08


Der har efterhånden været et utal af eksempler på hvordan augmented reality kan bruges til at lave forskellige former for lir, men nu er der også dukket et brugbart eksempel op, nemlig et banner for Burger King.

I USA har de en menu med ting til $1, og banneret fungerer på den måde, at hvis man holder en $1-seddel op foran sit webcam, så viser det hvad man kan få for den.

Super simpel, lækker eksekveret ide, I like!

Se det her:
BK: Dollar menu - augmented reality banner

P.s: Det virker med alle firkantede objekter, ikke kun dollarsedler, så alle kan prøve det.


Lav iPhone applikationer direkte i Flash CS5!

Kategori: Nyheder | Kommentarer (5)
Gemt: 2009-10-6 9:49


Dagens store nyhed fra MAX må absolut være, at det i Flash CS5 bliver muligt at lave iPhone-applikationer.

Der er ikke tale om at iPhone kommer til at understørre Flash, men derimod at Flash CS5 kan publishe en rigtig iPhone applikation, som man efterfølgende kan få lagt ind i App Store.

Nu skal man selvfølgelig lige vente og se hvor godt det kommer til at fungere, men forudsat at det bliver rimelig gnidningsfrit og performance ikke lider for meget, så tror jeg at det bliver rigtig stort.

Hvis jeg kigger på vores kunder og de kampagner vi er involveret i, så er der i hvert fald et utal af steder hvor en iPhone applikation også ville være relevant - særligt hvis man kan bygge den hurtig og effekt i de værktøjer man er van til at bruge og kan genbruge artwork m.m.

Læs mere her:
Applications for iPhone

Update
Lige et par links til, der hver især har en anelse mere information:

Developing for the Apple iPhone using Flash

Building Applications for the iPhone with Flash

Adobe Flash CS5 to allow creation of native iPhone apps


Tags: , ,

PrintJob - Sådan printer du i ActionScript 3

Kategori: Diverse | Kommentarer (0)
Gemt: 2009-10-5 16:01


Da vi for nylig lavede Boxer Guide skulle der også være en mulighed for at printe ens resultat og tage det med ned til en forhandler, hvilket gav mig lejlighed til at bruge PrintJob-klassen i ActionScript 3.

Den er egentlig ganske nem og overskuelig når man kender den, men der var alligevel et par gotchas som kostede mig et par timer - som jeg forhåbentlig kan spare dig for.

Her først lidt simpel eksempel-kode:

var mc_til_print:MovieClip = new MovieClip();

var _options:PrintJobOptions = new PrintJobOptions(true);
var _print:PrintJob = new PrintJob();

if (_print.start()) {
	var _bwidth:Number = mc_til_print.width;
	var _bheight:Number = mc_til_print.height;
	var _scale:Number = _print.pageWidth / mc_til_print.width;
	mc_til_print.scaleX = _scale;
	mc_til_print.scaleY = _scale;
	var _rect:Rectangle = new Rectangle(mc_til_print.x,
						mc_til_print.y,
						_bwidth,
						_bheight);

	_print.addPage(mc_til_print, _rect, _options);
	_print.send();
} else {
	//Brugeren ville ikke printe
}

Når funktionen print.start() kaldes, så åbner den sædvanlige Windows eller Mac print-dialog hos brugeren, som så kan vælge hvilken printer der skal printes på, papirstørrelse etc.
Efter brugeren har foretaget sine valg og klikker på “Ok”, så eksekveres koden inde i if’en og på dette tidspunkt er der på print, vores instance af PrintJob-klassen, blevet sat en række værdier med resultaterne af de valg brugeren har foretaget.

Den absolut vigtigste i denne sammenhæng er papirstørrelsen, og den størrelse bruges her til at finde ud af hvor meget movieclippet skal skaleres for at fylde hele papiret ud.

Når den størrelse er sat, så sendes movieclippet til print som en ny side, inklusiv et Rectangle-objekt, der definerer printområdet, hvilket i dette tilfælde er hele movieclippet.

I eksempler her, er der kun en side at printe, men funktion addPage kan naturligvis kaldes lige så mange gange man har lyst til, inden man starter printet med print.send()

Håber det gav dig et bedre overblik over PrintJob end jeg havde da jeg skulle igang :-)


Tags: ,

Hurtigt tip: Autojustering af tekstfelt

Kategori: Tips og tricks | Kommentarer (0)
Gemt: 2009-09-25 9:25


Et super hurtigt tip som jeg lige har fået af min designer-kollega Janus:
Hvis man i Flash-editoren ønsker at autojustere et tekstfelt til at have præcis samme størrelse som teksten der står i det, så kan man i stedet for at trække i det, blot dobbelt-klikke på firkanten i hjørnet - og voila.


Tags:

Bug ved brug af Filters og MouseEvent.ROLL_OVER og OUT

Kategori: Diverse | Kommentarer (0)
Gemt: 2009-09-18 9:23


I forbindelse med udviklingen af Boxer Guide rendte jeg ind i et rigtigt belastende problem.

Jeg havde et movieclip med en MouseEvent.ROLL_OVER og MouseEvent.ROLL_OUT event på, helt simpelt, men nogen gange når man rullede musen henover så kom der både en ROLL_OVER, så en ROLL_OUT og endelig en ROLL_OVER igen - rigtig belastende når man bruger eventen til at starte noget animation.

Efter at have prøvet et utal af ting - det er som sagt helt simpelt, så derfor kunne jeg slet ikke forstå hvad der kunne drille - endte jeg med at fjerne de filtre der var på movieclippet, i dette tilfælde BlurFilter og DropShadow - og så forsvandt problemet som dug for solen.

Fandt efterfølgende også en bug der var submittet til Adobe på netop dette problem (har mistet linket til den, sorry) og da den første gang er rapporteret i slutningen af juli, så tror jeg art der er tale om en bug i en af de nyere versioner af Flash Player 10.

Mit eget hack for at løse det blev, dynamisk at tegne et nyt movieclip ovenpå det andet - uden filtre - som jeg så lytter på events på og efterfølgende starter animation på det nedenunder - super belastende, men det funker.

Håber at denne post kan spare en enkelt eller to for at få flere grå hår end højst nødvendigt.


Boxer Guide - Ingen er ens når det gælder tv

Kategori: Egne projekter | Kommentarer (0)
Gemt: 2009-09-15 13:29


Som de fleste ved, så forsvinder det gamle antennesignal d. 1. november, men hvad gør man så, hvis man er lidt usikker på alt det tekniske samt, ikke mindst, hvordan man nemmest og billigst får de kanaler man helst vil se?

En mulighed for hjælp er Boxer Guide, et værktøj til at lære Boxers udbud og de nye kanaler at kende, som vi lancerede for Boxer i fredags:
Boxer Guide - Ingen er ens når det gælder tv


Tags: