29 October 2009

New screensaver : Poulpyween

In 2 days, it's Halloween...so we made this free screensaver/wallpaper :




It's our first screensaver/wallpaper so we fall into some holes !

Apart the fscommand2(fullscreen) not supported on almost half of the phones (replaced by a Stage.scaleMode = "noBorder"), we needed to optimize it a lot because it was so slow on a S40.
Lesson learned : always use simulate performance on Device central!

We made some changes (use graphic not clip on still image and avoid alpha animated stuff) et voilĂ ...

28 October 2009

New game : Poulpytris

This year is the 25th anniversary of Tetris...I couldn't miss it !



So here comes Poulpytris, our tribute to this fabulous game!

Hope you'll like it...

12 October 2009

How to debug LoadVars call on phones - phones

Go to showip.com or show-ip.com or whatismyipaddress.com or http://www.find-ip-address.org/ or whatever ip lookup website to retrieve your IP

Go to RDA (or launch your phone and configure it in a similar way)
Choose a phone (here the Nokia N95 8GB)
Go into Tools > Settings > Connection > Access points


Select your access point (here I choose 'Rda')


Using left softkey menu, choose Advanced Settings


Enter your IP in Proxy server address and 80 in Proxy port number

Et voila, launch a webpage or your SWF, choose the correct access point (here 'Rda') and look to your access.log and error.log
On google, I have
194.137.80.96 - - [08/Oct/2009:23:51:18 +0200] "GET http://www.google.com/ HTTP/1.1" 302 218 "-" "Mozilla/50 (SymbianOS/9.2; U; Series60/3.1 NokiaN95_8GB/31.0.015; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413"
194.137.80.96 - - [08/Oct/2009:23:51:18 +0200] "GET http://www.google.fr/ HTTP/1.1" 200 948 "-" "Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95_8GB/31.0.015; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413"
you see a Nokia95 8GB asking for http://www.google.com/ and get redirected (code 302) without problem (code 200) to google.fr which is 948bytes

194.137.80.96 - - [12/Oct/2009:23:15:25 +0200] "GET http://www.wwf.mobi/ HTTP/1.1" 200 2936 "-" "Mozilla/5.0 (SymbianOS/9.3; Series60/3.2 NokiaE72-1/021.011; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Version/3.0 BrowserNG/7.1.14371"
Here, using a Nokia E72, I connected to WWF.mobi
Using Ctrl Panel > Connectivity > WLAN wizard > (Options)> Edit access point > (Options)> Advanced Settings
or
Ctrl Panel>Settings>Connection>Destinations>Internet>Rda> (Options)>Edit>(Options)> Advanced Settings

194.137.80.96 - - [12/Oct/2009:23:21:58 +0200] "GET http://ea.mobile.nokia.com/ea/ HTTP/1.1" 302 - "-" "Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE71-1/300.21.012; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413"
Using a Nokia E71, using Connectivity > WLAN wizard > (Options)> Edit access point > (Options)> Advanced Settings
or
Tools>Settings>Connection>Access points> Rda> (Options)>Edit>(Options)> Advanced Settings

The interesting part : you could find an error looking for 404 error like in
194.137.80.96 - - [08/Oct/2009:23:54:18 +0200] "GET http://www.find-ip-address.org/crossdomain.xml HTTP/1.1" 404 948 "-" "Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95_8GB/31.0.015; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413"

More info on HTTP Error codes

If the problem is on the POST/GET data itself, look into the error.log
To be honest, it's a real mess so you'll know what to do with it knowing what you're looking for only !

And remember to reset the proxy settings BEFORE the end of your reservation on RDA !
Note you could also duplicate an access point and add the proxy settings if you want to avoid killing pre-defined access points.

How to debug LoadVars call on phones - WampServer

NOTE : I'm not a web server administrator, I found this using Google and lot of test'n'try.If you know a better way to do this, tell us!

So, how to configure a Forward Proxy on your desktop ?
First you'll need a http server : Apache.
You can download a ready to use version like WampServer
Install it then edit the file httpd.conf to configure our proxy for our need

First the proxy itself
find and uncomment these 3 lines
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so

add/update these lines
<IfModule mod_proxy.c>
#enable forward proxy
ProxyRequests On
#enable any address to use the proxy
<Proxy *>
Allow from all
</Proxy>
</IfModule>


you limit the valid address using
Order deny,allow
Deny from all
Allow from
you could also use mask, domain name and UserAgent filter
To only allow Nokia phones, use 194.137.80.*
You could also define the allowed ip on the element (see below)

