Archive for the ‘developers’ Category

Add-on Success Story: Shareaholic for Firefox

Friday, September 25th, 2009

We recently received some great news from Jay Meattle of Shareaholic and wanted to share it with the community:

“This week we closed an angel round of funding for Shareaholic to support and accelerate ongoing development from prominent east coast angels. We may also be a part of a NY Times story this Sunday!

The reason this may be interesting to add-on developers (& startups in general) is that Shareaholic got its start from Extend Firefox. I tell everyone this.

Shareaholic is now a company, my full time attention is now on it, and we just successfully raised an angel round in an iffy economic environment. When the first release of Shareaholic was pushed live on AMO, I most certainly did not start off thinking we’d be where we are today. I built Shareaholic to fulfill my own need, decided to release it to the world, and it just happens that a lot of other folks have the same need! It also comes back to my philosophy that if you build a good product, keep improving it based on community feedback, and always keep your users number one, good things will happen.

Other add-on authors should use Extend Firefox as a launching platform — as you never know – their add-on may just end up becoming a lot bigger than themselves and change their lives. Extend Firefox is a lot bigger than the great prizes on offer. Extend Firefox kickstarted my awesome Shareaholic journey. I adore our users and the resulting community that has formed around Shareaholic, it has been really fulfilling, and there isn’t a day that we wouldn’t go way above and beyond for our users.”

A couple of things to take away from this are that the Mozilla platform offers developers the tools to build successful web ventures as well as the support and distribution channels to get your product out to a large, focused audience. In addition, the Extend Firefox contest is an excellent way to get introduced into add-on development and also make your mark in the browser application world.

Jay, Mozilla congratulates you on your success and we hope to continue to provide the best platform, tools & support for developers to build world-class applications such as Shareaholic.

Contributions stats and first run pages

Tuesday, September 15th, 2009

For those of you who request contributions for your add-ons, you can now track your contribution amounts on AMO via the stats dashboard.  Like the contributions pilot itself, the enhancement to the dashboard is still evolving, so it’s pretty basic for now.  To see the contributions dashboard, simply go to your statistics dashboard and select “Contributions” from the graph selector.  Please note: even if your statistics are public, your contributions statistics won’t be.

Also, we’ve launched a first run template for your developer profiles.  You can use this template to request contributions from your users post install.  Simply go to the Developer Profile section of Developer Tools to get the URL.

bukkit

Remember: with great power comes great responsibility.  Inundating users with requests for contributions can result in uninstallations and general user unhappiness, whereas judicious use of this feature can help your users understand how they can contribute to the future development of your extension.

Have any other ideas on how we can improve Contributions?  Drop us a line on the AMO Newsgroup or via the comments in this blog.  Thanks!

Fennec – Handling Add-on Options

Friday, September 4th, 2009

This was originally posted on Mark Finkle’s blog. Mark is a member of the Fennec mobile team.

The add-on (extension) mechanism built into the Mozilla platform is very powerful. One of the optional features is support for options (preferences) dialogs. As discussed in my last post, Fennec doesn’t like dialogs. In addition, Fennec has a simple, clean preference system. While designing the Fennec Add-ons Manager, we discussed how we would support add-on options. We didn’t want popup dialogs of random and complicated XUL.

After brainstorming a few ideas, we settled on a simple idea. Fennec uses special <setting> XUL tags to create it’s list of preferences. Add-ons would be forced to use the same tags. The options would be merged into the Fennec Add-on Manager, not displayed as a popup dialog. Of course, add-ons can support more than one application, so we needed to make sure that the options XUL for Fennec could coexist with the options XUL for other applications. Let’s take a look at how this all works:

Install Manifest

Add-ons use install.rdf to identify the XUL used for displaying the preferences. This is optional.

<em:optionsURL>chrome://myaddon/content/options.xul</em:optionsURL>

This is needed for any add-on that wants to use an options dialog.

Chrome Manifest

Add-ons use the chrome manifest to selectively override XUL, and other resources, between different applications using the application flags

override chrome://myaddon/content/options.xul chrome://myaddon/content/fennec-options.xul application={a23983c0-fd0e-11dc-95ff-0800200c9a66}

This will tell Mozilla to use fennec-options.xul anytime the options.xul resource is requested.

Options XUL

