Displaying a Web Page for Your Add-on Options

Update:I just want to clarify when this method can be used. Obviously a web page can't update preferences in Firefox. We had a unique situation where a web page notified the browser of a change that allowed us to update a preference. It wasn't a lot of preferences. There is a lot of debate over having web pages message add-ons in this manner.

A few of the add-ons I've developed use web pages for their options rather than having them in a dialog. Unfortunately, when you use a regular web page as an optionsURL in your install manifest, it's opened up in a separate window that doesn't have scroll bars and doesn't work properly. Here's a workaround.

I Dare You To Move

It's now been two years since I left IBM. During this time of self employment, I've learned a lot about myself. The biggest thing I learned is that while I enjoy the freedom of self employment, my personality style doesn't fit well with being in an office all day by myself. I miss being around people.

In addition, this past year has been a pretty rough one for our family, so looking forward we decided that we needed to make a major change. So we've decided…

Sending Binary Data with XMLHttpRequest

I recently had the need to send a CSV file from my add-on to a PHP server and was looking for an easier way than constructing a POST request. I discovered that XMLHttpRequest has an API for this called sendAsBinary(). Using the API on the client side was easy, but figuring out how to get the file from PHP was a little tougher, so I thought I would share the information on my blog.

How to Reduce Your Tax Refund

A few years ago, I wrote a blog post detailing the differences between exemptions, allowances and deductions and telling you how to reduce your tax refund. Tax time is coming up, so I thought it was a good time to repost the information.

I've converted the post into a page - Exemptions, Allowances and Deductions: How to reduce your federal tax refund. There's also a new version of the withholding calculator for 2011.

Don't Second Guess Your Life

Do you ever find yourself going back through the decisions you've made and wondering how your life would be if you had made different choices? I know I do. But, as the movie "It's a Wonderful Life" makes abundantly clear, we have no understanding of the impact that we've made in this life. Our decisions, good or bad, have brought us to exactly where we are and affected other people's lives in ways we can't imagine. Even the smallest choice could have had a major impact, just like The Butterfly Effect.

CCK Wizard Beta for Firefox 4

Update: Beta 2 available to fix a bug with adding prefs

Have you ever needed to customize Firefox for deployment with in your organization or even to your family? That's what the CCK Wizard is all about. It allows you to create an add-on that customizes Firefox. You can learn more about what it does at addons.mozilla.org.

I've recently updated the CCK Wizard for Firefox 4 and have made a beta available. You can click here to install it. Once everything looks good with the beta, I'll put it on AMO.

So what's the future of the CCK Wizard?

Opening Web Pages in Your Add-On

You might not realize it, but Firefox has some mouse shortcuts for when you are opening a web page from the bookmarks toolbar. If you hold down Shift when you click, the link opens in a new window. If you hold down Command or Ctrl when you click, the link opens in a new background tab. If you hold down Command or Ctrl plus Shift when you click, the link opens in a new foreground tab. So how do you honor these different options when you are opening web pages in your add-on? You use the function openUILink.

What Is Your Message?

A few months ago, I had lunch with Thom Singer*. Thom's an author and speaker and a really great guy. I met with him because I really enjoy public speaking and I wanted to talk to him about what it takes to be a professional speaker. We had a great lunch and a great conversation. In the end though, I decided that a career as a public speaker wasn't for me right now. The reason was because of one specific thing Thom said.