Second, optional, add the UserAgent in log
be sure you have
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
and uncomment
LoadModule logio_module modules/mod_logio.so
CustomLog "logs/access.log" combined
(note 'combined' reference to LogFormat xxxx 'combined' ... and adjust the path of the log to access.log)
comment
#CustomLog "c:/wamp/logs/access.log" common
to avoid mix of the 2 logs

Third, to log POST/GET data on the error.log (not on the acces.log)
uncomment
LoadModule dumpio_module modules/mod_dumpio.so
and add
<IfModule dumpio_module>
LogLevel debug
DumpIOInput On
DumpIOOutput On
</IfModule>

Then, put it online using, on <Directory "???/www">
Order Allow,Deny
Allow from all (or any specific IP/domain/mask like 194.137.80.*)
and not
Order Allow,Deny
Deny from all
Allow from 127.0.0.1

on WampServer, it will give you

How to debug LoadVars call on phones - intro

To debug RPC and others http calls on PC, I use the brilliant Charles Http Proxy Monitor shareware.
You can also use the free WireShark (also knows as Ethereal)
It helps you to find a bug or a wrong return in seconds, without altering Flash code using a lot of trace.
I was looking for a solution for mobile, mainly a Symbian port of WireShark but never found it .
I only found IPTrace for Symbian (with output compatible with WireShark) but no chance to test it.
Note you could easily use WireShark if your phone is using a WiFi connection (more on this later...)
Plus, if difficulty wasn't enought, I would like to be able to debug RPC on the phones available at Nokia's Remote Device Access service.

What is Charles ? A HTTP proxy. So I looked for something similar for Symbian.
I found some but I also found a lot of people got strange behaviors on Flash Lite with local/on the phone proxy.
So I finally looked for a way to make my own proxy on my own server which will be useful for any kind of remote debugging (mobile or PC, FlashLite or others...)
You could use something called phpproxy but I personnally didn't try...I found the idea to control the proxy right from my desktop a more powerfull solution.
Do to that, I need to

07 October 2009

BOOK : Professional Android Application Development



I was looking for a book to learn 'what can be done' with Android...without reading the SDK documentation.
This book is an introduction to Android development, with a lot of examples.
The author even talks about locked features, if Google ever reenable them.

So good book for an introduction but not for developement...for me the title (Professional Development) is wrong.
It's more for CTO than for developers.
It was a good surprise because it's exactly what I was looking for but I'll need another one if I ever want to develop something.

01 October 2009

S40 fullscreen bug also affects Playyoo games

Today, I was playing the best game on Playyoo : Bog Frog
After a Game Over, I tried to submit my score BUT I lost my full screen, as expected...
So it's really a bug, not something I did wrong on my own game...
Someone with a Nokia 5310XM to confirm this ?

Using Playyoo, I found a way to restore fullscreen
1/ you must go to a screen without LeftSoftKey definied (SetSoftKey, "", "xxx")
2/ press the Left soft key, which will open the default 'Options' menu of Flash
3/ select pause
4/ re-open Options menu with left soft key
5/ select play

About the White Screen Of Death, reboot your phone at first crash since it seems to corrupt memory: WSOD occurs anytimes after that, even on games which are sure to be fully working

Mobile Advertising Solution : Adfonic

Like I said some days ago, I'm currently looking for the best ads solution to use in VGTrailers, my Flash Lite developer challenge entry.

I contacted 6 companies and got 4 replies.
I already reviewed Smaato & Admob, here comes Adfonic

Adfonic is a new challenger (less than 6 months?) but I read the compagny is managed by former employees of a now defunct adverstising company, so they know what they are talking about!

If you didn't read my AdMob review, I suggest you to do it now because Adfonic is very similar to AdMob.
For our goal, the important thing to know is that you'll also need to use the 2 requests trick.
But, good news, they are open to any request to improve their API.
And I can personnaly confirm this point since, soon after I posted a request on their forum, they added urlencode format: no need to parse XML, just use a classic LoadVars!

Another good point : you can select which ads you want to see in your app/site.
And when I said select, I mean select EACH one, not select categories.

So what ? Well, between Adfonic (the little) and AdMob (the big), I really don't know :
AdMob has some interesting features
Adfonic is not a 'major company' yet
Adfonic supports LoadVars
AdMob lets you add your own ads
Adfonic lets you select your ads
...

I will use AdMob on a release and Adfonic on another one so I'll see which one is the best.

See you soon for my last review.

Mobile Advertising Networks analysis

MobiThinking got an interesting White Paper about the most important mobile advertising network.
the more interesting part is the real coverage of each one (some are mainly for US, some are for Asia...) to help you select the network according the target.