
It isn’t that often I get to gush over how awesome a dark theme for Firefox is. There just are not that many worth getting worked up over. However, the SmallringFX series of themes are well worth downloading and trying for yourself.
Coming in dark blue and magenta, this theme is about ask dark, cool and collected as a dark theme for Firefox can get. Sometimes, it might be a little too dark even. The only bad thing I found about this theme is the toolbar tips are even black with white text, so it often comes up looking odd. Other than that though, I can find no complaints about either of these themes – and highly recommend them both.
Both themes can be picked up on the Firefox Add-ons website from the above links. Also, to learn more about the designer behind the themes, check out smallringfx.com. Can’t wait to see how this theme evolves in the future.
Add me on Twitter! Come follow my daily antics, links, tips and more @mitchkeeler on Twitter!
© Mitch Keeler 2010 | Check out my personal blog and my hosting podcast too!
Firefox Facts has finally finished moving from our old sponsored hosting account from another hosting provider, to a brand new (and powerful) VPS hosting account. What is a VPS hosting account, and what does this mean for you, you and you over there? Check out the details on my fantastic other website, Mitchelaneous.com.
Add me on Twitter! Come follow my daily antics, links, tips and more @mitchkeeler on Twitter!
© Mitch Keeler 2010 | Check out my personal blog and my hosting podcast too!
In the realm of mailnews, there are a few parts of the code that don’t really get all the attention they deserve. One of them is the compose window.
> jcranmer: libmime and compose are pretty much the two areas that I refuse to do research in
> bwinton: jcranmer: That’s a pretty good policy
The compose window actually involves different pieces of software: one of them is responsible for assembling the message, and passing it to the sending logic. The other one is the actual composition UI, which includes a whole bunch of dialogs (e.g. inserting an image, inserting a link), as well as the central component, called the editor (the big blank area where you type your message). Different factors can explain the lack of activity in that part of the Thunderbird code:
- editor is notoriously hard to grasp – this is a vast, ancient piece of software, that didn’t quite move on as the rest of the gecko core kept improving (although this has been changing recently, thanks to Ehsan’s work),
- the assembling and sending logic is all-C++, which makes it hard for extension authors to interact with us, and for would-be contributors to help us,
- the composition UI involves a lot of (very old) files, most of which we cannot maintain, because
- Mozilla Messaging is extremely low on resources.
We’re currently exploring ways to relieve the pressure, and move on to a saner design for us. I’ve been working on an experiment that aims at tackling these pain points. It basically consists in replacing the standard XUL compose window with a tab written in XHTML that integrates CKEditor, and doing all the composition process in JS, upto the actual send that takes places in C++.
The potential benefits are as follows.
- We’d be able to move to a more maintainable architecture. Having the compose code written in JS would certainly enable us to do much more, and be much more extensible.
- We’d pave the way for having a pluggable editor. Right now, the code is assuming that the only part that sends messages is the compose window. Other people might want to send messages too (Thunderbird Air is one of them).
- We’d defer the maintainance burden of the composition UI – the insert image dialog, for instance – to a third-party. This means more bugfixing, more active development, from a project that is Thunderbird-friendly to boot. We’re not doing any active development on these anyway…
- We’ll certainly introduce tons of bugs. However, fixing bugs in CKEditor certainly sounds more doable than fixing bugs in the C++ editor components.
- We’d be able to attract more contributors: unless you’re mentally insane, you don’t want to hack XUL and C++ components — however, fixing a whole bunch of Javascript sounds more reasonable.
- We’d finally introduce the much-wanted “compose in a tab” feature.
This experiment has barely reached the point where it starts being actually usable. However, I figured out I might as well share it with the community so that we can gather initial feedback.
Some disclaimers apply.
- That extension actually requires Contacts for the autocomplete (a nice side-effect is that you can autocomplete more than two addresses for the same contact, ha!).
- This extension is an experiment. There’s a huge list of things it doesn’t do. Right now, it barely allows you to reply, forward, and edit/save drafts. It doesn’t take your preferences into account, it only sends html, not mixed mime emails. It has bugs. Lots of them.
- To make sure this works properly, you need to ensure in Tools > Accounts settings that for each of your accounts, in the “Composition and addressing” section, “Compose messages using HTML” is actually checked. Otherwise, you will send HTML markup as plain/text, which is usually a bad idea.
- This release targets Thunderbird 3.1. Because patches that enhance interaction between this new editor and the Thunderbird core will have to wait for 3.2, you will see a lot of errors in the Error Console.
- Support will be scarce. I am not a Mozilla Messaging employee, and I’m doing this on my spare time. So please be patient, check out the list of missing features on the GitHub Wiki, and don’t report a ton of bugs: I’m probably aware of them already
.
Here’s a screencast:
Compose in a tab from Mozilla Messaging on Vimeo.
This project is tracked on GitHub, so you can follow me over there. I’ll be posting regular updates regarding this project and others on my personal blog.
I’m looking forward to hearing your thoughts on this!
Jonathan (:protz)
The Latest Study
While previous Test Pilot studies (e.g. the Firefox Main Window, Menu Item Usage, and Tab Switch studies) have largely focused on user experience and usage data, the Test Pilot extension is flexible enough to capture a wide range of other data related to the Firefox browser. The ‘About:Firefox’ Study is a 1-day study implemented to record configuration and performance information for our product and engineering teams.
The study will take a snapshot of memory use statistics, plug-in information, graphics card configuration, and modified preferences (information that can be viewed in ‘about:support’ and ‘about:memory’). As always, we are careful to avoid collecting any sensitive or personally identifiable information. The ‘About:Firefox’ Study will only capture information on a pre-defined set of preferences; we’ve made sure to blacklist any preferences that might contain sensitive data, such as homepage settings.
By submitting this data, you will help our product and engineering teams prioritize development efforts and create a more efficient browser!
Test Champion: Christopher Jung, Data Analyst, Mozilla Metrics.
Test Duration: 1 day.
Test Version: Firefox 3.6.x and Firefox 4 Beta
Privacy
Security and privacy are priorities for Mozilla, especially when dealing with user data. Test Pilot privacy settings give users control over their data – these privacy settings include:
- Participants’ data will be transmitted to Mozilla only when they take all of the following actions:
* Join the Firefox 4 Beta program by downloading the beta with the Feedback Add-On.
* Submit data when the test is finished. Participants will be able to review all data before choosing whether or not to submit it. - Test data will be stored anonymously and in aggregate. None of it will be publicly associated with any personally identifiable information.
- Participants can quit a Test Pilot study before they submit any test data.
- Participants can opt-out from all user studies or disable the Feedback Add-On itself at any time. Learn more.
Get Involved!
- If you are testing Firefox 4 Beta, the Feedback Add-On will notify you before the study starts, at which point you can view a detailed study description and choose to opt-out of the study if you wish. For more information on how Test Pilot in Firefox 4 beta works, please see the “How it Will Work” section here .
- If you are not running Firefox 4 Beta, what are you waiting for? We invite you to get on the latest beta to participate in this study. Help test the future of Firefox by downloading the latest Firefox 4 Beta!
- And of course, please share your questions and suggestions in the Test Pilot discussion group or on Twitter.
Today, we’re announcing that the Mozilla Labs project codenamed “Bespin” is now called Mozilla Skywriter. It remains a Labs experiment to see how great coding in the browser can be by making a powerful, customizable HTML5 text editor. We’re also announcing a move to GitHub.
We’ve had many compliments and complaints about the “Bespin” codename ever since we first introduced the project. You can’t please everyone, especially when it comes to naming. The Bespin codename, derived from the awesome “cloud city” in The Empire Strikes Back, was a fun name to use for an editor that enables “coding in the cloud”.
Since the initial release in February 2009, the Bespin has come a long way. The project has changed focus and expanded its reach. The “Bespin Embedded” releases have been showing up more and more including several entries in the recent “Node Knockout” competition: Nodify, Inflatable Churn, and Wrath. Other recent development environments on the web have also chosen to use Bespin, including ShiftEdit, jGate and Mozilla’s own Add-On Builder (aka FlightDeck).
As we approach a 1.0 release, it was clear that it was time to shed Bespin’s code name and give it a real, lasting project name. We’re happy to announce that that name is Mozilla Skywriter. I think that Mozilla Skywriter fits the “coding in the cloud” theme very well indeed.
Skywriter is becoming an end-to-end JavaScript-based system. Camilo Aguilar, a new contributor to the project, has been working on porting “dryice”, our build tool, to node.js. Once that’s done, we’ll be creating a XULRunner-based desktop version of Skywriter and a new customizable server version based on node.js. It’s actually pretty amazing how many different uses for our editor we’ll be able to target with a single codebase.
Many people who have worked on Skywriter have expressed a desire to fork it on GitHub. There have been unofficial mirrors and plenty of people installing Mercurial just to use Bespin. In order to make things easier for our community, we’re moving the official repository for Skywriter over to GitHub: http://github.com/mozilla/skywriter.
A note about the repositories: that shiny new repository holds the “all JavaScript” version of Skywriter. As I write this, that repository needs a lot of work (in other words, it’s broken!). All of the “bespin” names have changed to “skywriter” and the build tooling is still in the process of being rebuilt. The existing bespinclient repository remains available for people wanting to work with something that works today. That repository is effectively a branch of the code prior to the start of the JavaScript work. For the most part, we should be able to migrate changes made to that repository over to the new Skywriter repository pretty easily. We’re just changing the tooling to JavaScript, we’re not really changing Bespin’s core plugins at all.
One final note about the Bespin to Skywriter transition: the Bespin name appears in many places and it will take some time to fully migrate over. The Mozilla Skywriter home page will always have up to date links to project resources and is the best place to look if you’re having trouble finding something.
You can follow the Skywriter project (MozSkywriter) on Twitter and ask us questions in #skywriter on irc.mozilla.org.
Finally, a big thanks to Julian Viereck who is off to university in Zürich. Julian has been a huge help to the Skywriter project since the beginning and we wish him good luck in the coming years!
– Kevin Dangoor on behalf of the Mozilla Skywriter team
I’ve known Dan Mosedale a long time. He was already at Netscape working in the browser realm when I arrived in the fall of 1994. In fact, of all the people working on Mozilla and browsers in the world today, I think Dan was probably the first. Not the person with the longest continual history (Dan has taken some breaks), but the first chronologically.
I got to know Dan well when we both joined Mozilla full time in 1999. We had both been working on Mozilla part-time since before its founding, Dan on the IT/infrastructure side and me on the MPL and organizational aspects. We both joined Brendan at Mozilla full time at the same time in early 1999, as did Mike Shaver. In that era the very small group of us managing the project were known as “mozilla.org staff.”
In the next few years mozilla.org staff (which also came to include Myk, Asa and Marcia) made a number of decisions about the Mozilla project that we know put our jobs at Netscape/ AOL at risk. Each time we would all look at each other and make sure we understood what we were doing. We would plan how to keep mozilla.org up and running. In this we had support from many other long time Mozilla contributors who are with Mozilla today, including Chris Hofmann who ultimately became the liaison between mozilla.org staff and Netscape/ AOL after our decisions did cause me to be fired (technically “laid off”).
A couple years ago I mentioned to Dan that I had decided to learn to ice skate, since there’s a skating rink near my house. Dan suggested I try hockey, that despite its appearance it can be much less risky and worrisome than figure skating. I recall vividly his comment that once he has all his gear on, falling became mostly irrelevant. I’ve remembered this each time I’ve fallen without pads — the ice can be hard. Not every fall hurts, but the idea of falling is inhibiting.
Saturday night was Give Hockey a Try Day, with a session at the local rink. The Northern California Women’s Hockey League, a volunteer organization focused on getting women to play and enjoy hockey, takes this seriously. Members donate their gear for the session. They invite women of all skill levels and all ages. (One current coach had no idea how to skate when she started.) Members come with their gear, members come to help neophytes get dressed, member coaches come and get everyone out on the ice. In two hours you go from never having worn hockey skates or held a hockey stick to passing and scrimmaging. Poor quality scrimmaging for sure, but also sometimes hysterically funny as a result. The great thing is that once you’re thinking about the puck, you stop worry about the skating.
In Dan’s honor I rammed myself into the wall to make myself fall. He was right — it was barely noticeable, and not remotely inhibiting.
The NCWHL folks were universally positive and supportive. They end the event with a gear sale so that newcomers can get somewhat worn-out gear for very little money and get started in league play without a lot of expense. I travel too much and have far too little time to add anything structured to my life but still love the sense of racing around the ice not worried about knees and elbows and jaws.
The evening also reminded me of how astonishing people can be when they love what they are doing. As Esther Dyson keeps reminding me, a vibrant civil society is an awesome thing.
Why read something now, when you can simply save it for later? I am always running across neat articles or reviews I want to read more in-depth, but I don’t have the time. That is where a service and add-on like Read it Later comes in handy.
The add-on in question will save pages for you to read later with just one click. When you have the time to check it out, you can access your Read it Later list from any computer or phone. As you save things, it syncs it to your profile on the Read it Later website.
Some of the features of the Firefox add-on include:
- Save pages to a reading list to read when you have time.
- Offline reading mode lets you read the items you’ve saved for later on the plane, train, or anywhere without an internet connection.
- Sync your list to all of your computers, at work or home.
- Sync your list to Read It Later apps for iPhone, iPod, iPad, Android and more.
- After reading, bookmark pages on your preferred bookmarking service or share them with friends.
- Click to Save Mode lets you quickly batch a reading list just by clicking on interesting links.
- Text view strips away images, ads, and layout from articles and presents them in an easy to consume way.
Personally, I have been using Instapaper, for some time, to get this same task done. However, Read it Later does offer a little more functionality – so I might have to switch my “reading list/bookmark saver” down the road.
You an lean more about the Read it Later service at readitlaterlist.com and you can pick up the Read it Later add-on from the Firefox Add-ons website.
Add me on Twitter! Come follow my daily antics, links, tips and more @mitchkeeler on Twitter!
© Mitch Keeler 2010 | Check out my personal blog and my hosting podcast too!

