November 21, 2008 at 5:28 pm
· Filed under Mobile, Mozilla, XULExplorer
Last weekend I decide to add some Mochitest unit testing to XUL Explorer, one of my XULRunner based applications. Luckily, this is something Dave Townsend already did with a different XULRunner application, McCoy. It was pretty easy to use Dave’s McCoy patch as a basis for getting things working in XUL Explorer. I used XULRunner 1.9.0.4 for building XUL Explorer and, amazingly, my unit tests ran on the first try! Here’s the changeset.
Next, I started working on adding the same support to Fennec. I hit a snag because of changes in Mozilla 1.9.1 to support new types of testing. I made a patch (reviewed and waiting to land) that makes things work again. We are hoping that some of the tweaks needed by Dave’s patch can be rolled into the mainline Mochitests system.
Now that I have some experience under my belt, I plan to add some docs no MDC. I also plan to add the necessary code templates to XUL Explorer and FizzyPop application generators, so anyone making a new XUL application automatically get Mochitest support.
Thanks Dave
Permalink
November 17, 2008 at 11:38 am
· Filed under Mobile, Mozilla
The newest official XULRunner has been released. XULRunner 1.9.0.4 matches the Firefox 3.0.4 release. For XULRunner developers, most of the changes in 1.9.0.4 are related to security fixes.
Runtimes
SDKs
Source tarball
For those interested in the mobile versions of XULRunner, nightly builds of XULRunner for Maemo can be found here. The mobile tinderbox is also up and running.
Want to get started building XULRunner applications? We have an article for that.
Permalink
November 1, 2008 at 12:39 am
· Filed under Mobile, Mozilla, XPCOM, XUL
I decided to take a detour in my XULRunner session at MozCamp. I have done several XULRunner talks over the last few years. I usually focus on the functionality built into the platform and discuss the benefits of using Mozilla technologies to develop applications.
This crowd was very Mozilla savvy and many had at least experimented with building XULRunner applications. So, instead of my normal slide deck, I went with a “walk-through” of using the Mozilla build system to create a XULRunner application. I did the same with setting up an auto-updating XULRunner application. I think the Mozilla build system is something any XULRunner developer should learn and setting up auto-updating always seems to frustrate developers.
The talk went very well. Thanks to Robert Kaiser for helping me fill in some blanks. We had some good discussion and I could have spent a lot more time covering some of the smaller details. I think I might look into expanding this “walk-through” format.
Another topic we talked about was the potential of XULRunner on mobile devices. Many developers are excited to see XULRunner become available for mobile platforms. The ability to move XUL applications from desktops to mobile devices is fairly powerful. Fennec, for example, runs just fine on any supported XULRunner platform - without any changes.
Permalink
October 31, 2008 at 7:46 am
· Filed under Extensions, Mobile, Mozilla
Last night, support for Fennec on AMO was pushed live. A big thank you to Mike Morgan and crew for making this happen. There are no recommended Fennec add-ons yet, so you need to search for them. Here are some results, based on the two add-ons I know support Fennec and are on AMO:


Extending this mobile browser is now fully operational!
Permalink
October 30, 2008 at 10:20 pm
· Filed under Extensions, Mobile, Mozilla
Okay, so it’s only two add-ons, but it’s a start. First, MR Tech’s Local Install from Mel Reyes was updated with support for Fennec. Then, URL Fixer from Chris Finke got support for Fennec.
A big thanks to Mel and Chris for taking the time to support Fennec, even in it’s alpha condition.
Permalink
October 22, 2008 at 11:54 am
· Filed under Embedding, Extensions, Mobile, Mozilla, XUL
I am headed to Barcelona to take part in Mozilla Europe’s MozCamp 2008 conference. I’ll be presenting sessions on XULRunner, Fennec Add-ons & Embedding Gecko. If you’re interested in any of these sessions and have topics you’d like to see covered, let me know. Commenting here or adding items to the wiki pages are goods ways to do that.
I also plan to hang around the Prism session, presented by Matt Gertner. Prism has some cool features brewing. I hope we get a new release (with samples) out soon.
Permalink
October 20, 2008 at 9:48 am
· Filed under Extensions, Mobile, Mozilla
One of the reasons we released Fennec A1 with desktop versions was to allow add-on developers to start hacking on Fennec add-ons. As long as the add-on contains no binary compiled code, it should run on any platform - including mobile devices. Developers can build and debug Fennec add-ons using the desktop builds, without needing an actual device.
As I previously posted, making a Fennec add-on is no different than making an add-on for any Mozilla-based application, such as Firefox, Thunderbird or Songbird. Fennec is a different application - add-ons for Firefox will not Just Work in Fennec. I started documenting the process of building Fennec add-ons. I plan to add some use cases there too.
Fennec supports installing add-ons from websites (remember to use the right MIME type - application/x-xpinstall). Once an extension is ready for testing, the developer can post the XPI somewhere. The add-on can then be installed to Fennec on devices or Fennec on desktops.
Very soon, we will support Fennec add-ons on AMO (addons.mozilla.org)
Update: If you want to debug your code using the error console, try using the command line flag like this:
fennec -jsconsole
Permalink
October 16, 2008 at 10:38 pm
· Filed under Mobile, Mozilla
Fennec (Mobile Firefox) has reached milestone 9, which is also our first alpha! We’re calling this release the User Experience alpha. The last eight milestones were building up to getting a stable browser with an easy to use interface. We really want to get Fennec in front of as many people as possible and get feedback.