As I said, the XUL allowed for the Fennec options system is limited to a few new tags. Here is an example of a Fennec options dialog:


<?xml version="1.0"?>

<!DOCTYPE mydialog SYSTEM "chrome://myextension/locale/mydialog.dtd">

<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <setting pref="extensions.myaddon.debugging" type="boolint" on="1" off="2"
title="Enable debugging"/>
  <setting pref="extensions.myaddon.profiling" type="bool" title="Enable profiling">
    Profiling can affect the performance of the application
  </setting>

  <setting pref="extensions.myaddon.logging" type="bool" title="Save logs"/>
  <setting pref="extensions.myaddon.logging.path" type="string" title="Log folder"/>
  <setting type="button" title="Clear logs">
    <button label="Clear" oncommand="MyAddon.clearLogs();"/>
  </setting>
</vbox>

Note that we don’t have any <script> support and we are limited to <setting> tags. The root <vbox> just acts as a container, it isn’t merged into the main window. Here is how the options look in Fennec:

fennec-addon-options-sample

As always, we appreciate your feedback. I’m in the process of updating the Fennec Best Practices documents with this information.

A big thank you goes out to Vivien Nicolas, a Mozilla intern in the Paris office, for turning my super-great design into a reality. Shaver told me there’d be days like this!

The Extend Firefox Contest is Over in 29 Days!

Thursday, September 3rd, 2009

The October 2nd deadline is fast approaching and with only 29 days left to build the next great web experience, we wanted to remind you of the resources available to help you during the contest period:

Mozilla Developer Center

Your best source of information and starting point for Mozilla technical question should be the Mozilla Developer Center. With the breadth of information provided there, it’s an invaluable information resource for pushing your add-on to the next level.

Firefox 3.5 Add-on Development

The following docs are specific to add-on development for Firefox and a great resource for understanding how to take advantage of Firefox 3.5’s features.

Firefox Add-on Documentation
Firefox 3.5 for Developers
Firefox Add-ons Developer Guide

Add-on Tutorials

These tutorials will give you the jumpstart you need to get cranking with your development.

How to develop a Firefox extension by Robert Nyman
Video Tutorial – Extensions Bootcamp: Zero to “Hello World” in 45 Minutes
Extension Development 101

Style Guides

Making sure your code is well-formed will help to make your add-ons more maintainable and easier to review by the judges and editors.

JavaScript Style Guide
XUL Style Guide

Community

Mozilla was built on community support so you’ll be able to find plenty of help in the Extend Firefox Discussion Forum.

Recommendations, Collections, and Contributions (oh my!)

Friday, August 28th, 2009

We’ve just released AMO 5.0.9 with a ton of new features and bugfixes out into the wild. There’s something for everyone in this release, so take a look!

Add-on Recommendations

Screenshot of recommendationsSome things go great together: peanut butter and jelly, popcorn and movies, Firebug and YSlow. Starting today, when you’re looking at an add-on’s listing, you’ll see several other add-ons that are often used together. We base these recommendations on the add-ons our users have grouped together in collections.

Contributions

Last month we launched our Contributions pilot, a way for add-on authors to accept monetary donations from users of their add-ons. We’ve gotten great feedback from users and developers, and are now expanding the reach of contributions on AMO. Add-ons that have turned on Contributions will now have contribution boxes in search results and category browse listings, where many installations take place.

Screenshot of contributions on home page

While these new boxes help surface the existence of contributions, some users aren’t likely to make a donation without first testing the add-on to ensure it’s useful to them. With this release, developers have a new way to accept donations after a user has tried the add-on by simply pointing users to their add-on’s new about page.

Collections

Since the launch of Collections in June, add-on fans have created almost 30,000 collections, resulting in more than 6.5 million add-on downloads. This release includes many new features to make Collections even more useful.

Logged-in users can now rate collections and sort by those ratings to help the best collections bubble to the top.

Screenshot of collection rating and usage stats link

To help determine the popularity of a collection, authors can now access a collection statistics dashboard that shows information on the number of subscribers, ratings, and downloads over time.

We’ve also added a treat for users of browsers that support localStorage (including Firefox 3.5): recently viewed collections. When browsing through the collection directory, users can now easily get back to a collection they saw, without having to log in.

Public Stats

In early 2008, we gave add-on developers their first look at the shiny new Statistics Dashboard for each add-on hosted on AMO. Currently some dashboards are public and some are private, but we’ve never offered an in-depth look at the aggregate statistics for all add-ons hosted on AMO.
Today we’ve launched a detailed view of AMO as a whole, with data on add-ons, downloads, active users, users, reviews, and collections. Go on, check it out!

Add-on Validation

Earlier this month, we announced the arrival of the new add-on verification suite on AMO. At the time it was an optional tool developers could choose to run for their files. With this release, the tool will automatically be run when uploading a new file, and the results of the tests will affect the submission process. Editors will see the test results and any flags when reviewing the add-on. We hope to help developers catch common problems before an editor’s review.

Screenshot of validation results

We’d like to extend a huge thanks to the Web developers and testers who have contributed their time and talent to this release.

Coming Up for AMO

Thursday, August 20th, 2009

We launched Collections in June, Contributions in July, and the response to both has been amazing. What’s next for AMO? Here are some summaries of our upcoming projects.

Collections Phase II

Screenshot of recommended add-ons boxWe’ve had over 27,000 collections created and 6.5 million add-on downloads from those collections since the launch on June 10. We want to add a number of new collection features to the website and Add-on Collector extension, including:

  • collection ratings
  • statistics dashboard for collection creators
  • add-on recommendations based on collection data
  • recently viewed collections
  • Thunderbird & Fennec support for the Add-on Collector

Check out this spec for all the details planned for this second phase. If you have feedback on this, please post it in this newsgroup thread. The website features above are included in AMO 5.0.9, which should be released at the end of next week.

Add-on Developer Hub

Developer Hub Homepage Mock-upIn May, we posted about our plans for a new one-stop-shop for add-on developers. Whether you’re someone new to Firefox and not sure if you want to write an extension, a long-time developer looking to stay up-to-date on add-on news and documentation, or an add-on author wanting to update your AMO listings, the Add-on Developer Hub at AMO will be the place to go.

Among the features of the new developer area are:

  • add-on case studies
  • AMO policies
  • how-to library/portal
  • API/Language reference links
  • add-on builder (extension skeletons with working UI components)
  • add-on validator

You can see some mock-ups of what the new site will look like here, or view the spec for all the details. Please post any feedback in this newsgroup thread. We’re planning this for AMO 5.1, which should be released in late September.

Disclosure of Add-on Practices

Disclosure of Add-on Practices checkboxesMany add-on authors, individuals and companies alike, invest large amounts of time and effort into their add-ons, and wish to be compensated for their work. Although we have launched the Contributions feature for authors to accept donations from users, some authors have partnered with companies to support the continued development of their add-on in exchange for the add-on making certain changes to Firefox. We enacted a No Surprises policy in an effort to protect user choice, but unfortunately continue to find surprises.

We feel it is necessary for users to know about certain add-on practices that an add-on employs prior to installation. These practices must be disclosed in a clear and consistent way across AMO. Our plan for this is described in this spec. Please post any feedback in this newsgroup thread.

Add-on Compatibility Reporter

Compatibility Reporter Mock-upNew versions of Firefox are always in the works, and the lead-up to a final release can be hectic for both add-on developers and the AMO team as we try to encourage everyone to test and update their add-ons in the new version. We’ve come up with an idea for an Add-on Compatibility Reporter extension that would be bundled with alpha and beta builds of Firefox and facilitate add-on testing and reporting.

If you have add-ons installed that don’t work, you can report that to AMO. If you have incompatible add-ons installed that work fine, you can report that to us too. We’ll look at all the submitted reports and email developers when we think we know whether the add-on is compatible with that Firefox version, or if it’s not compatible and what problems users are having.

For all the details, you can read the spec. If you have feedback, please post in this newsgroup thread.

As you can see, we have a lot going on, including several projects not mentioned here. Stay tuned to the newsgroup and this blog for the latest on add-ons.

Add-on Statistics Issues

Tuesday, August 11th, 2009

As a result of the outage at Mozilla’s primary data center, add-on statistics available to developers have not been processed since Sunday night. The Mozilla Metrics team is working to resolve this and as soon as statistics are available, we will post here again.

We are sorry for the inconvenience.

Statistics Dashboard Survey

Friday, July 24th, 2009

If you’re an add-on developer who hosts an add-on on addons.mozilla.org, please take a moment to fill out our survey on the statistics dashboard we provide to developers. This will help us improve the dashboard and make better decisions about further integrating statistics with the public site. Thanks!

Firefox Add-ons Contributions Pilot

Wednesday, July 15th, 2009

The Firefox Add-ons community is an amazing source of creativity and innovation for Firefox users all over the world. Thousands of developers create add-ons that foreshadow the future of Web browsers, and until today, developers who wanted some sort of financial support for their development efforts had few options.

Today’s release includes a pilot of a feature we’re calling “Contributions”. This pilot allows developers to request an optional dollar amount for their Firefox Add-on. Along with requesting this amount, we’re helping developers tell their stories with our new “About the Developer” pages, which explain to prospective contributors the motivations for creating an add-on and its future road map. Since contributions are completely optional, users will have ample time to evaluate an add-on to determine whether or not they want to help a developer.

Since this is the first time we’re presenting this opportunity, we’re treating this initial launch as a pilot. Our aim with this pilot is to help support a growing ecosystem by providing our users with the opportunity to support their favorite add-on developers. We’re asking for feedback from our community to drive the future of this pilot and we look forward to learning as much as we can. We’ll be working with PayPal on this pilot to provide a secure and international solution for facilitating payments.

We’re incredibly excited about the potential of Contributions and hope it makes a meaningful difference in the lives of developers and users alike. As always, we’ll be evaluating this pilot as we receive feedback and making changes based on that feedback. Please let us know via the AMO newsgroup if you have ideas or thoughts to share. We’ve also put together this brief FAQ on Contributions:

How will payments work?

We are working with PayPal on this pilot to provide a secure and international solution for facilitating payments. Developers can optionally create a PayPal ID for each of their Firefox Add-ons. Users will be presented with a “Contribute” button that gives them the option of paying the suggested amount or a different amount.

Does Mozilla earn a percentage from Contributions?

For this pilot, Mozilla will not earn a percentage of any contributions made by users. Developers will receive all the proceeds from contributions minus the PayPal transaction fee.

How do I set this up for my Add-on?

In the Developer Tools for your add-on, you will see two new sections for setting up Contributions and your Developer Profile.

I plan on requesting a small amount, what can I do about the transaction fees?

PayPal supports a micropayments fee structure which reduces the transaction fees for payments under $12. You can create a separate PayPal account for any add-ons where the requested amount is under $12. For more, visit PayPal’s Micropayments site.

Are Contributions optional?

Contributions are always optional. Developers have a variety of ways to present the contribution, some of which do include an interstitial page before downloading, but at no point are payments required for a download.

Why did you create multiple options for presenting the “Contribute” button?

Based on feedback from our developer community, we wanted to use this pilot to give developers a choice of ways to present this option to their users. Based on what we learn, we may change or remove some options.

Why did you call this “Contributions” and not “Donations”?

At Mozilla, we use the word “Contributor” for community members who contribute time and energy to our mission of promoting choice and innovation on the Internet. Our goal is that users who contribute money to developers are supporting the future of a particular add-on, as opposed to donating for something already received.

Will international currencies be supported?

For the pilot, all contribution amounts will be specified in USD. However, users worldwide will be able to contribute in local currency via PayPal.

Removing the Sandbox

Wednesday, July 1st, 2009

The “Sandbox Model” addons.mozilla.org uses to organize and review add-ons was first announced almost 3 years ago. Since then, we’ve made a number of changes based on user feedback that, in my opinion, have greatly improve the experience of finding and installing add-ons that haven’t been officially reviewed yet.

Today, the main feedback concerning the review and distribution process of add-ons is:

  • developers feel it takes too long for add-ons to be reviewed, and
  • users and developers want to receive updates to add-ons that they have installed that haven’t been reviewed yet

It’s important for us to balance our desire for all add-ons to be discoverable and easy to install with the need for security measures for add-ons that haven’t been reviewed yet.

After taking many of these issues into account, I’ve come up with a proposal for removing the public and sandbox classifications on the site and moving to a more flexible, comprehensive trust system based on everything we know about an add-on. If you’re interested in the review process and distribution of add-ons, please read the proposal and give us your feedback, preferably in this newsgroup thread.