Activities is out of the sandbox

7 May, 2008 (11:29) | activities, firefox, operator | 1 comment

Firefox Activities 0.7.1 is finally out of the sandbox. Go forth and install.

Also, I’m making major progress on using openService files to create Operator actions. I should have something for people to see in the next week or so.

Powered by Firefox

1 May, 2008 (10:54) | firefox | 7 comments

The discussion of how to brand products that use Mozilla technology has come up again. (1 2 3 4 5) This discussion has actually come up repeatedly over the years, with no conclusion. In the past I’ve given my opinion to Mozilla directly, but now I have a blog. So here’s my opinion.

I believe there are at least two very distinct situations here:

  • Shipping Mozilla technology (for instance, embedding Mozilla)
  • Shipping a customized version of the Firefox browser

Unfortunately both these things have all been lumped into “powered by Mozilla,” but customizing Firefox is not “powered by Mozilla,” it is “powered by Firefox”.

(Incidentally the term “powered by Firefox” has been used before to describe the Joga.com Companion extension which was “developed in partnership by Mozilla and Joga.com” and “chang[es] the browser’s look and feel.”)

But what would “powered by Firefox” mean in practice? I believe that it would mean a customized version of Firefox that adds to Firefox, but does not take away (more detail on that later). Here are some browsers that are “powered by Firefox.”

You’ll notice that these are all produced by Google or Mozilla. So why doesn’t Mozilla allow someone other than Google and themselves to ship customized versions of Firefox that are labeled as such? They certainly indicate that it is possible, but clearly it is not happening. I think I know why. It’s because of Mozilla’s Distribution Trademark Policy.

I understand that Mozilla Corporation owns the Firefox trademarks and as such, they have the right to do whatever they want with them and to actively work to protect the quality of a browser associated with those trademarks. I also understand that Mozilla Corporation is a business, and it is in their interest to partner with companies to produce customized versions of Firefox for revenue. But for them to dictate that the Mozilla Corporation is the only company that can customize Firefox and call it “Firefox” and use the Firefox logos is simply stifling competition.

There need to be better rules in place for other entities that want to customize the browser and distribute browsers with those customizations.

(And please don’t try to invoke Firefox Community Edition here. That’s not what we’re talking about. You can’t use logos and honestly calling something “My Company Browser - Firefox Community Edition” is a little cumbersome. Not to mention that fact that Mozilla provides no guidance on rebranding the installer or customizing just the name of the browser without rebuilding the whole thing from scratch.)

I propose that a new policy be created to supplement the Mozilla Community Edition Policy allowing for the creation of Firefox Brand Edition or Brand Browser - Powered by Firefox.

Here are some suggestions for how this would look:

  • Underlying browser must be a shipping version of Firefox and must receive updates from Mozilla
  • Default theme may be changed but user must have the ability to switch back to the original Firefox theme
  • Extensions may be installed provided they do not remove any built in Firefox behavior or hide it from the user
  • Extensions may not be hidden, but they may be marked uninstallable (note users can still disable them)
  • Browser must be installed in a directory other than “Mozilla Firefox” (to allow for coexistence with an official Firefox)
  • If the bookmarks are customized, the original bookmarks must be provided in some manner
  • Search engines may not be removed, but they may be added and the default may be changed

I would love to see Mozilla Corporation do something in this area so that some other businesses can compete with them on a level playing field.

As a side note, enterprises don’t have to worry about this restrictions as long as the customized browser is distributed within their organization (which is one entity). Note you need to be careful about distributing to independent contractors, as technically they are not your employees and you might violate the Mozilla Corp. distribution policy.

Update on Activities, Microformats and Operator

29 April, 2008 (15:02) | activities, extensions, firefox, microformats, operator | 4 comments

I haven’t blogged in a while, so I wanted to give everyone a quick update on som of my projects.

Activities

Version 0.7.1 of Firefox Activities is waiting patiently to be moved out of the AMO sandbox. Unfortunately my 0.7 version had a memory leak, so I missed my chance. Once Firefox 3.0b5 was released, the AMO queue got very long and 0.7.1 is lost somewhere in that queue.

That version matches the IE version of Activities feature for feature, except for the floating button that appears when you select text. Activities management is much better, and I was able to support both the uppercase and lower case version of the API (which I complained about earlier). In addition, the code has been substantially rewritten so that it doesn’t affect the global namespace at all.

Microformats in Firefox 3

I thought my Microformats API for Firefox 3 had settled down, but Dmitry’s Acid Test combined with Clint Talbert’s great unit tests and a post on the microformats-discuss list uncovered a few more issues. Unfortunately time is short, so only the API change will make it. Hopefully we’ll get the other parser fixes in a point release.

Operator

I’ve actually been spending quite a bit of time on Operator lately, working with Gustavo GarcĂ­a to figure out how to move to an XML model for user scripts using Microsoft’s OpenService Format as a basis. Our primary motivation for this is to allow the installation of user scripts on the fly instead of the current model where you have to download them. We’ve actually made quite a bit of progress in this space, and hope to have something out soon for testing. Note Operator will still support the old user scripts model, especially for scripts that need access to things like the file system.

Here’s an example of what one of these new scripts might look like:

<?xml version="1.0" encoding="utf-8"?>
<openServiceDescription xmlns="http://www.microsoft.com/schemas/openservicedescription/1.0">
  <display>
    <name>Find with MapQuest</name>
    <icon>http://www.mapquest.com/favicon.ico</icon>
  </display>

  <homepageUrl>http://www.mapquest.com</homepageUrl>
  <activity category="Map">
    <activityAction context="hCard.adr">
      <execute method="get" action="http://www.mapquest.com/maps/map.adp?searchtype=address">
        <parameter name="address" value="{street-address}"/>
        <parameter name="city" value="{locality}"/>
        <parameter name="state" value="{region}"/>
        <parameter name="zipcode" value="{postal-code}"/>
        <parameter name="country" value="{country-name}"/>
      </execute>
    </activityAction>
  </activity>

</openServiceDescription>

We’re also planning to allow small pieces of JavaScript to be embedded in the XML to allow more complex actions. These will be run in a sandbox to prevent security issues. If you want to be involved in the discussion of how we are going to do this, check out the microformats wiki.

No More Rickrolling for Firefox Users

14 April, 2008 (23:03) | Uncategorized | No comments

After reading this great article on BBspot, I just couldn’t resist. I wrote the Quash Unreasonable Electronic Entertainment Recognition extension for Firefox.

You can read about it here.

Happy Birthday Mozilla

31 March, 2008 (21:46) | mozilla, firefox | No comments

I guess I’ll pipe in here since I’m one of the few (only?) non-Netscape then, non-Mozilla now employees that was involved ten years ago and is still involved today.

Ten years ago, I was on a a team of IBM and Netscape folks that was working to make sure the code we wrote when we ported Netscape Navigator to OS/2 made it into the first release of the Mozilla code. And it did. We worked with a lot of great people back then at Netscape and IBM, a few of whom are still on the project today.

Things have changed a lot since then. Our home away from home, the Netscape Partner Engineering Center, is now a parking lot. But believe it or not, there are still OS/2 builds.

It was an amazing time and even through the ups and downs, I’ve really enjoyed working with this community.

Thanks for the memories, and here’s to ten more years.