<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Xulforge Blog &#187; editors</title>
	<atom:link href="http://xulforge.com/blog/tag/editors/feed/" rel="self" type="application/rss+xml" />
	<link>http://xulforge.com/blog</link>
	<description>Xulforge projects, code, and more</description>
	<lastBuildDate>Wed, 02 May 2012 00:31:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>All green!</title>
		<link>http://xulforge.com/blog/2012/02/all-green/</link>
		<comments>http://xulforge.com/blog/2012/02/all-green/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 21:02:25 +0000</pubDate>
		<dc:creator>jorge</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[amo]]></category>
		<category><![CDATA[editors]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[reviewers]]></category>

		<guid isPermaLink="false">http://xulforge.com/blog/?p=114</guid>
		<description><![CDATA[Today we reached a very significant milestone. This is a screenshot of the AMO Editors dashboard, which we use to track the status of the AMO review queues. For the first time since I can remember, we are all green! What does this mean? It means that all add-ons currently waiting in the queues have [...]]]></description>
			<content:encoded><![CDATA[<p>Today we reached a very significant milestone.</p>
<p><a href="http://xulforge.com/blog/wp-content/uploads/2012/02/Queue-Status.png"><img class="aligncenter size-full wp-image-115" title="Queue Status" src="http://xulforge.com/blog/wp-content/uploads/2012/02/Queue-Status.png" alt="Review queue status" width="975" height="157" /></a>This is a screenshot of the AMO Editors dashboard, which we use to track the status of the AMO review queues. For the first time since I can remember, we are all green!</p>
<p>What does this mean? It means that all add-ons currently waiting in the queues have been waiting for less than 5 days. Also noteworthy is the fact that all queues have a length in the low double digits and even one in the single digits! They are normally in the hundreds, so this is quite impressive.</p>
<p>All credit goes to our add-on review community, the <a href="https://wiki.mozilla.org/AMO:Editors">AMO Editors</a>. Their continuous dedication and <a href="http://blog.mozilla.com/addons/2011/12/22/amo-editors-new-years-challenge/">incredible competitiveness</a> have brought us to a point that we could only dream of. And now to clear the rest of the queues&#8230; <img src='http://xulforge.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><strong>Thank you!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://xulforge.com/blog/2012/02/all-green/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Back from Beijing</title>
		<link>http://xulforge.com/blog/2011/05/back-from-beijing/</link>
		<comments>http://xulforge.com/blog/2011/05/back-from-beijing/#comments</comments>
		<pubDate>Tue, 17 May 2011 23:49:48 +0000</pubDate>
		<dc:creator>jorge</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[amo]]></category>
		<category><![CDATA[editors]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[presentation]]></category>

		<guid isPermaLink="false">http://xulforge.com/blog/?p=93</guid>
		<description><![CDATA[I returned on Sunday from Beijing, where I presented at the Mozilla Developer Conference (warning: all-Mandarin page). Twice, in fact. I made a presentation about the Add-ons World (available here), and ended up stepping in for Paul Rouget, who couldn&#8217;t make it. His presentation on HTML 5 is really great and it didn&#8217;t take much [...]]]></description>
			<content:encoded><![CDATA[<p>I returned on Sunday from Beijing, where I presented at the <a href="http://mozilla.com.cn/event/29-2011mdc/">Mozilla Developer Conference</a> (warning: all-Mandarin page). Twice, in fact. I made a presentation about the Add-ons World (<a href="http://xulforge.com/mozilla/MDC2011/">available here</a>), and ended up stepping in for Paul Rouget, who couldn&#8217;t make it. His <a href="http://paulrouget.com/e/html5inthewild/">presentation on HTML 5</a> is really great and it didn&#8217;t take much effort on my part to talk about it. All of his demos are prerecorded, so the presentation is pretty much snafu-free, unlike my presentation or Myk&#8217;s, both of which had (minor) technical difficulties during the live demo. I tried following some of <a href="http://developer-evangelism.com/index.php">Chris Hellman&#8217;s</a> recommendations this time around, but I didn&#8217;t go as far as recording my demos. Oh, well.</p>
<p>My presentation is meant to be a starting point for those interested in add-on development. It contains many links on how to get started making extensions, GM scripts, SDK add-ons, Personas, Themes, and even mentions language packs, search engines and dictionaries. They include a trivial add-on that translates a string on a webpage, developed as a GM script, as an SDK add-on, and as an extension. Then I compare code complexity, flexibility, the security framework and other characteristics, trying to give developers a balanced view and good information on how to choose any of the above when building an add-on. Of course I can only gloss over the details during a 40-minute presentation; hence all the links. In the end of the presentation I briefly cover publishing on AMO, add-on monetization, and the plans for an add-on marketplace. I tried to personalize it a bit for the Chinese audience, so some things may not make as much sense.</p>
<p>The Q&amp;A session was surprising, in that the developers who asked questions were very knowledgeable in add-on development and had very specific questions. Some had very well-established products and demoed some really advanced add-ons. There&#8217;s such great add-on development happening in China that I wish we had a much better communication channel with developers over there. That&#8217;s something we need to work on.</p>
<p>Overall, the trip was excellent. The presentation went well, I got in touch with a number of developers in the area, and most importantly we had plenty of time to talk to the Mozilla Online team. I discussed our add-on performance initiative with them, which is specially relevant for them given that the default Firefox install for China includes about 10 add-ons preinstalled. A number of them also joined the AMO Editors team, which is actively <a href="http://blog.mozilla.com/addons/2011/05/04/join-us-help-reviewing-add-ons/">looking for new members</a>. I&#8217;m really happy because there are many add-ons that are only testable in China, by people who understand the language and local websites.</p>
<p>And, of course, the food and the sights we managed to squeeze into one day of touring around were all fantastic. I&#8217;d like to thank the Mozilla Online team again for the invitation and organizing this very successful event. Special thanks to 张羽 (Rachel Zhang) for taking care of us. I&#8217;m sure she feels like on holiday this week <img src='http://xulforge.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Random anecdote: I&#8217;m riding the subway by myself on the way to meet a friend who lives in Beijing, pointlessly trying to appear as if I do this all the time. Then some guy approaches me and starts speaking in what I assume was Mandarin, pointing to a cellphone he has in his hands. While I&#8217;m deciding how to react to this, I look at the phone and see a picture of me at the conference. Heh. It was just an attendant who was really happy to run into me in the subway. We managed to talk a little bit during the subway ride. Very friendly guy. So, there <img src='http://xulforge.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://xulforge.com/blog/2011/05/back-from-beijing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Projects update</title>
		<link>http://xulforge.com/blog/2011/03/projects-update/</link>
		<comments>http://xulforge.com/blog/2011/03/projects-update/#comments</comments>
		<pubDate>Thu, 17 Mar 2011 01:24:17 +0000</pubDate>
		<dc:creator>jorge</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[add-on]]></category>
		<category><![CDATA[editors]]></category>
		<category><![CDATA[fire.fm]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[pneuma]]></category>
		<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://xulforge.com/blog/?p=85</guid>
		<description><![CDATA[Since I haven&#8217;t blogged here for quite a while, I thought it&#8217;d be good to do the mandatory WordPress version update and then post a little update on the side projects I&#8217;m currently working on: Remote XUL Manager has taken most of my spare time. It&#8217;s been exciting just because it&#8217;s a fairly new project [...]]]></description>
			<content:encoded><![CDATA[<p>Since I haven&#8217;t blogged here for quite a while, I thought it&#8217;d be good to do the mandatory WordPress version update and then post a little update on the side projects I&#8217;m currently working on:</p>
<ul>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/remote-xul-manager/">Remote XUL Manager</a> has taken most of my spare time. It&#8217;s been exciting just because it&#8217;s a fairly new project and it had a pretty well-defined goal, which was reached only a few days ago. Version 1.0 was released on March 10th, and it does every I planned for this add-on to do. There are a couple of feature requests that I will consider in due time, but they&#8217;re pretty minor and I&#8217;m satisfied with the current state of this project.</li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/firefm/">Fire.fm</a> has taken the back seat. In the past few months all we&#8217;ve done is update locales, clean up some code, and push a few bug fixes (and then fixes on the fixes, and so on&#8230;). We have some plans for version 1.5, but it&#8217;s getting harder and harder to find the time for this. Specially because Last.fm keeps closing down their service and that has a very negative effect on my motivation. If it weren&#8217;t for the people that still use it &#8211; close to 200K &#8211; I would have abandoned this add-on a long time ago.</li>
<li>My <a href="http://xulforge.com/blog/2010/05/add-on-manifests-revisited-wiki/">Add-on Packaging Proposal</a> for the Google Summer of Code never gained any traction. Unfortunately the project was abandoned by the student assigned to it, so the whole idea stalled and was discarded. Now I&#8217;ve been approached by somebody who is interested in working on it. That&#8217;s very encouraging, but I need to give this some thought. I&#8217;ve been planning on reviewing the whole spec and giving it an overhaul based on all the stuff that has changed with Firefox 4 and the feedback I received. I&#8217;ll post here when (and if) I have an updated draft.</li>
<li>The band I help as Executive Producer, <a href="http://pneumametal.com/">Pneuma</a>, has had a great deal of success locally, and they&#8217;re getting ready to tour Mexico and Europe. It&#8217;s very exciting times for them and I&#8217;m glad to be a part of this.</li>
</ul>
<p>It&#8217;s been crazy times for me and the AMO Editor team. We had a very successful competition that yielded a incredible throughput and over 2500 reviews by the top 4 winners alone. And yet we&#8217;re still swamped with review submissions due to the upcoming Firefox 4 launch and the <a href="http://blog.mozilla.com/addons/2011/02/17/sandboxed-add-ons-disabled-next-week/">mass disabling of sandboxed add-ons</a>, which resulted in a great deal of new submissions of old add-ons.</p>
<p>I have a bunch of ideas for new add-ons that I wish I had the time to work on. For now, I just write them down on my Someday list and wait <img src='http://xulforge.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://xulforge.com/blog/2011/03/projects-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GSOC Project Update: Cancelled</title>
		<link>http://xulforge.com/blog/2010/09/gsoc-project-update-cancelled/</link>
		<comments>http://xulforge.com/blog/2010/09/gsoc-project-update-cancelled/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 21:41:27 +0000</pubDate>
		<dc:creator>jorge</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[editors]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://xulforge.com/blog/?p=82</guid>
		<description><![CDATA[I&#8217;ve been meaning to write about this for a while now, but I just haven&#8217;t had the time for it given all the work I&#8217;ve been doing surrounding the Firefox 4 release. The editor review queues are predictably getting much more submissions, and I&#8217;ve been trying to keep add-on developers up to date with Firefox [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been meaning to write about this for a while now, but I just haven&#8217;t had the time for it given all the work I&#8217;ve been doing surrounding the Firefox 4 release. The editor review queues are predictably getting much more submissions, and I&#8217;ve been trying to keep add-on developers up to date with Firefox 4 <a href="http://blog.mozilla.com/addons/2010/07/21/compatibility-for-firefox-4-time-to-get-started/">breaking</a> <a href="http://blog.mozilla.com/addons/2010/08/31/compatibility-firefox-4-beta-4/">changes</a>.</p>
<p>A while ago I suggested a different packaging system for add-ons that would (arguably) make it easier to work with. I proposed it as a project for the Google Summer of Code, and <a href="http://xulforge.com/blog/2010/05/add-on-packaging-ideas-gsoc/">it was accepted</a>. That was kind of unexpected, and I was very excited to be part of that experiment. There was a good student submission for the project and everything looked well underway.</p>
<p>Fast forward a few months, and I was contacted by the student working on the project. He wanted to drop it due to lack of time and progress <img src='http://xulforge.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> . After chatting for a while, I agreed with him that dropping it was for the best. In the end the problem was a mixture of poor communication and a scheduling mismatch between the summer break in the US and other countries (Brazil in this case). He just couldn&#8217;t focus on the project due to school work.</p>
<p>So, the experimental implementation never happened, but the idea lives on. The project&#8217;s approval motivated me to create a <a href="https://wiki.mozilla.org/User:Jorge.villalobos/AddonPackaging">pretty decent spec</a> that I&#8217;ll update once Firefox 4 is released. Many changes have been introduced in Firefox 4 that affect manifest files, and others that overlap with some of the proposed features. Once Firefox 4 is stable for add-on developers, I&#8217;ll update the wiki and probably post an update here. I don&#8217;t have any plans to implement this or push the idea too hard, but I still think there&#8217;s some value there and it&#8217;s worthwhile to keep it alive.</p>
]]></content:encoded>
			<wfw:commentRss>http://xulforge.com/blog/2010/09/gsoc-project-update-cancelled/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>And now they wait&#8230;</title>
		<link>http://xulforge.com/blog/2010/01/and-now-they-wait/</link>
		<comments>http://xulforge.com/blog/2010/01/and-now-they-wait/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 17:05:39 +0000</pubDate>
		<dc:creator>jorge</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[amo]]></category>
		<category><![CDATA[editors]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://xulforge.com/blog/?p=33</guid>
		<description><![CDATA[I guess giving 3 month&#8217;s advanced notice wasn&#8217;t enough for most add-on authors. I guess this is partly our fault, and we should stress enough how important it is for them to stay up to date with Firefox new, or at least the Add-ons Blog. On Thursday, the update queue had about 80 add-on updates [...]]]></description>
			<content:encoded><![CDATA[<p>I guess giving 3 month&#8217;s <a href="http://blog.mozilla.com/addons/2009/10/30/time-to-update-your-add-ons-for-3-6/">advanced</a> <a href="https://forums.addons.mozilla.org/viewtopic.php?f=10&amp;t=93">notice</a> wasn&#8217;t enough for most add-on authors. I guess this is partly our fault, and we should stress enough how important it is for them to stay up to date with Firefox new, or at least the <a href="http://blog.mozilla.com/addons/">Add-ons Blog</a>.</p>
<p>On Thursday, the update queue had about 80 add-on updates in line to be reviewed. This is a short as it&#8217;s been for a very long time. Today it stands close to 200 updates, and will continue to grow in the following couple of weeks. All authors are now rushing out updates because they just realized Firefox 3.6 is out.</p>
<p>Well, now it&#8217;s up to the editor team to catch up. It&#8217;ll take a while, I think. Authors that decided to update after the 3.6 release will now have to wait. It&#8217;s bad for everyone, and the result of bad communication. That&#8217;s something we&#8217;ll need to work on.</p>
]]></content:encoded>
			<wfw:commentRss>http://xulforge.com/blog/2010/01/and-now-they-wait/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Jetpack, Personas, and the future</title>
		<link>http://xulforge.com/blog/2010/01/jetpack-personas-and-the-future/</link>
		<comments>http://xulforge.com/blog/2010/01/jetpack-personas-and-the-future/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 18:50:53 +0000</pubDate>
		<dc:creator>jorge</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[amo]]></category>
		<category><![CDATA[editors]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[personas]]></category>

		<guid isPermaLink="false">http://xulforge.com/blog/?p=31</guid>
		<description><![CDATA[Mike Connor&#8217;s post on Jetpack and Personas has brought up lots of debate surrounding the future of the add-ons ecosystem. Extension developers are concerned about the future of XUL and the extensions they&#8217;ve spent so much time and effort on. Others are concerned about the future of the platform and its openness. I&#8217;d like to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://steelgryphon.com/blog/2010/01/09/on-personas-and-themes/">Mike  Connor&#8217;s post on Jetpack and Personas</a> has brought up lots of debate  surrounding the future of the add-ons ecosystem. Extension developers  are concerned about the future of XUL and the extensions they&#8217;ve spent  so much time and effort on. Others are concerned about the future of the  platform and its openness. I&#8217;d like to chime in as a veteran extension  developer and recent addition to MoCo. This is <strong>not</strong> an official statement, just my views on the situation.</p>
<p>First of all, let me be very clear about this: there is no short term  plan to eliminate the extension platform as we know it. XUL and XPCOM  run deep in Firefox. They <em>are</em> Firefox. Eliminating the  technologies that make extensions possible would require a rewrite of  pretty much everything in the platform, which is massive. I&#8217;m not saying  this couldn&#8217;t happen some time in the future (I don&#8217;t know, really),  but it isn&#8217;t something that can be accomplished within a few weeks, or  even a few months. It&#8217;s something that requires a great deal of planning  and the collaboration of the whole community. Extension developers  shouldn&#8217;t worry about their add-ons being obsolete overnight.</p>
<p>We should all look into the future, though. Not as something that  we&#8217;ll have to accept, but as something we can shape. Jetpack and  Personas are still experiments in many ways, and there&#8217;s much we can do  to make them what we want them to be. I personally doubt they will ever  reach the point where they will replace the current add-on options, but I  am confident that they can come very close, and that&#8217;s a big win for  everyone.</p>
<h2>Jetpack</h2>
<p>The goals of the Jetpack project are ambitious: no restarts for  install /  uninstall, a clean and more stable API, complete security,  and a much easier  development experience. They&#8217;re so ambitious that to  think all of these can be accomplished while preserving the flexibility  of the current platform would be naive at best.</p>
<p>There are no stable APIs. You can make higher abstractions that are  less likely to change. But they <em>will</em> change. Jetpack only makes  its add-ons dependent on its API, instead of the XUL/XPCOM platform. So,  instead of updating your add-on to the next Firefox version, you&#8217;ll  update it to the next version of Jetpack, which should happen much less  often. That is of course assuming there will be some sort of versioning  of the Jetpack API. If that&#8217;s not the case, well, then we have bigger  problems to be concerned about.</p>
<p>Jetpack, unlike XUL and XPCOM, is not a fully open system. It can&#8217;t  be. Not without sacrificing the security it&#8217;s meant to bring. As a  secure system, it should be closed by default, enabling through its API  only the features that are considered to be safe and necessary. This  limits add-on creativity to the API designers&#8217; imaginations, as opposed  to the developers&#8217;. On the other hand, in the current system extensions  can do pretty much anything. They can read, write and execute files.  They can change your preferences and access your saved passwords. They  can monitor your online activities and send information to third  parties. The only real protection between you and the extensions you  install is the review system that all of them have to go through in  order to be publicly listed on AMO. A group of reviewers (also known as  editors) make sure these extensions are safe to use and respect user  choice. Which one is better? To me, the answer is simple: if it&#8217;s  possible on Jetpack, use Jetpack. It&#8217;s simpler and safer. If it isn&#8217;t,  then fall back to extensions, where you have almost limitless control.</p>
<p>Jetpack add-ons <em>will</em> be easier to develop, and it <em>will</em> be possible to install and remove them without restarts. This is a huge  win for users and developers. Many, if not most add-ons will be easily  portable to this new platform, and they will benefit from it. It remains  to be seen, however, if highly complex (and extremely popular) add-ons  like AdBlock Plus, NoScript and Firebug will be able to live in the  Jetpack world. These extensions are strongly tied to the platform, and  their interactions would be very hard to translate into a general use  API. Maybe we can implement <code>jetpack.magic.doWhatNoScriptDoes</code> <img src='http://xulforge.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<h2>Personas</h2>
<p>Personas are not even close to being a replacement for themes.   Personas allow some very basic skinning using header and footer images   and setting font colors for the main toolbox. Surely they could be   extended to include images for the toolbar icons and some more advanced   customizations, but that&#8217;s not the case now, and even then they  wouldn&#8217;t be a complete replacement for themes. Themes can change the  appearance of the application in very significant ways, and this can&#8217;t  be accomplished without the complexity inherent in theme development.  So, theme developers, you&#8217;re not done yet either.</p>
<h2>The future</h2>
<p>I think the future for extensions and themes is still bright. Jetpack  and Personas have shown us how things can be different, and opening the  field for new development and competition is a win for all.</p>
<p>There&#8217;s much we can do to improve the &#8220;classic&#8221; add-on world, in the  area of documentation and tutorials, and even <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=256509">in the  platform itself</a>. We&#8217;re being shown how to improve. We should take  this as a call to action, and improve. Let&#8217;s work on the platforms that  will support the development of the future, but let&#8217;s not forget the  ones that are still active and thriving.</p>
<p>Let&#8217;s not forget how we got here.</p>
]]></content:encoded>
			<wfw:commentRss>http://xulforge.com/blog/2010/01/jetpack-personas-and-the-future/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wrapping loose variables and functions in Add-ons</title>
		<link>http://xulforge.com/blog/2009/08/wrapping-loose-variables-and-functions-in-add-ons/</link>
		<comments>http://xulforge.com/blog/2009/08/wrapping-loose-variables-and-functions-in-add-ons/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 23:33:13 +0000</pubDate>
		<dc:creator>jorge</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[amo]]></category>
		<category><![CDATA[editors]]></category>
		<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://xulforge.com/blog/?p=17</guid>
		<description><![CDATA[We (AMO Editors) have traditionally rejected updates or nominations on add-ons that don&#8217;t follow the wrapping rule for variables and functions. This is an important rule IMO because the possible compatibility conflicts are very real and possibly damaging to user experience. Enforcing good user experience and code quality is part of our responsibility as editors, [...]]]></description>
			<content:encoded><![CDATA[<p>We (AMO Editors) have traditionally rejected updates or nominations on add-ons that don&#8217;t follow the wrapping rule for variables and functions. This is an important rule IMO because the possible compatibility conflicts are very real and possibly damaging to user experience. Enforcing good user experience and code quality is part of our responsibility as editors, so I think this rule should not be removed or lessened in any way.</p>
<p>This discussion came up due to a denied update for Text Formating Toolbar 0.1.4.11. I was requested to come up with a POC that demonstrates how name conflicts can cause problems, so I created this add-on, which conflicts with Text Formatting Toolbar using seemingly harmless code. Here&#8217;s the link:</p>
<p><a title="Name Conflict Extension" href="http://xulforge.com/blog/wp-content/uploads/2009/08/nameconflict.xpi">Name Conflict</a></p>
<p>If you install this with the Text Formatting Toolbar, you&#8217;ll notice that the bold, italics, code and color features are broken.</p>
<p>Here&#8217;s the code in my overlay:</p>
<pre>window.addEventListener(
  "load",
  function() {
    window.setTimeout(
      function () {
        formatItalics = "i";
        formatBold = "b";
        formatColor = "white";

        formatCode =
          function(aString) {
            if (typeof(aString) != "string") alert('Invalid Code!'); }
      },
      100);
  },
  true);</pre>
<p>As you can see, it&#8217;s fairly simple. The load event and setTimeout call are only used to make sure that it is the other extension and not this one the one that experiences the compatibility problems. <strong>If two add-ons use the same names in the global scope, then one is going to experience problems in one way or another.</strong> There&#8217;s nothing more to it.</p>
<p>Obviously I can intentionally create an add-on that causes conflicts with any other add-ons, but I hope you see past this and realize that the code I posted could very well be written by another author who is unaware of the rules we enforce. This is what we look after, and this is why we should reject global namespace pollution in almost all instances.</p>
]]></content:encoded>
			<wfw:commentRss>http://xulforge.com/blog/2009/08/wrapping-loose-variables-and-functions-in-add-ons/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
