Fennec – M9 (User Experience Alpha)

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.

Fennec – M8

Fennec (Mobile Firefox) has reached milestone 8 (M8). You can install it on a Nokia N8x0 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 N8x0, 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

Extensions for Fennec

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 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).

Fennec – M7

Fennec (Mobile Firefox) has reached milestone 7 (M7) and can be installed to a Nokia N8x0 for testing. We got some good feedback (and bug reports) from M6, so there are more than a few bug fixes in M7. Other additions include better add-on support, initial kinetic scrolling, modeless password manager, and some zooming tweaks.

There are a few people looking at ways to get better performance out of the Mozilla stack on ARM (and Maemo). We have some patches coming together, so look for some speedups in the next milestone. Also in the next milestone, look for more UI (designs here and here).

Please take Fennec M7 for a spin and file some bugs.

Install instructions
M7 Readme

Fennec – M6

Fennec (Mobile Firefox) has reached milestone 6 (M6) last week and can be installed to a Nokia N8x0 for testing. Remember, we haven’t reach alpha yet, but we are getting close. M6 adds “tabs” to the browser UI, adds tel: and mailto: support and makes some much needed stability improvements.

We are adding more UI for M7 (August 19th) and are doing additional performance and stability work. Feel free to give Fennec M6 a try and please file bugs. Use bugzilla and the “Fennec” product category.

Install instructions
M6 Readme

Mobile Update – Fennec 0.4 Released

Fennec 0.4, the M4 milestone, wrapped up last week. There are install packages for those who want to see it running on their Nokia n800/n810 devices. We have some installation instructions and release notes.

Those of you who saw Aza’s UI demo / video and are eager to see that UI in action will have to wait. Milestone 4 doesn’t make any significant UI updates. We have been focusing on some of the underlying, platform work. The UI changes will come in future releases to be sure. Some new UI mockups are available.

Check out the Fennec requirements document for the breakdown of future work. Also, if you want to stay current on happenings with Fennec and Mozilla Mobile in general, sign up for the about:mobile newsletter!

Developing for Mobile Devices – The Mozilla Way

As you might have heard, Mozilla is working on a mobile browser (codenamed Fennec). If you are interested in Mozilla and mobile, I’d encourage you to start following the project. Besides the just plain awesome idea of a Firefox browser running on mobile devices, there are other reasons I like the project.

Fennec is using XULRunner to power the application. The same XULRunner that is already available for Windows, Mac and Linux. Longtime XULRunner fans should be happy to hear of a Mozilla project building directly on XULRunner. Besides the additional focus, look for improvements to the Mozilla platform related to mobile devices. Mozilla prides itself on building applications that look and feel native, so we shouldn’t be surprised to see new support and APIs for mobile devices and applications.

Fennec project documents call out Nokia’s n800/n810 (Maemo) and Windows Mobile as targeted platforms. The Maemo XULRunner builds already exist and are (almost) built nightly. Windows Mobile XULRunner builds are very close as well.

Getting XULRunner ported to mobile platforms has the obvious benefit of allowing anyone to build mobile applications using the Mozilla platform. So, if you have experience building XULRunner applications on the desktop, get ready to start exploring the world of mobile development! So if you have a supported device, start hacking! Antonio Gomes has already been doing some great work porting Prism to Maemo.