23 February 2010

Why the Nokia OTA isn't a great feature

I recently got a N97 at work.
I won't talk about how I was deceived by the S60 5th UI/UX (if it was mine, I'll be happy to change it for an Android or even an Iphone!) but about a feature I first thought was a great improvement : OTA firmware update

We know how much this feature is needed to solve the problem we, FLite developers, had with the buggy N95 and 5800XM.
"No problem, just update your firmware and it will rock"

Sure. But it isn't that simple, it's even IMPOSSIBLE for some people...like me :(

Currently, the N97 firmware available in France is the 21.0.045 (from http://www.nokia.fr/support/logiciels/mise-a-jour-de-lappareil)
I have the 11.0.021 so I should be able to update it to fix some of the issues I had (what is this pityful sensitivity ?! what is this pityful UX ?!)

Unforunatly, I tried OTA and the Nokia Updater without success
Oh, sorry, actually it updated something : all the games I moved on the "Games" menu cames back to the "Applications" menu...GRRRRRRRR!!
So, in fine, it didn't update. Why ? it seems it's because my phone is locked to SFR (Vodaphone) and the firmware too!
So unless SFR/Nokia released a SFR dedicated 21.xx firmware, I can't update...

I really hope I missing some point but, anyway, the real problem is : if I was unable to update my phone (for whatever the reason is), do you really think a 'common' user would get a better result ?
I doubt....and ever worst, he thinks he have the latest version !

So I have to admit I can't rely on the available firmware and tell 'update your phone to play my game' : I had to make my game works on ANY firmare version.

Some month ago, people talked about what is the better : FL update by firmware or by AMP. I'll really miss AMP !

Lesson learned.

Nokia API Bridge

Another thing I missed is the Nokia API bridge.

When I read the presentation of the technologie, 2 things came on my mind :
Capuchin and KuneriLite

KuneriLite adds functionnality throught plugins
Capuchin "enables developers to bridge the Java™ ME and Adobe® Flash Lite™"
Nokia API bridge "provides a plug-in mechanism that can be used to make features of Symbian and third-party native Symbian applications available to Java applications, web apps, and Adobe Flash Lite content"

You can't create your own plugin on KuneriLite
YOu can extend Capuchin throught the Service API
You can extend Nokia API bridge throught a Plugin API

KuneriLite supports any S60 phones (?)
Capuchin supports Java Platform JP-8.4 SE phones
Nokia API supports any S60 FP1+ phones (ie FL2 phones)...even SE, Samsung..?


Flash 10.1 for mobile

MWC ended and Mark Doherty made today a resume of all the great announcements made by Adobe (or others) regarding Flash on mobile....but no Flash Lite 4 ?! is it dead ?!

To that, I'll also add 2 posts from James Wards
The first one show an OPTIMIZED version of Tour de Flex for mobile
It's important to notice the "OPTIMIZED" word.
I read all over the web several comments like "ok, Flash10 and AIR are on mobile and so what ? do you REALLY think my web app will be useable on a small screen ?"
I personnaly think Adobe isn't clear enought on this point, it's more like if they say "your app will work AS IS on mobile", which is true...but which UX ?!
For ex, if you look at the video of Michael Chaize and Thibault Imbert , you'll notice how Michael got some problems to click some buttons.
He replied with a very interesting point : "the click area must be at least 34pixels radius"
Hopefully, as Alessandro pointed out some days ago, Adobe released a lot of documents on Mobile tips on the DevNet...which I didn't read yet

The second post is about performance : the "WOW!" effect on mobile !

15 February 2010

AIR on Android

See you in 2012 ;)

14 February 2010

WillNa SIS packer v1.1

2 small fixes :
- support network access (need manual edit)
- use src_prefix and not app_name for resource file name

With AIR2.0, perhaps I'll be able to make a more user-friendly version soon...

05 February 2010

BUG : onUnload not called on Wii Flash Lite connection

Step to reproduce this bug

I got it playing with the Wii, so it should be tested elsewhere too...

this.pressedDelegate = Delegate.create(this, buttonPressed);
Wii.getRemote(0).addEventListener("buttondown", this.pressedDelegate);
private function buttonPressed(event:Object):Void {

at this time, onUnload isn't called...very annoying since I usualy clean my listeners here !

To be more precise:

A SWF calls a function of my SWF via LocalConnection
this function callbacks the listener added
the listener calls gotoAndPlay

so it's perhaps because it's in the LocalConnection chain or because of Delegate ?

04 February 2010

Wii Flash Lite - quick debug

A small tip to help you debug your Flash Lite app/game :

getURL("javascript:alert('debug this!')");

It will open the Opera's alert dialog with any text you want

Android is slowy but surely coming after the iPhone

It's not an opinon, it's the number which said that

Of course, it's the based on the number of connections but, he!, it's what's we're looking for : connected people !

I still don't understand why Motorola's Droid is such a success...
perhaps because people liked the Razor ? and so Motorola ?

GetJar Number 2 behind Apple's AppStore

Like revealed in his today's interview, GetJar's Vice President Marketing thinks they'll hit 100 millions download per month soon.
Did I already say GetJar is THE place to release your apps/games ? ;)

He also talks about SE's Play Arena : free content are GetJar's !
I now understand why I got a lot of hits from SE mobile with Poulpytris.

Interesting, Spring (in USA) is also using GetJar since 2 weeks now.

I'm surprised with their recent contract with EA....
EA is a giant, if GetJar is full of EA's demos, it will be hard to find our place....
which is confirmed by "some of [EA] free trial games are in top 10 most downloaded apps"
Imagine GetJar full of Konami, Capcom, EA, Sega and others demos : they'll be no place for small games...
But, after the appstors, it's perhaps the beggining of a big move on the mobile market...It's also perhaps the reason why the price of games is on every company interview this month

03 February 2010

Wii Flash Lite - full screen size

While debugging my Poulpytris port (still in alpha stage), I found another strange thing.

Although screenResolutionX returns 640 and screenResolutionY returns 800, the fullscreen size is different.
Even worst,it could be different according user 'Toolbar Display' settings.

(toolbar option on a Wii...in french)

Here you have 3 choices
- Always display toolbar (default)
- Auto-Hide toolbar (show toolbar on rollover toolbar zone)
- Button toggle (show toolbar on demand with button1)

Using window.innerHeight & window.innerWidth, I found the final fullscreen value
- Always display toolbar = 800x508
- Auto-Hide toolbar = 800x608
- Button toggle = 800x608

So basically, to handle the 3 modes, you have to follow these steps
- create a 800x608 FLA
- design your UI with nothing 'important' on the last 100 pixels
- remove any margin with
<body style="top:0px;left:0px;margin:0px;">
- place on the first image the magic
- using wiicade, on initializeWiiCadeAPI, replace the Flash detection (assuming you have one and only SWF on screen) with
var tags = document.getElementsByTagName("object");
var objectFlash = tags[0];
objectFlash.height = window.innerHeight;

The Flash is so resized to 508 when needed.
Why not used a 800x608 on all cases ? to avoid the scrolling with B button on the first case!

Unfortunatly there is one 'feature' we can't handle on every settings : the scrolling.
I don't know why but, in this last version, Opera added a very annoying feature, activated by default: horizontal margins

I really don't understand the meaning of this, perhaps for some kind of TV screen, but anyway, with this option, Opera keeps a 10 (20?) pixels margin before and after the HTML document.

This extra zone is inactive, input isn't handled there.
So very annoying and, I repeat, ACTIVATED BY DEFAULT.
Plus, you can't detect it, to show an alert or similar.
Since you can't intercept B button, you can't desactive scroll and you stuck with this, unless the player desactivated the option...which means almost never!

If someone find a hack for this (or a way to detect the option), I'm very interested in!

Oh, I also found a bug on Opera :
if you select Auto Hide toolbar, it automatically zooms to 120%
also annoying since I hook the zoom button : no way to zoom back to 100%