With Firefox 4 being right around the corner, are all of your favorite add-ons and themes going to make the cut? In my own opinion, I think that the drastic changes in both the backend of Firefox and the visual frontend will lead to a lot broken add-ons and favorite themes. Hopefully though, this will not be the case once Firefox 4 is ready for the general public at large.
Add-ons Compatible with Firefox 4 – First, lets take a look at the Firefox extensions. Doing a quick search on Firefox’s Add-ons website I found 1,000 add-ons that claim to be compatible with Firefox 4.0. That might sound like a lot – and it might cover all the basic bases, but Firefox currently has at least 10 times that amount in all. So this means that possibly only 1 in ever 10 add-ons might be compatible.
Themes Compatible with Firefox 4 – So, what about Firefox themes? Currently there are 412 themes for Firefox (or 694 if you count the ones that are un-reviewed). So how many Firefox themes are compatible with Firefox 4 right now? There are 29 themes that are ready for Firefox 4.
How Can I Get Involved?
So, how can you make sure your favorite theme or add-on is compatible with Firefox 4? The best way would be to visit that theme’s profile on the Firefox Add-ons website – and then either find the official site for the add-on or search for the “E-mail your question” link on the profile page:

Contact the add-on or theme author and let them know you would like to continue to use their wonderful work once Firefox 4 rolls out.
Add me on Twitter! Come follow my daily antics, links, tips and more @mitchkeeler on Twitter!
© Mitch Keeler 2010 | Check out my personal blog and my hosting podcast too!

