Mozilla reverse-engineers OS X to add multitouch gestures to Firefox 3.1 for Mac

Chicago (IL) – Owners of a multi-touch trackpad Macbook have been able to use gesture support in Firefox since the introduction of v3.1 beta in October. The recently released Firefox 3.1 Beta 2 added more gestures, like a twist gesture that lets users move through open tabs. However, Mozilla had to resort to reverse-engineering to enable gestures in Firefox on Macs as Apple has not been especially supportive in providing the necessary APIs to developers. While some claim that the company is still figuring out how to deploy multitouch across OS X, others are concerned that Apple quietly enhanced its own applications with gestures, like iPhoto and Safari, while shutting out potential rivals from taking advantage of the feature as well.

The advanced multitouch capabilities included in the final candidate build of Firefox 3.1 Beta 2 released one week ago did not show up on our radar initially. Curiously enough, Mozilla did not advertise these features either - probably with a good reason since the company had to reverse-engineer Apple's multitouch technology to replicate it in Firefox, according to blogger Edward Lee. Although the new multitouch gestures are available only in the OS X version of Firefox, some Firefox Mac fans may have noticed that support for basic multitouch gestures were included already in October Firefox builds.

Initial gestures introduced back then replicated gestures found in the OS X version of Safari, like pinch zoom and multi-finger scrolling. Firefox 3.1 Beta 2 expands the initial set of gestures with additions that are not included in Safari, like a three-finger swipe and a unique twist gesture that lets users navigate through open tabs simply by rotating two fingers on a trackpad. Here is the complete list of gestures that are supported by Firefox 3.1 Beta 2 for OS X:

- Swipe left or right - move backward and forward through the browsing history (hold the Command key to open it in a tab)
- Swipe up or down - move to the page top or bottom
- Twist left or right - cycle through open tabs
- Pinch in or out - increase or decrease the font size

As Lee points out, the potential problem with gesture support in Firefox is that the gestures interface in Firefox was - most likely - reverse-engineered. With that in mind, it should be noted that Mozilla is not the only developer forced to resort to such steps. Multi-touch may be available in all Mac applications at some point in time, but the consequences of Mozilla's reverse engineering of Apple's multi-touch may be the removal of the gesture interface from Firefox if it is not considered stable enough. Apple, in a way, is to blame for the current developer dilemma.

When Apple rolled out its Macbooks with multi-touch trackpads, it did not provide software developers access to the technology through public APIs. This behavior forces some developers to resort to reverse-engineering until Apple opens up multi-touch. One developer we talked to said that Apple's multi-touch APIs are in their infancy and are likely change soon, concluding that at least some developers will wait until Apple locks-down the multi-touch user interface in OS X. It is unclear when that will actually be done.

Critics, however, stress that Apple uses its APIs to enable gesture-support in its own applications, like iLife and Safari, which indicates an unfair advantage over third-party developers. The developer community has reacted already – for example, there is a free System Preferences add-on dubbed MultiClutch that lets users define custom gestures for any keyboard shortcut within specific applications. With a little help from MultiClutch, users of Firefox 3.1 Beta 2 can easily customize Firefox keyboard shortcuts with a gesture-based user interface.

Source tgdaily

No comments: