Firefox for Mobile – Keyboard Shortcuts

Not every mobile device has a physical keyboard, but many do. Firefox Mobile supports a handful of keyboard shortcuts that might make your life a little easier:

  • Zoom in: Ctrl+Up arrow
  • Zoom out: Ctrl+Down arrow
  • Go to Location Bar: Ctrl+L
  • Back one page: Ctrl+Left arrow or Backspace
  • Forward one page: Ctrl+Right arrow or Shift+Backspace
  • New tab: Ctrl+T
  • Close tab: Ctrl+W
  • Open link in new tab: Ctrl+Tap on link

For a more complete list of keyboard shortcuts, and lots of other useful information, go to the Firefox Mobile support knowledge base.

XULRunner 1.9.0.x Releases – The End is Near

Mozilla is currently, building and releasing XULRunner simultaneously with Firefox releases. Releases can be found here.

XULRunner releases for 1.9.0, 1.9.1 and 1.9.2 branches (matching Firefox 3.0, 3.5 and 3.6 respectively) are available. The question now becomes “How long does Mozilla keep releasing older branches of XULRunner?” We’d like to re-purpose some of the resources used to build older branches.

Therefore, we intend to stop posting XULRunner builds and releases from the 1.9.0.x branch soon. This would only affect Mozilla building and releasing XULRunner 1.9.0.x. The source code to XULRunner 1.9.0.x would remain available and developers could always build and release their own XULRunner packages from the source code.

Security updates and fixes may still happen on the 1.9.0 branch. If you depend on the 1.9.0 branch and want to get these fixes into your project, you’ll need to build XULRunner yourself.

Mozilla will continue to build and release XULRunner from the 1.9.1 and 1.9.2 branches.

Please feel free to provide feedback on the pros and cons. We’d be interested in knowing how this action affects users of prebuilt XULRunner releases. Follow up on the newsgroup posting.

Perils of the viewport meta tag

Apple introduced the viewport meta tag in mobile Safari to help web developers improve the presentation of there web pages on the iPhone. We added support for the viewport tag in mobile Firefox for the same reasons.

The viewport tag allows web developers to set the width, height and scale of the browser area used to display web content. However, some websites are not doing a good job configuring the viewport tag and it affects the presentation in Firefox.

When setting the width or height, developers can use a fixed number of pixels or use the constants: device-width and device-height. The iPhone is 320px wide in portrait and 480px wide in landscape. Other devices have different screen sizes. It seems the “width=320” is a popular fallback though. See how Facebook and DeviantART display in Firefox on the N900 (480px in portrait and 800px in landscape):

touch.facebook.com
fennec-viewport-facebook

deviantart.com
fennec-viewport-deviantart

Don’t get me wrong. I like “touch-friendly” web pages on my mobile device. However, the iPhone is not the only mobile device out there. If a web developer has gone through the effort to make a “touch-friendly” web page, please configure your viewport to work in other devices. It’s easy!

Add-ons and Restarts – Yuck!

There has been a lot of discussion about the future of the Mozilla add-on infrastructure. I think it’s clear now that Mozilla is not removing the classic add-on mechanism. In fact, Fabrice Desré found a nice bit of news on an upcoming feature (via comments on Atul’s post):

Fabrice: Does the fact that jetpacks are now XPIs mean that the “no restart after install” feature will be implemented for traditionnal add-ons ?

Atul: That’s correct! We don’t have a bug filed for it yet, still need to do that, but the idea is that if an extension includes certain metadata in its install.rdf that essentially tells Firefox “look, I know how to unload all my resources reliably”, then Firefox will trust it and call a certain function whenever the extension needs to unload itself.

Mossop: I’ll just elaborate a little. Plans are naturally in flux right now but the idea is to allow XPI packages to install without restarts if they wish, however there will be constraints. They will be responsible for doing everything themselves, which means (at least in my head right now) we won’t automatically load chrome or components from these extensions. Instead we will just do startup and shutdown calls into the extension and allow it to register/unregister what it needs by itself. This means that just marking an existing extension to work without restarts wouldn’t get you anywhere, you still need to do the extra work to handle the startup/shutdown parts.

This is great news for add-on developers! I’m sure MDC will have some code snippets for dynamically loading chrome overlays and components to make it easy to support no-restart add-ons.

AdBlock Plus Adds Support for Fennec