As with the previous milestones, M9 is targeted at the Nokia N800/N810 (Maemo) Internet tablet. Yes, we have made great progress on Windows Mobile, but no milestone releases yet. However, in addition to the native Maemo release, we are also releasing desktop versions of Fennec. That’s right, you can install Fennec on your Windows, OS X or Linux desktop too! We want you to be able to experiment, provide feedback, write add-ons and generally get involved with the Mozilla Mobile project, even if you don’t have a device.
The release notes have information on a quick start, how to install, what’s new, known issues and how to provide feedback. So if you’re interested in getting involved with Mozilla Mobile, install Fennec and tell us what you think.
Update: Madhava Enros, UX lead for Fennec, posted a video walk through of the application. Check it out.
Update: We noticed that the desktop builds had the mouse cursor turned off. This is good for touchscreen devices, but bad for desktop applications. We flipped a preference and updated the desktop builds. If you downloaded a desktop build and have the cursor problem, just download the build again, it’s been fixed.
Permalink
September 25, 2008 at 10:35 am
· Filed under Mobile, Mozilla
Fennec (Mobile Firefox) has reached milestone 8 (M8). You can install it on a Nokia N8×0 and take it for a spin. One of the big improvements during this milestone was the addition of several Mozilla QA team members. Fennec is being tested pretty hard now, and by people who love to find bugs. We are finding and fixing lots of issues now. Probably the biggest visible change in M8 is the new theme. It’s not entirely landed yet and will likely get some tweaks as we iterate on the design.

Although Fennec is still only targeted for the Nokia N8×0, that should be changing fairly soon. Work on Windows Mobile has heated up quite a bit. We should be getting some Fennec builds for WinMo soon. We have also seen Fennec showing up on other hardware too: Fennec on e-paper. Fennec on OMAP. Fennec in Ångström.
Some of the highlights in M8:
- Initial UI support panel has landed. Tap “gear” button in the right sidebar to slide the UI panel into view. The UI panel contains separate panels for Add-on Manager, Download Manager and Preferences. The current UX design is not final. We need to integrate the new UI theme into the UI panel.
- The sidebars (left, right and top) now slide into view as the user pans the content. The application menu button (F4) no longer forces the UI into view.
- Support for kinetic scrolling has been enhanced and is more responsive.
- The installer uses the Fennec icon and should prompt for the install menu location. It defaults to “Extras”.
- A lot of work on rendering performance landed in M8. This includes front-end and back-end platform work.
- Support for a Firefox-like security error UI and pages, instead of error alert dialogs.
- Support for out-of-memory notifications.
Several features just missed M8 and will be landing very soon:
- Ability to close tabs
- Opening new browser windows as tabs (like in Firefox)
- Initial Preferences support
- Camera input support?
Note: M8 disables all plugins, including Flash. We found serious stability and performance issues with plugins. We intend to re-enable plugins as soon as possible.
As always, please take Fennec M8 for a spin and file some bugs.
Install instructions
M8 Readme
Permalink
September 2, 2008 at 8:19 pm
· Filed under Extensions, Mobile, Mozilla
As I mentioned in the Fennec M7 release notes, the Add-ons Manager has been hooked up. Therefore, I decided to post some example add-ons for Fennec. Fennec is a XULRunner application and gives extension developers access to the same underlying XPCOM system that is used in Firefox. The process of building extensions is the same as for any other Mozilla based application.
However, there are some things a potential extension developer should know. Fennec is not Firefox. It is a completely different application. Fennec’s UI is also very different than Firefox. This means that you can’t just plop a Firefox (or Thunderbird or Songbird) extension into Fennec and expect anything to work. There are some basic things an extension developer will need to handle when making or porting extensions to Fennec:
- Fennec uses a different application id: {a23983c0-fd0e-11dc-95ff-0800200c9a66}
- Fennec has very different XUL UI. Many XUL elements found in Firefox do not exist in Fennec. Update your overlay XUL file accordingly.
- Fennec uses different JavaScript objects and functions in it’s UI code. Functions and objects you have used in Firefox may not exist or may even represent different things in Fennec. For example, there is a Browser object that encapsulates some of the basic browser features, but there is a BrowerUI object that is the controller for the actual chrome. Also, there is no
gBrowser object (yet) and the getBrowser() method does not return a <tabbrowser> as it does in Firefox.
The best way to figure out what’s available is to look at the source code. Also, jump on Mozilla IRC and ask questions in the #mobile channel. Ok, enough of that, let’s look at the sample extensions.
- fennec-sample: A simple barebones add-on that shows the minimum needed to get an extension running in Fennec. Adds a button to the toolbar and displays an alert when clicked.
- fennec-readit: A basic add-on that use flite on Maemo to turn text into speech. Toggle the text-to-speech (TTS) mode on and off using the toolbar button. When TTS is on, clicking (touching) text content will cause the text to be read aloud using flite.
Use Fennec M7 and click on the above links to install the extensions.
NOTE: In order to use fennec-readit, you must install flite first. I found a simple binary install for Maemo that seems to work OK. The binary of flite can be found in the Maemo Extras repository. After installing, you can test flite by opening a terminal and typing: flite -t "Hello World"
It might be cool to create an XPCOM version of flite (or use js-ctypes on a shared library version).
Permalink