With Firefox 4 being right around the corner, are all of your favorite add-ons and themes going to make the cut? In my own opinion, I think that the drastic changes in both the backend of Firefox and the visual frontend will lead to a lot broken add-ons and favorite themes. Hopefully though, this will not be the case once Firefox 4 is ready for the general public at large.
Add-ons Compatible with Firefox 4 – First, lets take a look at the Firefox extensions. Doing a quick search on Firefox’s Add-ons website I found 1,000 add-ons that claim to be compatible with Firefox 4.0. That might sound like a lot – and it might cover all the basic bases, but Firefox currently has at least 10 times that amount in all. So this means that possibly only 1 in ever 10 add-ons might be compatible.
Themes Compatible with Firefox 4 – So, what about Firefox themes? Currently there are 412 themes for Firefox (or 694 if you count the ones that are un-reviewed). So how many Firefox themes are compatible with Firefox 4 right now? There are 29 themes that are ready for Firefox 4.
How Can I Get Involved?
So, how can you make sure your favorite theme or add-on is compatible with Firefox 4? The best way would be to visit that theme’s profile on the Firefox Add-ons website – and then either find the official site for the add-on or search for the “E-mail your question” link on the profile page:

Contact the add-on or theme author and let them know you would like to continue to use their wonderful work once Firefox 4 rolls out.
Add me on Twitter! Come follow my daily antics, links, tips and more @mitchkeeler on Twitter!
© Mitch Keeler 2010 | Check out my personal blog and my hosting podcast too!
Almost every time I talk to Esther Dyson about Russia, she speaks of the importance of building civil society, of developing a world where people don’t look to government and formal “non-governmental organizations” for all the answers. Here’s a paragraph she wrote about civil society in an article about the Feb 2010 US State Department Tech Delegation to Russia:
Civil society is not just politics: it is a restaurant giving unused food to the poor. It is a for-profit company such as Twitter providing its service free to rich and poor alike (even though advertisers will focus on the rich). It is successful entrepreneurs mentoring start-up entrepreneurs, and NGOs engaging not just with the government, but also with commercial outfits to get support for activities that will address vexing social problems such as maternal and infant mortality.
I was reminded of Esther’s focus on civil society at the CrisisCamp event Friday night.
There are a lot of barriers to helping from a distance when a disaster strikes. Today information technology, the marvels of the Internet, and new tools focused on crowdsourcing and crowd-sourced data provide some new mechanisms. And so there are groups of people trying to develop actionable data out of the heartbreaking SMS messages (a partial example: “village of 200 houses, 100% destroyed. 100% crops destroyed. Village still flooded.”)
There’s no official government involvement. There’s not necessarily any direct connection between the people working at this and the villages or individuals affected by the floor. There is however civil society in action: see a problem, do something. Form an association (Ben Franklin formed a surprising number of associations), virtual or formal. Build a tool — or a product. Reach out. Don’t wait for government to set up a special official organization — plunge in and do things.
The degree to which citizens believe they can, can, and do affect their own lives and the lives of others is a pretty potent marker of the nature of a society.