Thanks to Fabrice Desré and Wladimir Palant, development builds of AdBlock Plus support Fennec! The port embraces Fennec’s minimalistic design asthetic – exposing only a simple options UI. However, this is more than enough to make a great impact on browsing in Fennec.

fennec-adblockplus-options-small

Besides reducing the visual clutter on web pages, ad-heavy pages load noticeably faster! As Wladimir notes in his post, AdBlock Plus will only work in nightly builds of Fennec (version 1.0b6pre). Install a nightly version (including desktop versions) or use the new nightly update channel from your Maemo device. He also mentions that work to improve the first-run experience is coming in future releases.

Install a development build of AdBlock Plus by navigating to https://adblockplus.org/devbuilds/adblockplus/ using Fennec and click on the most recent XPI file. Fennec will step you through installing the add-on.

Fennec – Nightly Maemo Updates

Desktop versions of Firefox have nightly update channels. New versions are automatically downloaded and available for install as they become available. Each morning, a Firefox user can quickly and easily update to the newest nightly version.

Thanks to the release engineering team, the same easy nightly updates are available for Firefox on Maemo.

Aki Sasaki has provided some simple instructions for getting nightly updates installed on your Maemo device:

  1. Go to the nightly repository. The repository is basically a large file server with folders for each combination of source code branch and language localization.
  2. Choose the branch you want (trunk == mozilla-central / 1.9.2 == mozilla-1.9.2). Fennec 1.0 is being released from the Mozilla 1.9.2 source code branch, so you probably want to use “1.9.2_*” branch.
  3. Choose the locale you want. You probably want the multi-locale bundle (“*_multi”), but you can choose a different one.
  4. Click on the “*_nightly.install” file in the appropriate repository. This should automatically start the Application Manager on your Maemo device and Firefox for Maemo will be installed.

Once installed, the Application Manager should notify you when a new version of the nightly is available and allow you to update Firefox. This process is a little different than desktop Firefox, where the update mechanism is built into the application. However, it fits in better with the Maemo platform.

When we have release packages in those repositories, there will be a second .install file (with no “_nightly” in the name) that points to the release section rather than the extras section. But if you install that, you won’t get nightly updates for those.

We also have plans for a simple web page front-end to the repository. The web page will have nice human-readable descriptions instead of cryptic filenames 🙂

Fennec is Now Optified

The Nokia N900 has about 100MB of free space in the root file system partition. It doesn’t take installing many applications before it fills up. Nokia recommends installing applications to the /opt folder, which has about 1GB of space.

Fennec installs itself to the root file system in the /usr folder. Although this is fine for the N810, it would never work for the N900. We had originally planned to move the install location for Beta 4, but we found a bug that kept Fennec from launching from the /opt folder. The bug has been fixed and Fennec now installs to /opt in nightly versions.

A nice side effect of /opt installation: startup time is ~1 second faster!

Fennec is Firefox, Firefox is Fennec!

Firefox for Maemo beta 5 is Firefox! Huh?

maemo_beta5_releasenotes_firefox

That’s right. We turned on official branding for beta 5. “Fennec” is the codename for Firefox on mobile platforms. We also use “Fennec” as the unofficial branding (name and images) in our nightly versions. Using a codename helps cut down on confusion when talking to other Mozilla developers 🙂

maemo_beta5_releasenotes_fennec

Don’t worry, the lovable little fennec isn’t going away.

Fennec – Form Assistant & Password Echo

Firefox for Maemo (Fennec) beta 5 has been released! This release packs in a lot of good stuff. I’ve been trying to highlight a few of the new features. This time, I want to tell you about some web form features.

Entering data into web forms using a small keyboard on a small screen can be painful. This release of Fennec has a Form Assistant to make it easier to fill in forms. Whenever you tap on an input or select field, Fennec will attempt to zoom in on the element and also display a small UI ribbon for moving between other input fields. If the input field has an associated label, we try to make sure the label is visible too. Context is important when entering text and other data into a form.

fennec-form-assistant

Beta 5 also has a new Gecko feature, enabled for mobile platforms – Password Echo. Entering a password can be a tedious task on a mobile device. One common solution is for the system to show the last character you type as plain-text and after a short delay, convert it to a hidden password character. Echoing the last character really helps reduce errors when entering passwords.

Take Firefox for Maemo for a spin and let us know what you think.