<?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>Mike&#039;s Musings &#187; firefox</title>
	<atom:link href="http://kaply.com/weblog/tag/firefox/feed/" rel="self" type="application/rss+xml" />
	<link>http://kaply.com/weblog</link>
	<description>My musings about mozilla, microformats, me and my motivations.</description>
	<lastBuildDate>Fri, 16 Jul 2010 20:20:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Interactive Themes</title>
		<link>http://kaply.com/weblog/2010/07/16/interactive-themes/</link>
		<comments>http://kaply.com/weblog/2010/07/16/interactive-themes/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 20:20:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[brand thunder]]></category>
		<category><![CDATA[persona interactive]]></category>
		<category><![CDATA[personas]]></category>

		<guid isPermaLink="false">http://kaply.com/weblog/?p=592</guid>
		<description><![CDATA[So you may wonder why we called it Personas Interactive. If you were go to the Brand Thunder Gallery, you would see what we specialize in &#8211; creating customized browser experiences for different sports teams, websites, musicians and more. These &#8230; <a href="http://kaply.com/weblog/2010/07/16/interactive-themes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So you may wonder why we called it <a href="http://brandthunder.com/personas">Personas Interactive</a>.</p>
<p>
If you were go to the <a href="http://brandthunder.com/gallery">Brand Thunder Gallery</a>, you would see what  we specialize in &#8211; creating customized browser experiences for different sports teams, websites, musicians and more.</p>
<p>
These browser experiences have evolved over the years in their design, their technology and even <a href="http://brandthunder.com/2009/brand-thunder-brings-the-boom-to-custom-branded-browsers/">their name</a>. But regardless of the technology change, these browser experiences always required the installation of a Firefox add-on and the restart of the browser for every one that you wanted to install.
</p>
<p>
One of the reasons we created <a href="http://brandthunder.com/personas">Personas Interactive</a> was to address this issue. With the advent of Personas in Firefox 3.6, we saw the opportunity to take our browser experience to the next level. So one of the core features of Personas Interactive is Interactive Themes.
</p>
<p>
Interactives Themes take the <a href="http://kaply.com/weblog/2010/07/09/enhanced-personas/">Enhanced Personas we talked about last time</a> and add interactivity like clickable logos, sidebars, toolbars, feedreaders and more. So instead of just providing people with a picture of your website or brand, you can provide a way for them to connect with you in the browser.
</p>
<p>
Before we continue, I have to make a disclaimer. Up to this point, we&#8217;ve talked about things that anyone can do (set up their own Personas gallery, create Enhanced Personas) but at this point in time, an Interactive Theme can only be created by <a href="http://brandthunder.com/">Brand Thunder</a>. We&#8217;re working on expanding the technology so it is available to anyone. That doesn&#8217;t mean that you can&#8217;t have an Interactive Theme, though. Brand Thunder would love to work with your band, sports team, website or company to create an Interactive Theme. Just send an email to <a href="mailto:info@brandthunder.com">info@brandthunder.com</a>.
</p>
<p>So let&#8217;s look at a diagram that shows the differences between Personas, Enhanced Personas and Interactive Themes.</p>
<table>
<tr>
<td>&nbsp;</td>
<td>Persona</td>
<td>Enhanced Persona</td>
<td>Interactive Theme</td>
</tr>
<tr>
<td>
Background Image
</td>
<td>
X</td>
<td>
X</td>
<td>
X
</td>
</tr>
<tr>
<td>
Change Text Color
</td>
<td>
X
</td>
<td>
X
</td>
<td>
X
</td>
</tr>
<tr>
<td>
Multiple Background Images
</td>
<td>
&nbsp;
</td>
<td>
X
</td>
<td>
X
</td>
</tr>
<tr>
<td>
Position Background Images
</td>
<td>
&nbsp;
</td>
<td>
X
</td>
<td>
X
</td>
</tr>
<tr>
<td>
Resize Background Images
</td>
<td>
&nbsp;
</td>
<td>
X
</td>
<td>
X
</td>
</tr>
<tr>
<td>
Repeat Background Images
</td>
<td>
&nbsp;
</td>
<td>
X
</td>
<td>
X
</td>
</tr>
<tr>
<td>
Clickable Logos
</td>
<td>
&nbsp;
</td>
<td>
&nbsp;
</td>
<td>
X
</td>
</tr>
<tr>
<td>
Sidebar
</td>
<td>
&nbsp;
</td>
<td>
&nbsp;
</td>
<td>
X
</td>
</tr>
<tr>
<td>
Toolbar
</td>
<td>
&nbsp;
</td>
<td>
&nbsp;
</td>
<td>
X
</td>
</tr>
<tr>
<td>
Integrated Search
</td>
<td>
&nbsp;
</td>
<td>
&nbsp;
</td>
<td>
X
</td>
</tr>
<tr>
<td>
Feed Reader
</td>
<td>
&nbsp;
</td>
<td>
&nbsp;
</td>
<td>
X
</td>
</tr>
<tr>
<td>
Sponsorships
</td>
<td>
&nbsp;
</td>
<td>
&nbsp;
</td>
<td>
X
</td>
</tr>
<tr>
<td>
Advertising
</td>
<td>
&nbsp;
</td>
<td>
&nbsp;
</td>
<td>
X
</td>
</tr>
</table>
<p>
So what does this mean in practice?
</p>
<p>
If you were to go to <a href="http://brandthunder.com/personas">the Personas Interactive page</a> with Personas Interactive installed, you would see some of our Interactive Themes in action.
</p>
<p>
Are you a fan of the <a href="http://www.goblinscomic.com/">Goblins Web Comic</a>? There&#8217;s an Interactive theme that keeps your favorite web comic close at hand. If you need your daily fix of <a href="http://www.thedailybeast.com/">The Daily Beast</a>, you can install an Interactive Theme that gives you links and news from The Daily Beast as well as the top story of the day updated in your browser. Is your team the <a href="http://www.colts.com/">Indianapolis Colts</a>? You can connect with them right in your browser. Or maybe you like movies? The Movie Premiere Interactive Theme is updated with a new movie poster every 15 minutes. Can&#8217;t get enough of <a href="http://www.collegehumor.com/">CollegeHumor</a>? Install the Interactive Theme and your favorite links will be one click away.
</p>
<p>
And we&#8217;ve got over a hundred more Interactive Themes coming in the next few months. Besides porting our existing themes over to Personas Interactive, we&#8217;re working with great brands like the <a href="http://collegenetwork.cbssports.com/">CBS Sports College Network</a> to bring your favorite college sports teams to the browser.
</p>
<p>
So what should you do? Install <a href="http://brandthunder.com/personas">Personas Interactive</a>. Setup your own Personas gallery. Create an Enhanced Persona. And stay tuned, because we&#8217;ve got some great stuff coming your way.
</p></p>
]]></content:encoded>
			<wfw:commentRss>http://kaply.com/weblog/2010/07/16/interactive-themes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enhanced Personas</title>
		<link>http://kaply.com/weblog/2010/07/09/enhanced-personas/</link>
		<comments>http://kaply.com/weblog/2010/07/09/enhanced-personas/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 16:34:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[brand thunder]]></category>
		<category><![CDATA[personas]]></category>
		<category><![CDATA[personas interactive]]></category>

		<guid isPermaLink="false">http://kaply.com/weblog/?p=559</guid>
		<description><![CDATA[In explaining exactly what a Persona was in my last post, I mentioned that a Persona contains two images &#8211; a header and a footer. I also indicated that these images are very large &#8211; 3000 pixels wide. You may &#8230; <a href="http://kaply.com/weblog/2010/07/09/enhanced-personas/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
In <a href="http://kaply.com/weblog/2010/07/08/what-is-a-persona/">explaining exactly what a Persona was in my last post</a>, I mentioned that a Persona contains two images &#8211; a header and a footer. I also indicated that these images are very large &#8211; 3000 pixels wide. You may wonder why that is. Personas is designed to do one thing; take an image and put it in the upper right corner of the browser. It doesn&#8217;t resize or scale the image. If you resize your browser very wide, you just see more of the image on the left hand side. That 3000 pixels number is a completely arbitrary number that is designed to be the maximum you will resize your browser.
</p>
<p>
This architecture creates problems.</p>
<ul>
<li>The file sizes of the images can be very large.
<li>If you have a repetitive image, you have to cut and paste it to make it 3000 pixels wide.
<li>If you want to use an existing image, you&#8217;ll have to do something to convert it to 3000 pixels wide.
<li>You can&#8217;t guarantee that anything appears in the upper left corner.
<li>You can&#8217;t have more than one background image.
</ul>
<p>All of these problems have already been solved by CSS, but none of the CSS to do anything to background images is available in Personas. That&#8217;s where the Enhanced Personas feature of <a href="http://brandthunder.com/personas/">Personas Interactive</a> comes in.
</p>
<p>
Enhanced Personas adds additional attributes to the Personas JSON that gives you all the things that CSS backgrounds have to offer. This includes multiple background images! Here are the attributes we&#8217;ve added:</p>
<dl>
<dt>backgroundImage</dt>
<dd>Specifies the URL of an image or multiple images that will be used for the background. Multiple images are separated by a comma. The images are drawn from right to left, so the left most image appears on top. We aren&#8217;t using the actual CSS syntax here, so don&#8217;t put url(&#8216;&#8230;&#8217;) around the images.</dd>
<dt>backgroundPosition</dt>
<dd>Specifies the position of the images in backgroundImage using <a href="https://developer.mozilla.org/en/CSS/background-position>standard CSS rules</a>. These rules are separated by a comma.</p>
<dt>backgroundRepeat</dt>
<dd>Specifies the repeat of the images in backgroundImage using <a href="https://developer.mozilla.org/en/CSS/background-repeat">standard CSS rules</a>. These rules are separated by a comma.</p>
<dt>backgroundSize</dt>
<dd>Dpecifies the size of the images in backgroundImage using <a href="https://developer.mozilla.org/en/CSS/background-size">standard CSS rules</a>. These rules are separated by a comma.</p>
<dt>backgroundColor</dt>
<dd>Whereas accentcolor in the original Personas specification is used for both the titlebar and the background of the browser, we allow you to specify just the background color. It is never used for the titlebar. If you specify both a backgroundColor and an accentcolor, accentcolor is used for the titlebar, and backgroundColor is used for the background of the browser.</p>
<dt>textShadow</dt>
<dd>
One of the other areas that causes problems with Personas is the area of text shadows. We&#8217;ve provided an additional attribute to let you control the text shadow. Personas determines the color of the text shadow to use for your Persona by computing the luminance of the <b>textcolor</b> specified in your Persona.<br />
<code></p>
<pre>
let luminance = 0.2126 * r + 0.7152 * g + 0.0722 * b;
</pre>
<p></code>If the luminance is less than or equal to 110, it makes your text shadow light, otherwise it makes your text shadow dark. We&#8217;ve made <strong>textShadow</strong> an attribute that you can specify, and you can give it three values: <strong>dark</strong>, <strong>bright</strong> or <strong>none</strong>. You can experiment with these three values to see which one makes your text look good on your Persona.
</dd>
<h3>Summing it all up</h3>
<p>
So what does all this give us? The ability to create a Persona that takes full advantage of CSS. If you hover over the preview images below with <a href="http://brandthunder.com/personas/">Personas Interactive</a> installed, you&#8217;ll see examples of Enhanced Personas in action. Each of these Enhanced Personas has an image on the left, an image on the right and a repeating image for the background. If you install them, you can resize the browser and see that the images stay in both corners of the browser. I&#8217;ve deliberately placed breaks in the background image so you can see the repeat. You&#8217;ll also notice that I&#8217;ve used a different text shadow option for each of the Personas. See if you can figure out which value I used.</p>
<p><script type="text/javascript" src="http://brandthunder.com/personas/personas.js"></script><img alt="Enhanced Persona Demo 1" title="textShadow: none" data-browsertheme='{"id":"enhancedpersonademo1@kaply.com", "name": "Enhanced Persona Demo 1", "textcolor": "white", "textShadow": "none", "backgroundImage": "http://brandthunder.com/personas/demo/crayon-left.png, http://brandthunder.com/personas/demo/crayon-right.png, http://brandthunder.com/personas/demo/crayon-bg.png", "backgroundPosition": "left top, right top, right top", "backgroundRepeat": "no-repeat, no-repeat, repeat-x"}' src="http://brandthunder.com/images/gallery/crayonred-large.png" id="enhancedpersonademo1-preview"><script type="text/javascript">attachPersona(document.getElementById("enhancedpersonademo1-preview"));</script><img alt="Enhanced Persona Demo 2" title="textShadow: dark" data-browsertheme='{"id":"enhancedpersonademo2@kaply.com", "name": "Enhanced Persona Demo 2", "textcolor": "white", "textShadow": "dark", "backgroundImage": "http://brandthunder.com/personas/demo/crayon-left.png, http://brandthunder.com/personas/demo/crayon-right.png, http://brandthunder.com/personas/demo/crayon-bg.png", "backgroundPosition": "left top, right top, right top", "backgroundRepeat": "no-repeat, no-repeat, repeat-x"}' src="http://brandthunder.com/images/gallery/crayonred-large.png" id="enhancedpersonademo2-preview"><script type="text/javascript">attachPersona(document.getElementById("enhancedpersonademo2-preview"));</script><img alt="Enhanced Persona Demo 3" title="textShadow: bright" data-browsertheme='{"id":"enhancedpersonademo3@kaply.com", "name": "Enhanced Persona Demo 3", "textcolor": "white", "textShadow": "bright", "backgroundImage": "http://brandthunder.com/personas/demo/crayon-left.png, http://brandthunder.com/personas/demo/crayon-right.png, http://brandthunder.com/personas/demo/crayon-bg.png", "backgroundPosition": "left top, right top, right top", "backgroundRepeat": "no-repeat, no-repeat, repeat-x"}' src="http://brandthunder.com/images/gallery/crayonred-large.png" id="enhancedpersonademo3-preview"><script type="text/javascript">attachPersona(document.getElementById("enhancedpersonademo3-preview"));</script><img alt="Enhanced Persona Demo 4" title="textShadow: default" data-browsertheme='{"id":"enhancedpersonademo4@kaply.com", "name": "Enhanced Persona Demo 4", "textcolor": "white", "backgroundImage": "http://brandthunder.com/personas/demo/crayon-left.png, http://brandthunder.com/personas/demo/crayon-right.png, http://brandthunder.com/personas/demo/crayon-bg.png", "backgroundPosition": "left top, right top, right top", "backgroundRepeat": "no-repeat, no-repeat, repeat-x"}' src="http://brandthunder.com/images/gallery/crayonred-large.png" id="enhancedpersonademo4-preview"><script type="text/javascript">attachPersona(document.getElementById("enhancedpersonademo4-preview"));</script></p>
<p><script type="text/javascript" src="http://brandthunder.com/personas/personas.js"></script><img alt="Enhanced Persona Demo 5" title="textShadow: none" data-browsertheme='{"id":"enhancedpersonademo5@kaply.com", "name": "Enhanced Persona Demo 5", "textcolor": "black", "textShadow": "none", "backgroundImage": "http://brandthunder.com/personas/demo/crayon-left.png, http://brandthunder.com/personas/demo/crayon-right.png, http://brandthunder.com/personas/demo/crayon-bg.png", "backgroundPosition": "left top, right top, right top", "backgroundRepeat": "no-repeat, no-repeat, repeat-x"}' src="http://brandthunder.com/images/gallery/crayonred-large.png" id="enhancedpersonademo5-preview"><script type="text/javascript">attachPersona(document.getElementById("enhancedpersonademo5-preview"));</script><img alt="Enhanced Persona Demo 6" title="textShadow: dark" data-browsertheme='{"id":"enhancedpersonademo6@kaply.com", "name": "Enhanced Persona Demo 6", "textcolor": "black", "textShadow": "dark", "backgroundImage": "http://brandthunder.com/personas/demo/crayon-left.png, http://brandthunder.com/personas/demo/crayon-right.png, http://brandthunder.com/personas/demo/crayon-bg.png", "backgroundPosition": "left top, right top, right top", "backgroundRepeat": "no-repeat, no-repeat, repeat-x"}' src="http://brandthunder.com/images/gallery/crayonred-large.png" id="enhancedpersonademo6-preview"><script type="text/javascript">attachPersona(document.getElementById("enhancedpersonademo6-preview"));</script><img alt="Enhanced Persona Demo 7" title="textShadow: bright" data-browsertheme='{"id":"enhancedpersonademo7@kaply.com", "name": "Enhanced Persona Demo 7", "textcolor": "black", "textShadow": "bright", "backgroundImage": "http://brandthunder.com/personas/demo/crayon-left.png, http://brandthunder.com/personas/demo/crayon-right.png, http://brandthunder.com/personas/demo/crayon-bg.png", "backgroundPosition": "left top, right top, right top", "backgroundRepeat": "no-repeat, no-repeat, repeat-x"}' src="http://brandthunder.com/images/gallery/crayonred-large.png" id="enhancedpersonademo7-preview"><script type="text/javascript">attachPersona(document.getElementById("enhancedpersonademo7-preview"));</script><img alt="Enhanced Persona Demo 8" title="textShadow: default" data-browsertheme='{"id":"enhancedpersonademo8@kaply.com", "name": "Enhanced Persona Demo 8", "textcolor": "black", "backgroundImage": "http://brandthunder.com/personas/demo/crayon-left.png, http://brandthunder.com/personas/demo/crayon-right.png, http://brandthunder.com/personas/demo/crayon-bg.png", "backgroundPosition": "left top, right top, right top", "backgroundRepeat": "no-repeat, no-repeat, repeat-x"}' src="http://brandthunder.com/images/gallery/crayonred-large.png" id="enhancedpersonademo8-preview"><script type="text/javascript">attachPersona(document.getElementById("enhancedpersonademo8-preview"));</script>
</p>
<p>
Here are some other things to keep in mind with Enhanced Personas.
</p>
<p><strong>backgroundImage</strong> is a required attribute. This means that even if you use the other attributes, if <strong>backgroundImage</strong> isn&#8217;t specified, they won&#8217;t be honored. The only exception to this is <strong>textShadow</strong>.
</p>
<p>
You can create an Enhanced Persona that works with Firefox out of the box. Just specify both a <strong>headerURL</strong> and a <strong>backgroundImage</strong>. Personas Interactive users will get the Enhanced Persona.
</p>
<p>
For our next installment, we&#8217;re going to talk about the hallmark of <a href="http://brandthunder.com/personas/">Personas Interactive</a>, Interactive Themes and Interactive Personas.
</p>
<p>
This is part three in my series about <a href="http://brandthunder.com/personas/">Personas Interactive from Brand Thunder</a>. If you missed the first two, they are <a href="http://kaply.com/weblog/2010/07/07/personas-interactive/">Introduction to Personas Interactive</a> and <a href="http://kaply.com/weblog/2010/07/08/what-is-a-persona/">What is a Persona?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kaply.com/weblog/2010/07/09/enhanced-personas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Personas Interactive</title>
		<link>http://kaply.com/weblog/2010/07/07/personas-interactive/</link>
		<comments>http://kaply.com/weblog/2010/07/07/personas-interactive/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 17:20:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[brand thunder]]></category>
		<category><![CDATA[personas]]></category>

		<guid isPermaLink="false">http://kaply.com/weblog/?p=522</guid>
		<description><![CDATA[Brand Thunder released a new theme for the Goblins web comic today. While it&#8217;s a great theme and I&#8217;m excited to have it out there, I&#8217;m more excited about how we&#8217;re delivering it. Goblins is the first theme we are &#8230; <a href="http://kaply.com/weblog/2010/07/07/personas-interactive/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://brandthunder.com/">Brand Thunder</a> released a new theme for the <a href="http://goblinscomic.com">Goblins web comic</a> today. While it&#8217;s a great theme and I&#8217;m excited to have it out there, I&#8217;m more excited about how we&#8217;re delivering it. Goblins is the first theme we are delivering on our new <strong><a href="http://brandthunder.com/personas/">Personas Interactive</a></strong> platform.</p>
<p>
Personas Interactive is a new add-on that allows us to deliver all of our interactive themes with one click in the same way that Personas works. In the next week or so, it will be available as a standalone download. Right now you can get it by <a href="http://pages.brandthunder.com/goblinspersona@brandthunder.com/download">downloading the Goblins theme</a>.
</p>
<p>
But Personas Interactive isn&#8217;t just about interactive themes. It provides major enhancements to Personas within Firefox and adds support for Enhanced Personas (more on that later). I&#8217;d like to take a few posts to talk about what we&#8217;ve done with Personas Interactive. First we&#8217;re going to talk about what we&#8217;ve done to Personas; then we&#8217;re going to talk about Enhanced Personas and Interactive Themes/Interactive Personas. We&#8217;ll finish the series up by going into details about how web developers can use our new features.
</p>
<p>
Let&#8217;s start with what we&#8217;ve done to Personas within Firefox.
</p>
<h3>
We&#8217;ve removed the limits<br />
</h3>
<p>
Firefox currently has a limit of eight Personas. We&#8217;ve completely removed that limit. You can have as many Personas installed as you would like.
</p>
<h3>
We&#8217;ve removed the limitations<br />
</h3>
<p>
Firefox prevented Personas from working with any theme but the default theme. We&#8217;ve removed that limitation. They don&#8217;t always work right, but at least you can try.
</p>
<h3>
We&#8217;ve removed the lock-in<br />
</h3>
<p>
Firefox uses the same permission model for Personas that it does for the installation of extensions. What this means is that if you give a site permission to install Personas, you&#8217;re also giving it permission to install extensions. For this reason, Firefox does not make it easy for you to enable other sites to provide previews and host Personas. We&#8217;ve created a new permission model for Personas so you can give a site permission to preview Personas knowing that all they can do is preview and install Personas. Now any site can host a Personas gallery! We&#8217;ll be providing more detail in the next week on how to do this or if you want to get started now, send me an email. And if you want to see this in action, check out <a href="http://en.design-noir.de/mozilla/themes/">design noir</a>.
</p>
<h3>
We&#8217;ve updated the look (on Windows)<br />
</h3>
<p>
Personas on Windows just don&#8217;t look right. With the gray tab and the extra dark tab strip, they just don&#8217;t pop like they do on the Mac. We&#8217;ve updated the Personas look on Windows to be more consistent.
</p>
<h3>
We&#8217;ve given you the choice<br />
</h3>
<p>
We&#8217;ve added additional configuration options so that you can make your Personas look the way you want them. If you wish you could see just a little more of your Persona, add some space. If you don&#8217;t want the titlebar to change color on Mac, turn it off. If text shadows make your Persona look bad, turn them off.
</p>
<h3>We&#8217;ve added some really cool stuff</h3>
<p>
We&#8217;ve enabled site specific Personas. Any website can put one line in their HTML so that people see a Persona when they viewing that site. Of course they have to ask your permission! If you want to check this out, you can load <a href="http://kaply.com/weblog">my blog</a> with Personas Interactive installed.
</p>
<p>
In my next post, I&#8217;ll be covering Enhanced Personas. The best analogy I can give is that Personas are like a bumper sticker on your browser. For the artist, Enhanced Personas give you a palette so you can size, position and repeat any number of images on the background to create a design that&#8217;s exactly what you want and that resizes with the browser. I think you&#8217;ll like it.
</p>
<p>
One more note &#8211; Brand Thunder brings you VERY cool themes and extensions for FREE, but each takes a team of designers and developers. Brand Thunder themes include Bing as the default search engine since our primary revenue source is our search partners, Bing and Ask, so please give them a try.
</p>
<p>
And before you ask, we&#8217;re hard at work on Firefox 4 support. We hope to have something in the next few weeks.</p>
]]></content:encoded>
			<wfw:commentRss>http://kaply.com/weblog/2010/07/07/personas-interactive/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Customizing the Firefox Installer on Windows</title>
		<link>http://kaply.com/weblog/2010/06/18/customizing-the-firefox-installer-on-windows/</link>
		<comments>http://kaply.com/weblog/2010/06/18/customizing-the-firefox-installer-on-windows/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 16:23:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[cck]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[installer]]></category>
		<category><![CDATA[rebrand]]></category>

		<guid isPermaLink="false">http://kaply.com/weblog/?p=505</guid>
		<description><![CDATA[One of the questions I get asked a lot is how to customize the Firefox installer on Windows and how to bundle extensions with it. I&#8217;ve spent the past few days learning a great deal about this subject, so I &#8230; <a href="http://kaply.com/weblog/2010/06/18/customizing-the-firefox-installer-on-windows/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
One of the questions I get asked a lot is how to customize the Firefox installer on Windows and how to bundle extensions with it. I&#8217;ve spent the past few days learning a great deal about this subject, so I thought I would take this opportunity to provide a refresher on working with the Firefox installer on Windows. I&#8217;m going to do it as a Q&#038;A so hopefully folks will get answers to the common questions they have.
</p>
<p>
Standard disclaimer: Under no circumstances should you use this information to create a custom Firefox install and redistribute it to anyone outside your organization. If you want more information, you can consult the <a href="http://www.mozilla.org/foundation/trademarks/">Mozilla Foundation Trademark Policy</a>.
</p>
<h3>What tools do I need to work with the Firefox installer?</h3>
<p>
The primary tool you need is <a href="http://www.7-zip.org/">7-Zip</a>. I install the <a href="https://developer.mozilla.org/en/windows_build_prerequisites#MozillaBuild">MozillaBuild package</a> which gives me all the tools I need. Even though the Firefox Installer is NSIS based, we will not need to use NSIS for most customizations. I&#8217;ll talk a little bit about the end about what kinds of things you would need NSIS to do.
</p>
<h3>How do I unpack the Firefox installer?</h3>
<p>
The Firefox installer is created using 7-Zip. So you can grab any of the Windows installers that end in EXE and unpack them. Any of the Windows installers on the <a href="http://www.mozilla.com/en-US/firefox/all.html">Firefox download page</a> will work. Once you&#8217;ve downloaded the EXE, create a temporary directory and type:<br />
<code>
<pre>7z x "Firefox Setup 3.6.3.exe"</pre>
<p></code><br />
This will unpack the contents of the installer so we can modify it.
</p>
<h3>How do I bundle my extension with the Firefox installer?</h3>
<p>
Bundling your extension with the Firefox installer is just a matter of putting it in the right place. Then when we package up the installer at the end, it will get installed along with Firefox. For most extensions, the right place is <code>nonlocalized/extensions</code>. Inside that directory, create a subdirectory that corresponds to the ID of the extension you want to preinstall with Firefox. Then unzip the XPI into that directory. You can find the ID by looking at the install.rdf file inside the XPI. You can add as many extensions as you want into the installer.
</p>
<h3>What are some useful extensions I can bundle with Firefox</h3>
<p>
I&#8217;ve created two extensions that create interesting things to bundle with Firefox. The first is the <a href="https://addons.mozilla.org/firefox/addon/2553">CCK Wizard</a>. The CCK Wizard can be used to change various defaults in Firefox so that you can customize it for deployment in your organization. The second is <a href="https://addons.mozilla.org/firefox/addon/2776">Rebrand</a>. Rebrand allows you to change the internal branding used in Firefox.
</p>
<h3>Can I change the names used in the installer?</h3>
<p>
Yes, you can change the names used in the installer. To do this, you need to create a directory called <code>distribution</code> inside the <code>localized</code> directory that was created when you unpacked the installer. Create a file called <code>setup.ini</code> in this directory. Here&#8217;s what it looks like:<br />
<code></p>
<pre>
[Branding]
BrandFullName=Mike's Browser
BrandShortName=Browser
</pre>
<p></code><br />
BrandFullName will be used to replace &#8220;Mozilla Firefox&#8221; and BrandShortName will be used to replace &#8220;Firefox&#8221;.</p>
<h3>Can I change the images used in the installer?</h3>
<p>
Yes, you can change the images used in the installer. In that same directory where you put the setup.ini, you can put two files, <code>modern-wizard.bmp</code> and <code>modern-header.bmp</code>.  The first images corresponds to <a href="http://mxr.mozilla.org/mozilla1.9.2/source/other-licenses/branding/firefox/wizWatermark.bmp">the large image on the first page of the installer</a>. The second image corresponds to <a href="http://mxr.mozilla.org/mozilla1.9.2/source/other-licenses/branding/firefox/wizHeader.bmp">the small image that is used on later pages of the installer</a>. You can use the linked images as a reference to know what size to make these images.</p>
<h3>How do I repackage the installer?</h3>
<p>
To repackage the installer, first you need to zip up the changes that you made. Type:<br />
<code></p>
<pre>
7z a -r -t7z app.7z -mx -m0=BCJ2 -m1=LZMA:d24 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3
</pre>
<p></code><br />
This will create a file called app.7z that has all the changes we made. Now we need to package that file with some other files to create the final EXE. We&#8217;ll need the file <a href="http://mxr.mozilla.org/mozilla1.9.2/source/other-licenses/7zstub/firefox/7zSD.sfx">7zSD.sfx which you can download from Mozilla</a>. And we&#8217;ll need a file called app.tag which you can create. It looks like this:<br />
<code></p>
<pre>
;!@Install@!UTF-8!
Title="Mozilla Firefox"
RunProgram="setup.exe"
;!@InstallEnd@!
</pre>
<p></code><br />
Once we have these files, we can run the command:<br />
<code></p>
<pre>
copy /B 7zSD.sfx+app.tag+app.7z our_new_installer.exe
</pre>
<p></code><br />
to package them all as an EXE. Don&#8217;t forget the /B. It indicates that the files are binary so Windows won&#8217;t put an EOF marker on them.
</p>
<h3>Can I change the defaults that are set in the installer like the install directory or the checkboxes?</h3>
<p>
At this time, there is no way to change the defaults in the installer without rebuilding the installer. There&#8217;s a <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=572405">bug open on this with a patch</a>, so hopefully this will be fixed for Firefox 4.
</p>
<h3>Can I make my totally rebranded Firefox coexist nicely with an existing Firefox?</h3>
<p>
There are a couple ways to do this. The easiest way is to use the <code>-no-remote</code> parameter when you start Firefox. This causes the Firefox you are starting to not connect to the Firefox that is currently running. When you do this, you have to specify a different profile using the <code>-P</code> parameter. Alternatively, you can change the internal identifiers that Firefox uses. Then it will be considered to be a completely different browser. If you choose to do this, you should be aware that you will not receive updates and there will be other side effects. This is not a decision that should be taken lightly. Also, your profiles will be stored in different locations as well. If you want to do this, check out the file <code>application.ini</code> in the nonlocalized directory. The variables you want to change are Vendor and Name. Again, you do this at your own risk.
</p>
<h3>What can I do if I&#8217;m willing to rebuild the installer with NSIS?</h3>
<p>
If you are willing to rebuild the installer, you can change things like the name of the entry in the Add/Remove programs list, as well as the install directory and other defaults. This is a nontrivial exercise because some of the required files are built as part of the Mozilla build proces and are not available in the build tree. If you&#8217;re really interested in doing this, you can contact <a href="mailto:consulting@kaply.com">Kaply Consulting</a> and we can talk about it.
</p>
<p>
I hope this answered some questions folks have. If anyone has any more questions, please don&#8217;t hesistate to ask.</p>
]]></content:encoded>
			<wfw:commentRss>http://kaply.com/weblog/2010/06/18/customizing-the-firefox-installer-on-windows/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Hiding the CCK</title>
		<link>http://kaply.com/weblog/2010/03/23/hiding-the-cck/</link>
		<comments>http://kaply.com/weblog/2010/03/23/hiding-the-cck/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 14:48:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[cck]]></category>

		<guid isPermaLink="false">http://kaply.com/weblog/?p=475</guid>
		<description><![CDATA[In previous versions of the CCK, I provided the ability to hide and or/lock the CCK that is generated. Locking prevents the user from uninstalling the add-on, but it is rather useless since the user can still disable it. Hiding &#8230; <a href="http://kaply.com/weblog/2010/03/23/hiding-the-cck/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
In previous versions of the CCK, I provided the ability to hide and or/lock the CCK that is generated. Locking prevents the user from uninstalling the add-on, but it is rather useless since the user can still disable it. Hiding preventing the user from disabling or uninstalling.
</p>
<p>
Unfortunately Mozilla removed the ability for an add-on to hide itself in Firefox 3.6.
</p>
<p>Luckily working around this is very easy and will be included in the next version of the CCK Wizard. In order to make this work, I&#8217;m going to provide one option that hides the add-on. Lock and hide will no longer be separate. This seems rather logical since the lock option is pretty useless by itself.
</p>
<p>
Note that none of these options work unless the add-on is installed in the same directory where the Firefox executable is located.</p>
]]></content:encoded>
			<wfw:commentRss>http://kaply.com/weblog/2010/03/23/hiding-the-cck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CCK Wizard Update and FAQs</title>
		<link>http://kaply.com/weblog/2010/03/03/cck-wizard-update-and-faqs/</link>
		<comments>http://kaply.com/weblog/2010/03/03/cck-wizard-update-and-faqs/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 16:32:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[cck]]></category>

		<guid isPermaLink="false">http://kaply.com/weblog/?p=428</guid>
		<description><![CDATA[I&#8217;ve updated the CCK Wizard for Firefox 3.6. It&#8217;s available here. It will be on AMO once the translations are done and if no one finds any major issues. Here&#8217;s a summary of the changes: Updated for new Firefox 3.6 &#8230; <a href="http://kaply.com/weblog/2010/03/03/cck-wizard-update-and-faqs/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
I&#8217;ve updated the <a href="https://addons.mozilla.org/firefox/addon/2553">CCK Wizard for</a> Firefox 3.6. It&#8217;s available <a href="http://kaply.com/addons/cckwizard/cckwizard-1.2.5.2.xpi">here</a>. It will be on AMO once the translations are done and if no one finds any major issues. Here&#8217;s a summary of the changes:
</p>
<ul>
<li>Updated for new Firefox 3.6 proxy panel</li>
<li>Two CCKs can now coexist (Company Identifiers must be unique to each CCK)</li>
<li>Bundling XPIs and JARs no longer uses XPI bundles &#8211; they are explicitly installed upon first run of the CCK (please test this if you bundle multple XPIs)</li>
<li>All translated CCK Wizards should now be working</li>
<li>First run screen added to CCK Wizard install</li>
<li>A few bugs fixed</li>
</ul>
<p>Some other items of note:</p>
<p>
As I mentioned before, I&#8217;ve moved CCK Wizard development to <a href="http://code.google.com/p/ff-cckwizard/">Google Code</a>. Please feel free to open up bugs there.
</p>
<p>
Going forward, I&#8217;m going to add the ability to do more locking down of functionality in Firefox. If you have specific needs, please open bugs in Google Code.
</p>
<p>
To close this post out, I want to answer a couple questions about CCK Wizard that are asked a lot.
</p>
<h3>What is the right way to install the CCK?</h3>
<p>
There are multiple ways the CCK can be installed based on your needs. I&#8217;ll go through all those ways.</p>
<p><b>Standard install</b> &#8211; The XPI that is created by the CCK Wizard is just a Firefox extension, so as such it can be placed on a web page and users can simply click to install. You can get more information on how to do this from the <a href="https://developer.mozilla.org/en/Installing_Extensions_and_Themes_From_Web_Pages">Mozilla developer center</a>.
</p>
<p><b>In the Firefox directory</b> &#8211; Extensions can be installed directly into the Firefox directory. Inside of the directory where the Firefox executable is located, there is a directory called extensions. Inside this directory, you can create a directory with the same ID as your CCK and then unzip your CCK into that directory. This is the only location where you can hide the add-on.
</p>
<p><b>As part of a Firefox install</b> &#8211; I&#8217;ve previously documented <a href="http://kaply.com/weblog/2007/03/20/deploying-firefox-2-within-the-enterprise-part-3/">how to bundle the CCK in the installer</a> and <a href="http://kaply.com/weblog/2007/07/27/manually-repackaging-the-firefox-installer-on-windows/">how to package the installer on Windows</a>. These instructions still hold true.
</p>
<p><b>Globally</b> &#8211; There are designated locations in different operating systems where extensions can be installed and they are picked up by Firefox. You can get more information on these locations at the <a href="https://developer.mozilla.org/en/Installing_extensions">Mozilla Developer Center</a>. This involves unzipping the CCK package in a specific location on the users hard drive into a directory that is named the same as the ID of the CCK. Using this method, you can manage the CCK package centrally and the user cannot uninstall the CCK from Firefox.
</p>
<p><b>Via the Windows Registry</b> &#8211; If you are on Windows, extensions can be installed via the Windows registry. This is documented at the <a href="https://developer.mozilla.org/en/Adding_Extensions_using_the_Windows_Registry">Mozilla Developer Center</a>. This involves unzipping the CCK package that you created to a central location and then adding a registry key that tells Firefox where to find the CCK. Using this method, you can manage the CCK package centrally and the user cannot uninstall the CCK from Firefox.
</p>
<h3>What do the options &#8220;Do not show this extension in the extension manager&#8221; and &#8220;Prevent the uninstall of this extension&#8221; do? They don&#8217;t seem to work for me.</h3>
<p>
These options only work if your CCK is located in the extensions directory where the Firefox executable is located.
</p>
<p>
If you have any more questions, feel free to ask in the comments.
</p>
</p>
<p>
<h5><em>Do you need to do even more customization of Firefox for your organization? That&#8217;s what we do. Contact <a href="http://consulting.kaply.com">Kaply Consulting</a>.</em></h5></p>
]]></content:encoded>
			<wfw:commentRss>http://kaply.com/weblog/2010/03/03/cck-wizard-update-and-faqs/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Addoncon Userpoints Idea</title>
		<link>http://kaply.com/weblog/2010/02/25/addoncon-userpoints-idea/</link>
		<comments>http://kaply.com/weblog/2010/02/25/addoncon-userpoints-idea/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 15:53:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[addoncon]]></category>
		<category><![CDATA[contributions]]></category>

		<guid isPermaLink="false">http://kaply.com/weblog/?p=422</guid>
		<description><![CDATA[At Addoncon, there was a lot of talk about how to compensate Firefox add-on developers. One of the ideas mentioned was some sort of user point system where points could be allocated to add-on developers by users and also based &#8230; <a href="http://kaply.com/weblog/2010/02/25/addoncon-userpoints-idea/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
At <a href="http://addoncon.com/">Addoncon</a>, there was a lot of talk about how to compensate Firefox add-on developers. One of the ideas mentioned was some sort of user point system where points could be allocated to add-on developers by users and also based on usage and then the add-on developers could either donate it to a cause, turn it into merchandise, or turn it into real money.
</p>
<p>
What this does is provide a way to compensate add-on developers for the contributions they are making to the overall Firefox brand equity.
</p>
<p>
I have a longer <a href="http://addoncon.com/blog/?p=149">summary of this idea on the Addoncon blog</a> and would love to get feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://kaply.com/weblog/2010/02/25/addoncon-userpoints-idea/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CCK Wizard Status</title>
		<link>http://kaply.com/weblog/2010/01/28/cck-wizard-status/</link>
		<comments>http://kaply.com/weblog/2010/01/28/cck-wizard-status/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 14:25:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[cck]]></category>
		<category><![CDATA[enterprise]]></category>

		<guid isPermaLink="false">http://kaply.com/weblog/?p=418</guid>
		<description><![CDATA[With the release of Firefox 3.6, people are already asking me about a new CCK Wizard. I am working on an update. You can get a beta of that here. Primary changes are more information on the proxy page, ability &#8230; <a href="http://kaply.com/weblog/2010/01/28/cck-wizard-status/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
With the release of Firefox 3.6, people are already asking me about a new <a href="https://addons.mozilla.org/en-US/firefox/addon/2553">CCK Wizard</a>. I am working on an update. You can get a beta of that <a href="http://kaply.com/cck/cckwizard-1.2.5.2b4.xpi">here</a>. Primary changes are more information on the proxy page, ability to open an existing CCK and better coexistence of multiple CCKs.
</p>
<p>
Most interesting news on the CCK front is that I&#8217;ve decided to move it to Google Code instead of maintaining in the Mozilla trees. The URL is <a href="http://code.google.com/p/ff-cckwizard/">http://code.google.com/p/ff-cckwizard/</a>. My primary reason for doing this is honestly that I&#8217;m not really contributing to Mozilla/Firefox proper anymore and messing with Mercurial isn&#8217;t worth it for me (I know, lame excuse.) It has some other advantages, though, like having my own bug reporting system and not having to get any reviews/approvals for checkins.
</p>
<p>
So if you have ideas/suggestions/bugs for the CCK Wizard, please open them in Google Code.
</p>
<p>
 Also note that CCK Wizard is something I do on the side, so my time is limited. <a href="https://addons.mozilla.org/en-US/firefox/addon/2553/about">Contributions help</a>. I know there are a lot of folks who depend on this for the business. Any and all love is appreciated.</p>
]]></content:encoded>
			<wfw:commentRss>http://kaply.com/weblog/2010/01/28/cck-wizard-status/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Extensions, Personas and Jetpack! Oh, My!</title>
		<link>http://kaply.com/weblog/2010/01/11/extensions-personas-and-jetpack-oh-my/</link>
		<comments>http://kaply.com/weblog/2010/01/11/extensions-personas-and-jetpack-oh-my/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 15:20:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[personas]]></category>

		<guid isPermaLink="false">http://kaply.com/weblog/?p=404</guid>
		<description><![CDATA[As a result of Mike Connor&#8217;s post, there&#8217;s lots of discussion about extensions, theming, Personas and Jetpack. This is my livelihood, so I definitely have to jump in. First, let&#8217;s talk about Personas. I hate to burst everyone&#8217;s bubble, but: &#8230; <a href="http://kaply.com/weblog/2010/01/11/extensions-personas-and-jetpack-oh-my/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
As a result of <a href="http://steelgryphon.com/blog/2010/01/09/on-personas-and-themes/">Mike Connor&#8217;s post</a>, there&#8217;s lots of discussion about extensions, theming, Personas and Jetpack. This is my livelihood, so I definitely have to jump in.
</p>
<p>
First, let&#8217;s talk about <strong>Personas</strong>. I hate to burst everyone&#8217;s bubble, but:</p>
<blockquote><p>Personas is not lightweight theming. Personas is wallpaper.</p></blockquote>
<p>We&#8217;ve had it since Windows 3.0 (may be even before). It&#8217;s pretty wallpaper, but it&#8217;s still wallpaper.
</p>
<p>
Lightweight theming is a different beast. Lightweight theming is the ability to theme the browser <strong>window</strong> WITHOUT theming the rest of the browser. So lightweight theming might involve changing things like browser background images (more than one), toolbar buttons, and possibly the URL bar or the tabs. I&#8217;ll be a little self serving and say that everything <a href="http://brandthunder.com/">Brand Thunder</a> does is lightweight theming. You can see examples at <a href="http://brandthunder.com/gallery/">the gallery</a>.
</p>
<p>
Personas is not a suitable replacement for Firefox theming. It doesn&#8217;t even come close. And looking at the designs for future versions of Firefox, Personas becomes irrelevant &#8211; there&#8217;s very little browser chrome to even see the background images. (Clue to Firefox developers &#8211; make the new tab window transparent like Chrome).
</p>
<p>
People point to Personas and say &#8220;look how popular it is &#8211; people must want theming that way.&#8221;</p>
<blockquote><p>Personas&#8217; success is about marketing.</p></blockquote>
<p>Personas is the only extension that Mozilla markets. They market it on first run pages, download pages and home pages. It has a dedicated domain. It has special privileges for being installed without the add-on security warning. It was a recommended add-on from day one. They even have a custom bundle of Firefox that includes Personas!
</p>
<p>
So please don&#8217;t tell me that Personas is the future. Personas is the present. Clearly a completely new solution will be needed for future Firefox versions.
</p>
<p>
Now let&#8217;s talk about <strong>Jetpack</strong>.
</p>
<blockquote><p>Jetpack is like giving me an Erector set when I used to have a Home Depot. </p></blockquote>
<p>
Let&#8217;s look at the problems that Jetpack attempts to solve and see if a new programming model was necessary to solve them.
</p>
<p><b>Install without restart</b> -<br />
If extension developers were given a specific set of APIs that they could use that didn&#8217;t require restart, then extensions could be marked as &#8220;doesn&#8217;t need restart&#8221; and this problem would be solved. All Jetpack does is pre-grab parts of the Firefox UI so that when things are placed there, Jetpack handles their placement, not Firefox. This could be done with any extension API. It doesn&#8217;t require Jetpack.
</p>
<p><b>Ease of creation</b> -<br />
A learning curve is a learning curve. I don&#8217;t know jQuery, so Jetpack has a learning curve for me. Jetpack is simply trading one programming model for another. I&#8217;ve been to presentations where HTML developers were shown how extensions work and within one hour they could create extensions. Doing very interesting things with extensions might be difficult to learn, but that&#8217;s why you create an API. And that API does NOT have to be Jetpack specific. Packaging can be a little tricky, but again solvable outside of the context of Jetpack.
</p>
<p><b>API</b> -<br />
If the extension API isn&#8217;t very user friendly, fix it. Isn&#8217;t that what FUEL was trying to accomplish? If you want a stable API that doesn&#8217;t change from release to release, create one. There&#8217;s no need this API needs to be created as a part of Jetpack.
</p>
<p><b>Forward compatibility</b> -<br />
Extensions break from release to release of Firefox. That&#8217;s just a fact of life. The only way to prevent this is to give extension developers a very tiny sandbox in which to play. We don&#8217;t want this. Give us a big sandbox and if we break, we break.</p>
<blockquote><p>The problem is not that you break us. The problem is short release cycles</p></blockquote>
<p>Right now, the Firefox team is aiming for six month release cycles. For an extension developer, the last two months of that cycle are when we can really start checking out things and it&#8217;s only in the last month that we can actually release addons that have the correct version in install.rdf (due to AMO restrictions.). Most extension developers have multiple extensions and probably a day job. Updating five or 10 or even hundreds of extensions can be quite problematic.
</p>
<p>
Jetpack simply creates a new set of problems and a new context to solve those problems. We should try to fix those problems in the existing context.<br />
</></p>
<p>
I think the core problem here is a disconnect between Mozilla Labs and the rest of the Mozilla community. Mozilla Labs operates in a very closed community, completely contrary to the way other Mozilla projects are done (at least for the initial phases of a project). I think that contributes to their myopic vision of the future of the browser. I&#8217;d much rather see Mozilla Labs work with the community to propose ideas and foster those ideas to create a real open source lab versus coming up with ideas and then trying to force those ideas on me.
</p>
<p>
And incidentally, Internet Explorer is a great example of what happens when you give people a limited set of APIs to work with. They come up with elaborate hacks in order to make things work. And those definitely break from release to release. If you limit people, they will come up with ways around those limits. Please don&#8217;t limit me.</p>
]]></content:encoded>
			<wfw:commentRss>http://kaply.com/weblog/2010/01/11/extensions-personas-and-jetpack-oh-my/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>New Rebranding Wizard</title>
		<link>http://kaply.com/weblog/2009/12/21/new-rebranding-wizard/</link>
		<comments>http://kaply.com/weblog/2009/12/21/new-rebranding-wizard/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 17:13:13 +0000</pubDate>
		<dc:creator>mkaply</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[netscape]]></category>
		<category><![CDATA[rebrand]]></category>

		<guid isPermaLink="false">http://www.kaply.com/weblog/?p=391</guid>
		<description><![CDATA[I&#8217;ve just uploaded a new version of my add-on Rebrand to AMO. Until it is approved, you can download it using this URL. This new version adds support for SeaMonkey as well as Firefox 3.6. Rebrand is a fun add-on &#8230; <a href="http://kaply.com/weblog/2009/12/21/new-rebranding-wizard/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
I&#8217;ve just uploaded a new version of my add-on <a href="https://addons.mozilla.org/en-US/firefox/addon/2776">Rebrand</a> to AMO. Until it is approved, you can download it <a href="https://addons.mozilla.org/en-US/firefox/downloads/file/73369/rebrand-1.1-fx+sm.xpi">using this URL.</a> This new version adds support for SeaMonkey as well as Firefox 3.6.
</p>
<p>
Rebrand is a fun add-on that lets you change the name and branding images of Firefox, Thunderbird and SeaMonkey. It walks you through the rebrand process and then generates an add-on. Disclaimers apply, and they are shown during the startup of Rebrand.
</p>
<p>
To celebrate this release of Rebrand, I&#8217;ve created a very special rebrand package &#8211; <a href="http://kaply.com/addons/rebrand/netscape.xpi">the Netscape rebrand</a>. If you long for the good old days, you can install this add-on in Firefox or SeaMonkey and relive the good old days.
</p>
<p><img src="http://kaply.com/weblog/wp-content/uploads/2009/12/netscape.png" alt="netscape" title="netscape" width="151" height="234" class="alignnone size-full wp-image-394" /><br />
<br/></p>
<h5><em>Do you have a need to completely rebrand Firefox? <a href="http://consulting.kaply.com">Kaply Consulting</a> can help.</em></h5>
]]></content:encoded>
			<wfw:commentRss>http://kaply.com/weblog/2009/12/21/new-rebranding-wizard/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
