Also, the element reference is now available as a set of XML files.
12:40 AM My first usage of Thunderbird
So today I decided to try Thunderbird 0.9 for Windows. I've never used Thunderbird before since it doesn't work on my Linux machine. Of course, Firefox doesn't work either except for version 0.7. Unfortunately, I've reached my limit of dealing with gtk dependencies.
The first thing I noticed after running Thunderbird is that it didn't migrate any Mozilla mail, although it did seem to be smart enough to retrieve some junk mail from my mail server. So I imported mail manually. The second thing I noticed is that I can now search the entire message right from the toolbar. To do this:
- Select Find In Message from the search dropdown.
- Type some search text and wonder why nothing is happening.
- Relize that you should have selected the similarly named Entire Message instead.
- Type some search text and smile that it actually worked.
The third thing I noticed was that the attachment pane has been moved to a spot along the bottom of the window. Nothing wrong with that.
The fourth thing I noticed was that I couldn't find any of Thunderbird's new features. No RSS support to be found. No message grouping to be found. I found them eventually by looking them up on some online help pages.
There's one feature that neither Mozilla Mail nor Thunderbird have which I need. After using a mail client all these years, I find that the biggest problem I have is trying to find a message I looked at recently. There are various search features, but unfortunately, they require that I know something about what I am looking for. For instance, I can find a message containing 'I have put the mockups of the UI on the web site.', by searching for 'mockups' or 'UI'. However, the way one searches in applications by using keywords and building expression-like syntax using a bunch of fields and dropdowns isn't how anybody's brain actually thinks. Instead of thinking 'search for the word mockups', I would think, 'that message that had the screenshots'.
How could this be improved? By making a view of the messages that Thunderbird thinks the user is most interested in. It can do this by knowing that 95% percent of messages that someone receives aren't very interesting. How would it know which messages are the 5% of the interesting ones? By watching the user read their mail.
Chances are that if I look at a message for three seconds, it isn't interesting. On the other hand, if I clicked a link in the message, it was probably an interesting message. A variety of factors can be used. Did I scroll the message in a manner that suggested I was reading it? Did I move the message to another folder? If I replied to it, it may have been interesting, but chances are that I have already finished with it. And so on.
Neither Thunderbird nor Mozilla Mail track how many times I viewed a message, or when. I'm not so interested in when I received a message, but when I looked at it, since I'm far more likely to remember that. If I've viewed a message several times, chances are it's interesting. Why not have a recently viewed list?
And what about a view which combines all messages into one? Trim out the less interesting messages, and trim out all the quoted text and signatures, and you've got a nice compact display of text that is easily searchable with type-ahead find. What about a summary of all links in all my messages? What about a page containing all images?
Ooo, I can see those extensions now...
5:15 PM Mozilla Inline Spellchecking
Recently, Linspire released an update to their Mozilla product, which includes an inline spellchecking feature, among many other features.
The inline spellchecking feature adds the red underlines under mispelled words. It works in plaintext and HTML Mail composition, Composer and in multi-line HTML textareas. It will also work in anything in Mozilla that has an associated nsIEditor, which is actually anywhere where text can be edited, although it isn't initialized by default in single line textboxes, XUL <editor> tags and HTML pages with a designmode set. Here is a screenshot:
Since this feature is a much requested feature (it currently has 82 votes in the Mozilla bug), we have ported the patch to Mozilla 1.8, and posted it in bug 58612. Try it out if you like.
Some answers to questions that will be asked:
- Will it be available in Firefox 1.0? No.
- Will it be available as an extension? No.
11:51 AM XUL Template Analysis
Seth examines an issue he was having with XUL templates. His analysis and conclusion are close, but not quite right. He determined:
All the rules in a multi-rule template must use the same variables, no matter what they're matching. You can't add new variables after the first rule.
Actually, only the container and member variables are required to be the same in all rules. The container variable is the one defined in <content uri="?blah"> and the member variable is the one used in the uri="?fred" in the action. They both need to be the same variables in all the rules due to the manner in which the template builder connects the rules for rebuilding. (when the rdf changes, the builder only examines the parts of the rules that might be affected.)
Other variables besides those two can be whatever you want and can be different in every rule.
10:39 PM The Complete Guide to Spelling my Name
About half of the people who contact me don't know how to spell my name. This is a guide to how to spell my name properly.
The following is the correct way to spell my name: Neil. Here are some incorrect ways: Neal, Niel, Neel, Niels, Niall
I know of about fifteen other people who are called Neil. I don't know anybody named Neal. Nor anybody named Niel. Due to some unscientific evidence I have seen, I think that the Neils outnumber the Neals fifteen to one. No one is spelled Niel. If you are, you're probably wrong. Or your parents were wrong.
My first name is pronounced the same as the word kneel. My last name (Deakin) is often pronounced wrong. Some incorrect pronounciations are: Dee-con, De-ay-con, Die-con, De-ay-kin, Die-kin, Rash-brook. The correct pronounciation is: Dee-kin ['di:kIn]
11:42 AM Mozdev Group is hiring!
Mozdev group is looking for a Mozilla developer to join us. Maybe it's due to the excitement over the upcoming Firefox release, but we're going to be really busy for the next little while with a variety of exciting new projects.
We've just finished up some projects, and soon, the results of this will be made available for general use, or will be provided as Mozilla patches and extensions.
12:38 PM More Slider Fun
I mentioned earlier that I was working on a slider widget. I wrote a spec for what I planned to implement, although I've only implemented part of it. I've been focusing on getting the slider to render using the native theme APIs. On GTK, this wasn't too hard. You can see an image of that in the previous post. On Windows, this turned out to be very difficult, and I haven't managed to succeed. I can get it to draw something that is slider-like but the size and position is all wrong.
I managed to create something that at least looks like a slider for the Classic (non-native theme) and Modern themes. However, it really is just a scrollbar with a small thumb, instead of a stretchy one.
So there's lots I would need help on:
- Classic and Modern look which only needs a CSS or theme person.
- Windows native slider
- Mac native slider. The Mac native theme code looks to be the simplest of the platforms.)
9:33 AM XUL Slider
There are a couple of XUL widgets which aren't finished yet, so they aren't documented on XULPlanet. One such widget is the <spinbuttons> tag, which is a textbox with two arrow buttons for adjusting the value. While there is some code for it, it is missing both images and code to do something when the arrow buttons are pressed. That said, finishing it is something that anyone with a bit of XUL knowledge can do, perhaps with a bit of help. (meaning, no C++ knowledge is needed.) If you'd like to help, let me know.
The other widget is the <slider> tag which allows one to select a value by sliding a thumb, much like a scrollbar. There is such a tag in XUL, however, it is really just a piece of a scrollbar, rather than a completed widget. The first step is getting it to look like a slider. I spent a bit of time with this, both with the slider code and the underlying GTK theme code. Here's an image, and I'd say it looks pretty good, and it works too.
I'll probably try a Windows version soon. The other problem is that the slider needs a few extra features to make it more useful as a slider, rather than a scrollbar with a different appearance. Most importantly is to display the current value in a label nearby. Not too hard, but the shared slider/scrollbar code assumes that the valid range always starts at 0 and ends at the value of the maxpos attribute. A minpos attribute could be added easily enough, but there are also cases where the slider might be used to choose a percentage, a decimal, or some other fixed set of strings.
Another common slider feature supported by other toolkits is showing tick marks along one edge. Unfortunately, GTK doesn't seem to support tick marks in its slider, so I don't think it's possible to make ticks theme-indepependant.