XULRunner 1.9.0.3

The newest official XULRunner has been released. XULRunner 1.9.0.3 matches the Firefox 3.0.3 release. Firefox 3.0.2 was out for a very short time, so we skipped it for XULRunner.

Runtimes
SDKs
Source tarball

Nightly Maemo builds of XULRunner are in the final stages. A tinderbox page and FTP folder are in progress. Windows Mobile builds of XULRunner have progressed to the point where it can be built directly from the main Mozilla source tree. However, there’s a bit more work needed before we can start creating nightly builds.

Comments

Fennec - M8

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

Comments (12)

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

Comments

Fennec - M7

Fennec (Mobile Firefox) has reached milestone 7 (M7) and can be installed to a Nokia N8×0 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

Comments (7)

Toronto MozCamp - Workshops

Planning for the Toronto MozCamp continues. We decided to use the second day as a “Hands-on Workshop” day. The workshop will be split between development and testing tracks, choose the topic that interests you.

I’ll be working in the development workshop with other Mozilla developers, helping you work on tutorials or projects. We’ll have some tutorial XUL applications, extensions, and XPCOM components for people to hack on. Make sure you bring a laptop, if you want to work on the projects. If you want to build Firefox, XULRunner or binary XPCOM components - make sure your laptop is capable of building Mozilla. (check the prerequisites!)

The testing workshop will be covering topics on Mozilla testing processes, how we write unit tests, and how we automate testing of the Firefox UI (to name a few). Clint Talbert has more information on the testing workshop.

A bit of an event summary:

  • It’s a 2-day event, September 15th and 16th at Seneca @ York
  • It’s free to attend
  • Session topics range from an overview of Mozilla technology to details on application, extension and web development - Day 1
  • There will be hands-on workshops - Day 2
  • Talk to other developers using Mozilla technology in their projects

Remember to sign up!

Comments (2)

Toronto MozCamp

We are planning a developer event in Toronto for mid September. It will be a bit more formal than our previous Developer Days. It’s really more of a MozCamp than a Developer Day, but whatever. The plan is to create a schedule full of sessions covering Mozilla technology.

If you have never used Mozilla technology or just want to learn more about the different parts of the platform, this event is for you. Some of the things you can expect to be covered:

  • What’s the overall structure of Mozilla’s platform?
  • How can you build XUL-based applications or extensions?
  • What’s the newest Web technologies appearing in Mozilla applications?
  • How can you embed Gecko into a native application?
  • Learn about how Mozilla handles localization, testing and cross platform issues (including mobile platforms)

Seneca College has graciously offered to host the event. We currently don’t have a fixed schedule. We could be making 2 session tracks. We might also be running the event for 2 days. If you’re interested in coming, sign up so we can get an idea of the turn out. Post suggestions for sessions as well. If you can’t make it to Toronto, where should we go next?

Comments (4)

Fennec - M6

Fennec (Mobile Firefox) has reached milestone 6 (M6) last week and can be installed to a Nokia N8×0 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

Comments (14)

XULRunner Session - Summit 2008

We had a XULRunner Roadmap session at the Firefox Summit this year. Since the summit was limited to mainly Firefox community, I didn’t know how well a XULRunner session would be attended. However, the room was pretty full and we had a fair amount of XULRunner and Gecko embedding people in attendance.

I wanted to talk about what had been happening with XULRunner recently and what new things we could do in the short-term future (slides here). After a rocky start (XULRunner can be a touchy subject - let’s leave it at that), I think we ended up with some good action items:

  • Look into creating a XULRunner incubator repository: Many patches related to XULRunner, and the platform in general, could be risky to other Mozilla products. Getting patches landed in a tree, unit tested and checked for performance regressions would be helpful in getting them landed on the real tree.
  • Patch gardening: We have seen patches submitted by contributors not land quickly (for a variety of reasons) and then are forgotten when another opportunity opens. We need a way to find those patches without needing to clone Reed Loden.
  • XULRunner security fix lifecycle: Firefox releases get security fixes until Mozilla decides to end-of-life a release. Some applications could stay on XULRunner longer than the corresponding Firefox release lifecycle, exposing the applications to security holes. Obviously, the quick answer here is for XULRunner applications to keep current.
  • XULRunner localization: More specifically, language packs for the platform that could be shipped with XULRunner releases. This is an issue for Fennec too, so we might be able to get some good traction.
  • Improved documentation: Some form of printed (or PDF) documentation and a complete doxygen-like reference list.
  • Improved tool support: Some form of integration with existing IDEs to support Mozilla projects. Yes, Komodo has good support for this, but not everyone uses Komodo. Also, a simple command line scaffold generator, like that found in Rails, would be helpful for beginners.

There is already work underway in a few of these areas. If you want to find out more and start contributing, let me know. If you have more ideas, leave a comment. I’m looking for small, focused achievable ideas. I don’t want to boil the ocean.

Comments (6)

XULRunner 1.9.0.1

The newest official XULRunner has been released. XULRunner 1.9.0.1 matches the Firefox 3.0.1 release.

Runtimes
SDKs
Source tarball

I’m hoping that we can add Maemo and Windows Mobile builds to our collection soon.

Comments (1)

Summit 2008 Wrap-up

What a summit! Danger, drama and lots of Mozillians. The summit was really a full blown conference. I heard there were around 400 attendees. There were 3 days packed with sessions and breakouts. I had a blast talking to people I usually only ever interact with on IRC.

Surprisingly, I somehow ended up with a sizable to-do list as well:

  • Work with MozDev group on FizzyPop
  • Talk to a few people about an upcoming DevDay in Toronto
  • Work with AMO on an a11y tool for AMO editors
  • Talk to jresig about a possible jQuery for XUL idea
  • Look into an incubator Hg repository for XULRunner
  • More Prism work related to Maemo and Fennec

I’m sure I forgot an item or two. I barely had time to sit down and write notes. There was literally always something I could have been doing. Either a session I wanted to see or some brainstorming that could be done.

One of the things that impressed me was the fact that the bears, rock slide and power outage didn’t effect vibe. People took the problems in stride and went on with the business of the summit. The long bus ride and crazy flights didn’t dampen anyone spirits either. Everyone seemed upbeat.

Big thanks to Dan Portillo and crew for making the summit possible and for keeping it moving in the face of some pretty big obstacles.

I’d love for Mozilla to stage an event for the entire platform in the future. If the Firefox summit is any indication, a platform event would have massive attendance. That said, the Firefox summit has it’s place and wouldn’t be replaced by a platform event.

Comments (2)

« Previous entries