Mozilla's project to get a WinRT/Metro version of Firefox is making very quick progress. A blog post states that they have a prototype running after only a few weeks work.
The first blog update on the 17th of March seemed to pain a picture of a long journey with lots of very basic uncertainties - how to get DirectX to render to a Metro screen, how to get desktop privileges for a Metro app. It all seemed a long way from getting anything to work. The latest post (2nd April) reports that they have a working browser:
As of last week, we have a working browser in Metro. It currently looks and feels the same as the Android browser. You can navigate the web, create tabs, bookmark pages, build history, retain cache, adjust preferences, and more.
The port is based not on the main Firefox code but the Fennec XUL code base. Fennec is the implementation of Firefox on Android and this turned out to have startup problems so the UI was recoded to be native. So far this hasn't been necessary under Window 8 and it seems that XUL is being rendered quickly enough using DirectX
While there are many native facilities to implement and fine tune the early port has many features working. You can use Metro snap to place another app alongside Firefox (who says we don't need multiple windows). The native file picker is working and as Metro Firefox is that strange breed of half Metro half Desktop - MetroTop - application it doesn't live in the sandbox so you can work with the file system.
Also working is the search contract, the search charm and the share contract. A surprising level of integration given the time span. The target is to have a working prototype by Q2 2012 and while not quite ready to be called a beta the current effort looks as if it is nearly there. Of course we all know the 90% -10% rule and yes the last 10% could take 90% of the time but so far things are looking good.
Of course if the Firefox team had been unable to take the MetroTop route then things would have been very different. Creating such an application type means that you are not restricted by the Metro sandbox and so don't have to work your way around missing Windows API calls. This all suggests that converting desktop apps to Metro is easier if they can be MetroTop apps but at the moment the only class of apps that can take this route are browsers and there can only be one MetroTop app on a system at a time - the default browser.
Google and Opera are known to be working on Metro browsers but they are being far less informative about their progress.
Today we celebrate the birth on December 26th, 1791 of Charles Babbage, the man who invented calculating machines that, although they were never realised in his lifetime, are rightly seen as the [ ... ]