Windows Mobile Status
08.08.08 - 03:02pm
We continue to make significant progress towards Windows Mobile being a viable platform for Mobile Firefox. In the move from the 1.8 code base (Minimo) to the 1.9 code base (Fennec) we’re making substantial changes to how we run on Windows Mobile.
The first such major change is to reduce our shunt layer to the most minimal possible. This section of code (located in build/wince/shunt) is intended to fill in the gaps where Windows CE does not provide the same functionality as Windows NT. Some of this has been resolved by moving our target platform from Windows CE 4.2 (the basis for Pocket PC 2003 and Smartphone 2003) to Windows CE 5.0 (the basis for Windows Mobile 5 Pocket PC/Smartphone and Windows Mobile 6 Professional/Standard).
The second major reduction in the size and scope of the shunt can be attributed to removing narrow character Windows API calls from our code base. For a little background, most Windows APIs exist as two versions (wide and narrow). In this scheme “ExampleFunction” would actually be implemented as “ExampleFunctionA” which takes narrow char arguments and “ExampleFunctionW” which takes wide char arguments. At compile time “ExampleFunction” would be defined as one or the other based on whether or not the macro UNICODE was defined.
In the Mozilla code base, there are many instances where we would call “ExampleFunction” with narrow char arguments, necessitating UNICODE not be defined. Windows Mobile (and Windows XP/Vista) are wide char systems. On Windows XP and Vista, these narrow char API calls exist for backwards compatibility, but on Windows Mobile they do not. For Minimo, the shunt defined many of these narrow char function calls and redefined the ambiguous function (”ExampleFunction”) to the shunt’s version (”ExampleFunctionA”). For Fennec, we are finding the instances of these incorrect calls to the ambiguous functions and calling either the wide version (preferred) or the narrow version explicitly. This in turn has allowed us to reduce the size of the shunt considerably. It should also result in improved performance on both Windows Mobile and Windows XP/Vista due to the reduction in string conversions we perform.
With that work mostly complete, John Wolfe has been diligently working through some issues surrounding window management and file io. Currently, xulrunner can launch various xul apps without crashing.
Looking forward, there are some known issues on the horizon such as font shaping that much be fixed. We also need to turn an eye towards further optimizations. However, our progress to this point makes us quite optimistic about the future of Mozilla on Windows Mobile. If you have specific knowledge in fonting (especially experience with harfbuzz), an interest in tuning performance or just a general interest in making Windows Mobile go for Mozilla, please hop on the #mobile irc channel; we could use your help.
Finally, we would like to announce that Brian Crowder has bought a Windows Mobile phone. His frustration with Pocket Internet Explorer quickly lead to him expressing interest in helping out with Fennec; help which was gladly accepted. Brian brings with him a deep knowledge of Mozilla’s internals which I’m sure will prove to be invaluable in the quest to bring Windows Mobile to the mobile web rock party.

When will it be available to test…I would love to try it!
Awesome to hear. I’ve been using Minimo on my Palm Treo 750 for a while, and I’m stoked that you guys are moving forward with Fennec.
Any idea when a release (anything, even pre-alpha) might hit for Windows Mobile? In particular, for 6.1 Standard (non-touchscreen). Like Brian, PIE drives me crazy sometimes and while alternatives like Skyfire are sometimes an improvement, I’m sure Fennec would blow them out of the water.
Sweet! I was hoping for a final 0.4 release of Minimo as an interim until Mobile FF, but I can’t wait for the real thing!
Is there a complete package that can be compiled for Windows CE 5.0?
and a more important question: will it support flash? I mean not just simple flash content like ads, but like full youtube support?
Is there a tracking bug for the conversions to the Wide APIs?
One thing that PIE has over Opera Mobile (at least 9.5 Beta, my current browser of choice) is that PIE loads and shows my homepage in about 5 seconds, while launching Opera can take over half a minute. I don’t think my TyTN is too slow (400 MHz?), but the difference in launch time when I just want to do a quick web search is almost enough to make me change my default browser. If I could launch Fennec *quickly* it would be a big win.
Thanks for all you do, and **can’t wait** to use on Windows Mobile! As asked previously, any rough idea as to when it will be available (even in beta)?
So, that means there’re will be no support for Windows Mobile 2003?
@Idiotonuni: Hopefully we’ll have nightlies fairly soon, we’re working on merging an hg “branch” back into the main line trunk.
@Niraj and Mike: The current goal is to have Alpha 1 for windows mobile coincide with Alpha 2 for linux. So you should have something of alpha quality later this fall to play with.
@dexter: Unfortunately that is entirely up to Adobe. Not to preach (but I will) this is what’s wrong with relying on proprietary technologies on the web. However, if youtube is your concern, we will be supporting the video tag and hopefully youtube will be moving to it.
Could you address the question someone has regarding [http://support.mozilla.com/tiki-view_forum_thread.php?forumId=1&comments_parentId=139379|Mobile Firefox specification for Windows Mobile].
GREAT news. I can’t stand browsing the web on my Windows Mobile Smartphone because of how terrible mobile browsers are. This could be the greatest news since they began slicing bread!
Really good article. I have been following your blog for last 3 months. You have good knowledge
on Mobile(cell phone) Industry and happenings. Please continue the good work. Thank you.
Keep up the great work!
>>>>
@dexter: Unfortunately that is entirely up to Adobe. Not to preach (but I will) this is what’s wrong with relying on proprietary technologies on the web. However, if youtube is your concern, we will be supporting the video tag and hopefully youtube will be moving to it.
<<<<
Well, flash lite 3.1 has been leaked. Is firefox mobile going to support activex plugins? Because if so, flash will work.
mobile firefox would be good