Mon, September 30, 2002

Phoenix is moving quickly

Wow! The latest Phoenix nightly builds have some terrific improvements (I played with 2002-09-29-15 windows):

  • Customize the toolbars by dragging and dropping the buttons directly on the toolbar (no dialog necessary)
  • Ability to add new toolbars (create a separate one for URL, for example)
  • History, bookmarks, and downloads can now be sidebars (and you can add toolbar buttons to toggle them on and off)
  • In-form field autocompletion as with IE (start typing in a field and it gives you suggestions from previous things you’ve typed)
  • An interesting search box to add to the toolbar (I think I’d rather have a Find button.)
  • Drag and drop bookmarks to the bookmarks menu (This may have been there for a while, but I just noticed it)
  • Did I mention that it’s fast?

Find a saint by name bookmarklet

Chris asked me for a bookmarklet that searches the OCA website for a saint by name. I wrote one and added it to my bookmarklets page. This returns much nicer results than the one Basil wrote. Looks like he didn’t find the search box on the OCA Feast and Saints of the Church Year page, which is more difficult to find than it should be. It appears that his just does an OCA site search, which may be more generally useful.

Sun, September 29, 2002

The Phoenix as Christian Symbol

I’ve enjoyed that the phoenix was chosen as the name for the new browser project. The phoenix myth and the whole “rising from the ashes” idea is fairly commonly used as a metaphor for bringing new life or rejuvenation. Did you know that the phoenix has been used as a Christian symbol of the resurrection since the first century?

In a typical version of the myth, the phoenix is said to have been an eagle-like bird with beautiful red and gold plummage that lived in Arabia. Only one phoenix existed at a time. Every 500 years, as it felt its life drawing to an end, the phoenix would build a nest of frankincense, myrrh, and other sweet smelling woods. When its time was completed, it would set its nest on fire (or the sun’s rays would ignite it) and the bird would be consumed in the flames. Three days later, the phoenix would rise again from the ashes, restored to youth to live out another 500 years.

In another version of the legend, a worm crawls from the ashes and matures into a phoenix. The phoenix’s first task is to embalm the bones of its parent in a ball of myrrh and then carry this to the temple in Heliopolis (the City of the Sun) in Egypt to be buried.

In ancient Egypt, the phoenix, or bennu, was associated with the daily cycle of the Sun and the annual flooding of the Nile. The Romans used the phoenix symbol on their coins to represent both rebirth and the imperishable existence of the empire.

Clement of Rome in the First Epistle of Clement to the Corinthians makes the earliest known connection of the tale of the phoenix to the fact of the resurrection. Clement writes:

Do we then think it great and remarkable for the Maker of all things to raise up again those that have piously served him in the assurance of a good faith, when even by a bird he shows us the mightiness of his promises? For he says in a certain place, “Thou shalt raise me up, and I shall confess unto Thee;” and again, “I laid me down, and slept; I awaked, because Thou art with me;” and again, Job says, “Thou shalt raise up this flesh of mine, which has suffered all these things.”

After Clement of Rome’s epistle, the phoenix story was widely applied in the church as a symbol of apotheosis. Think about the story as you hear the baptismal hymn:

Awake, awake O sleeper,
Arise from the dead,
and Christ will shine on you. (Ephesians 5:14)

Sat, September 28, 2002

Phoenix, Minotaur, and Mozilla

I’ve gotten some questions about how Phoenix relates to Mozilla. Here’s how I see things as an interested bystander that doesn’t have any inside knowledge about the project. (David Hyatt’s quiz may also help you understand the differences between Phoenix and Mozilla.)

The Phoenix Project’s goal is to build the best web browser for most people. The Phoenix readme says “the interface will not be ‛geeky’ nor will it have a ‛hacker-focus’. Nor will it be ‛minimal’.” The project was started and is run by some of the core Mozilla developers that were frustrated by the restrictions and pressures placed on the Mozilla browser. They didn’t like the compromises forced on Mozilla due to marketing and other pressures within Netscape/AOL. They also wanted to work more quickly and with fewer check-in restrictions. In some cases they wanted to experiment with optimizations that may also be applied to the Mozilla code.

Will Phoenix replace Mozilla? Well, I suppose that depends upon what Mozilla means to you. Phoenix currently builds on top of Mozilla and shares a bunch of the code. Most of the changes in Phoenix are related to the user interface (UI), which is the part of the browser that you see and interact with (menus, toolbars, buttons, dialogs, etc.) Phoenix is going to be just a browser, not an entire suite of applications (email, address book, news reader, irc client, HTML editor, slicer-dicer, julienne fry maker). Don’t let that disappoint you, though. The Minotaur Project is working on a standalone mail client. Other Mozilla components will likely be available as add-on extensions.

The developers hope that if they focus on a particular application they will be able to build it better and make better decisions. They recognize the importance of being able extend the application and are planning for it.

Thu, September 26, 2002

Saints and Feasts of the day

Basil asked me for some ideas about how to write a bookmarklet to find today’s saints and feasts on the Orthodox Church in America website. I gave him a few suggestions and then wrote a bookmarklet so he could “check his work”. I simplified and improved the Saints of a Day bookmarklet after he posted about it in his blog. The major change was to make it more robust. It does some minimal input checking and makes sure that the numbers the user entered are zero padded if necessary.

I also created what may be a more helpful bookmarklet: it gets Today’s Readings (also from the OCA website). This gives you the scripture readings and hymns for the day and conveniently provides a link to the synaxarion for the day.

Wed, September 25, 2002

This is a 0.1 release?

On Monday the Mozilla Phoenix project released its first milestone, version 0.1. Download it and try it out. This is a terrific first milestone. Because of its heavy use of Mozilla, this browser behaves more like a 1.0 release in terms of the quality and capabilities of its page layout and rendering. Yes, there are many parts that still need polish, but this is awesome. Keep up the good work, guys.

Of all the things the Phoenix developers are doing, I believe the plug-in/add-on manager is one of the most important. It is getting more difficult for add-ons to integrate into Mozilla, let alone the Gecko-based browsers that they should also work with. In most cases, the add-ons make assumptions about what menus are available and add overlays. I was thinking the other day, what if Windows 95 had included a generic program installer. Every program does similar things when installing. It would have made more sense to just have a standard package format and script for the installer to run. Of course then InstallShield would be out of business and Microsoft would be charging for installs of everyone’s apps. In any case, it would be nice if Phoenix could set up well-defined hooks into the application that mean that the add-on doesn’t need to know much about the menu structure. Microsoft products, especially Word, have had this kind of extensibility for years.

Off the top of my head, here’s a few application hooks that I believe will be important for add-on creators. I’m thinking new menus, new toolbars, and new buttons for specific toolbars will be heavily used, particularly now that toolbar customization is a reality. Event hooks to support things like mouse gestures and context menu changes also need to be considered. I suspect there are more exotic kinds of hooks that haven’t even been considered because nobody’s invented useful things for them yet. For example, I can imagine automatic spell checking of textareas and inputs or adding user page load filters. I’m hoping that Phoenix will provide an elegant mechanism for adding on to the application and managing these add-ons. If they do this right, I hope it can become a part of all Mozilla-based browsers.

Tue, September 24, 2002

The joys of unicode, UTF-8, and form internationalization

I’ve been working on a web app that uses UTF-8 encoding and have been surprised at how little information is available about how to do internationalization that works with all browsers. (A.J. Flavell’s “FORM submission and i18n” article and related charset issues site were quite helpful.) Consider this my small contribution. Here’s the scenario for my app: users can enter a search string and it will search a database for matching entries. The search form includes a few other contols so there are a number of variations and potentially 20 named fields. I only want to show the relevant name/value pairs on the URL if possible. If I submit the form with the GET method, all fields are shown on the URL, even if their values are null, which is fairly ugly. I could use a POST, but then the URL can’t be sent to others and generate the same result. The search is also an idempotent transaction (it is just retrieving data and has no side-effects), so I’d prefer to use GET.

When I submit the form, the search field is properly encoded according to RFC 2279 (which obsoletes RFC 2044). That means that non-US-ASCII characters are converted into a %nn format, where n is a hexadecimal digit. For example, α would be converted into %CE%B1. Since I want control of the resulting URL, I thought I’d use JavaScript’s location.href to set the URL explicitly. I then ran into the problem of how to properly URL-encode the strings. I’d used the JavaScript escape() function in the past to fix up ASCII characters that are not URL safe, but escape() does not handle unicode characters well. In IE, unicode characters are suported, but the function generates a %unnnn format which is not well understood by servers. It would give %u03B1 for the previous example. What to do?

I found the encodeURI() and encodeURIComponent() functions that are new to IE5.5, Netscape 6+, and Mozilla. Thankfully, they do exactly what I want. Now I just need to figure what to do with older browsers such as IE5 and Netscape 4 (forgetting them is not yet an option). I wonder if anyone has written JavaScript code that does this encoding. I suppose I could submit the form and just live with the long URL.

I just happened to think that all my mozilla and IE5.5 bookmarklets should probably be converted to using encodeURIComponent() instead of escape(). That would allow searching for non-ASCII characters.

Mon, September 23, 2002

Is it a Phoenix bug?

I’ve been trying out the latest nightly of Phoenix and was about to complain that form scrollbars were broken. Turns out that bug 170184 is undoubtably the cause. Sharing most of the codebase with the Mozilla trunk has many advantages, but running into this kind of problem when you’re trying to release a milestone has got to be frustrating. Since Phoenix contains so much of Mozilla, determining where a bug is may be challenging. At least they’re in the same bug tracking system so it will be easy to move them if they’re incorrectly classified.

Thu, September 19, 2002

Even with CSS, frames suck

Asa has apparently decided it is a good idea to ignore or downplay complaints about the usability of his blog. He writes:

Some folks are complaining that my site doesn’t provide the same experience for folks on low-resolution systems. They’re right…. If … you can’t cope with the links over to the left not all showing up in your browser because your resolution is archaic then you’re in luck. I’ve constructed a special version of this site just for you.

[He then provides a link to view the source of the page.]

What he describes is a common problem with framed pages: web designers will set frames to have no scrollbars and just pretend that everyone uses the exact same screen resolution and font sizes that they do. This frequently causes inaccessible content just like that seen in Asa’s blog. But Asa isn’t using frames, he’s using the shiny new CSS (validated no less!) that is supposed to cure world hunger and bring world peace. Or something like that.

The problem is that CSS position: fixed elements (those blocks that act like frames) get overflow: visible by default. If they had overflow: auto they would get scrollbars when necessary. Asa could easily fix his blog by adding overflow: auto to the .leftcontent class in his style sheet. I hope he does. I understand people blog for the fun of it and that you can’t please everyone, but this is a trivial change that doesn’t fundamentally change his design.

It troubled me that at least with old framesets, if you didn’t do anything special, the default was to get scrollbars automatically if they were necessary. With the CSS replacement, you now need to add both position: fixed and overflow: auto to get the same behavior. I suspect that many designers using position: fixed will, because of ignorance, arrogance, forgetfulness, or by design, omit the overflow: auto and therefore create sites that have accessibility problems. This prompted me to file bug 164983. Too bad this isn’t a technically feasible solution. In bug 105796 mpt made a similar suggestion which would also help with frames.

I find it ironic that because IE doesn’t apparently support position: fixed, Asa’s blog is more usable in IE.

Tue, September 17, 2002

High Bridge walking tour

I found a terrific article describing High Bridge in 1940. The article takes you on a “walking tour” around the village and tells you about the people and places you’d have seen at the time. The map related to the article is apparently missing, but even without it you can generally find your way around. The article is from the April 2000 issue of Kentucky Explorer magazine. As I continue to work on the rail-trail, I love finding out more about the history of the area.

Thu, September 12, 2002

Mozilla accessibility

Find out all about the accessibility work going on for the Mozilla project through the groovy shortcut URL of the day:

Wed, September 11, 2002

To be remembered

Death is a painful reality of this world. Sometimes it sneaks up on us and catches us by surprise. Other times we see it coming in the slow darkness falling over loved ones as they struggle for each breath in their last months with us. Either way, death shocks us. It feels terribly wrong, like we were never meant for this.

A year ago, the horrible events of a morning brought a day where we desperately wished for the routine, the typical. But the routine was gone, obliterated by the ever-present images, voices, and commentary. We stared at the massive flames, the crashing planes, and the sight of people falling or jumping to their deaths. In my office, we tried to work, if only to distract ourselves. We spoke in hushed voices of stunned disbelief.

We learned that people had come to our country, lived in the midst of us and our freedoms, and abused them in order to hurt others. The questions came: What kind of person would think to do this kind of evil? Why would they want to hurt us? How can we help those in need?

It’s a paradox: in the midst of seeing this tragic hatred unleashed, we also saw beautiful sacrifice and love demonstrated. It seems to me that this is always the choice we face. Expressed the most simply, we can use our freedom to love or to hate. And our choices can greatly impact others.

In response to the death and destruction, we pray and mourn, and care for those that have lost their family and friends. In the funeral hymn of the Orthodox Church we sing “Memory Eternal” As James Ferrenberg explains, this is not just to remind us, but that Christ will remember those who have died. As they were being crucified together, the wise thief begged Christ to remember him when he came into his kingdom. Christ replied that he would be with him in Paradise. Memory Eternal!

Responsiveness vs. Performance

An IBM developerWorks article discusses design and implementation considerations related to Progress Indicators. The article distinguishes between responsiveness and performance. Responsiveness is how quickly an app acknowledges and indicates acceptance of user input. Performance is how quickly it completes a task and displays the final results. A more responsive app contributes more to user satisfaction than quick performance by itself. A quick response can make the application feel faster, even if it takes longer on an overall task.

“Progress indication is needed because: (1) there are inevitable limitations in UI performance, that is, there are always cases where the user will have to wait for a final result, and (2) increased UI responsiveness, or improved communication with the user, can make the wait more acceptable to the user.”

I noticed the other day that the throbber makes Mozilla feel responsive. It activates immediately after clicking a link or entering a URL. The progress indicator in the status bar only seems to show up after a fairly lengthy period of time. For those that want to eliminate the throbber completely, this points out the need for better responsiveness in the rest of the UI.

The article is packed with practical and specific information. All designers and developers would do well to carefully consider the information in this article and how they could improve their application’s responsiveness.

Tue, September 10, 2002

Phoenix for users

Thanks Blake for responding to my earlier comments about Phoenix. It’s always nice to get the scoop direct from the developers. I’m delighted to hear that Phoenix will be for “normal users” and that you’ll be working on it for a 0.1 release soon. I’m looking forward to it.

Mon, September 09, 2002

Orthodox news… with a twist

Wayne Olson recently posted an article from The Onion Dome. If you’re Orthodox, this is fun.

Mozilla UI better than IE

Asa pleasantly surprised me by pointing out the following:

mpt omits something that has to be one of the most important usability flaws in IE, that the main browser scrollbar has a fat border to the right of it forcing the user to actually look where he puts his mouse pointer rather than just tossing it against the edge of the screen and knowing you’ve hit your target.

Since I rarely use Mozilla or IE maximized, I wouldn’t have noticed this. Mozilla happily eliminates the typical window border and takes advantage of Fitts’s Law. In brief testing, it seems almost every Windows application suffers from the border on the edge of the screen. Oddly, Lotus Notes was one of the few that also got this right. With the inconsistencies between Windows apps, I’m not surprised that mpt missed this one. I agree that it is a major flaw in IE.

<rant mode="pet peeve">Speaking of Fitts’s Law, it’d be nice if Back were returned to the image context menu of Mozilla. The context menu is by far the fastest way to go back and I’d say used far more than scrolling. This is especially annoying when you have images blocked or a large image with transparent edges that takes up most of the page.</rant>

Start to finish

Matthew Thomas is “In search of the perfectly designed browser” and gives a brief recounting of browser history up to now. After describing progress in browser UI over the years, Matthew responds to claims that he wants Mozilla to be just like Microsoft Internet Explorer (MSIE):

I’m not ashamed to say that Mozilla should look more like MSIE, because it would be pretty hard not to…. If Mozilla looked just like MSIE, however, it would be much less usable than it could be. For the record, here’s my rough list of the top ten usability problems in Internet Explorer.

Matthew then lists a number of places where Mozilla UI can and should be better than MSIE–places where MSIE has usability problems. In most of his examples, Mozilla already has better functionality than MSIE. It isn’t always usable, though. Let’s say you know Mozilla supports popup ad blocking. Many users won’t look for anything in advanced preferences and even fewer would think that this is script related and find the unrequested windows item. Don’t try searching for popup in the help. It won’t get you any closer.

Asa and Blake have gotten stuck on number 6 of his rough list: “It’s extremely difficult to uninstall. More strategy tax.” Certainly uninstall isn’t something you do while using an application, but it is definitely a part of a good product. (An uninstaller was a requirement for Windows product certification starting with Windows 95. This is yet another place that Microsoft exempts itself from following the rules they place on their competitors.) A product should demonstrate that the user is respected from start to finish. Although you hope that your product is never uninstalled, it is rude to try to make it difficult or impossible to remove. Microsoft wagers that most users of its products won’t get so annoyed that they’ll go elsewhere. Mozilla (and its derivatives) still needs to gain users. When Mozilla gets plug-in install right, then maybe it will be time to worry about uninstall.

Fri, September 06, 2002

Bookmarklets are special

As asked for in bug 72374, bookmarklets (javascript bookmarks) should have a different icon than normal bookmarks. I figured out a way to hack the userChrome.css to do just that. See my comments in the bug. This rocks!

Phoenix: bug reports welcome

Asa posted:

Bug reports are wanted. But only if the bug is specific to Phoenix. If it’s a core Mozilla bug that happens to affect Phoenix (like a layout or toolkit bug) then it probably belongs in the appropriate Mozilla component.

He also pointed to the Phoenix Project Page. The readme/FAQ seems to contradict Asa’s comments, so you might take everything with a grain of salt.

Thu, September 05, 2002

Phoenix nightly builds

Asa announced that Phoenix nightly builds are available, so naturally I went and snagged one. Way back in May I had tested a build of Mozilla/Browser, the predecessor to Phoenix. Other than customizable toolbars and the ability to run it at the same time as Mozilla, I didn’t notice much progress. (Yes, I know the developers have had other things to do in the meantime.) The prefs dialog is much cleaner than in Mozilla; it doesn’t have the messy tree control and only has five panels. Menus are trimmed down and are virtually identical to the Mozilla/Browser build I looked at.

I’d hoped that Phoenix was going to be a browser that focused on users. Perhaps it will be. Based on the differences between it and the earlier Mozilla/Browser, I’m concerned that it’s going the wrong direction. The more usable separate address and navigation bars are joined again. Distinctive icons have been replaced with the round ones from the Orbit theme, which have fewer visual differences. Not only has the throbber been eliminated (not a bad idea by itself and you can add it back by customizing the toolbar), but all page loading progress indicators are gone. The search, history, and bookmarks sidebars are missing as well.

So that’s where it is now. Since nightly builds just started, I plan to wait and watch. (As I understand it, that’s about all we can do now… Last I heard the developers didn’t want feedback or patches, although there are a number of bugs for phoenix in bugzilla.) I’m looking forward to watching this develop. I’d love if some the improvements were applied to the mozilla trunk.

Mon, September 02, 2002

Washing on the web

This sounds like a great April Fools day joke created by people making fun of SOAP: IBM and USA Technologies announced Friday that they will Web-enable 9,000 washing machines and dryers at U.S. colleges and universities. Called e-Suds, the systems will allow students to check for machine availability on a web site. They can pay by swiping an id or credit card or calling on a cell phone. Students can choose to have the machine add soap and fabric softener. When their wash is done, they can be notified by e-mail. Laundromat owners can also use the web interface to monitor machine status, check water temperature and fiters, and watch usage patterns. Cashless vending should also help reduce the $500 million annual losses attributed to vandalism.

A Reuters story about the machines says “A company that owns laundry machines in colleges in Ohio, Indiana, Michigan and Kentucky will install the machines during the autumn term.” I wonder if Asbury will be getting them.

Blake’s blog

Hixie provided a link to an archive of Blake’s mysterious deleted post that I mentioned earlier. Blake also admits the post made a brief appearance on his site. It makes some fun reading, so here it is:

Oh, what a lovely day. Netscape 7 came out and incompetence is flying everywhere. There are lots of thoughts floating around in my tiny head, and I can’t compile them into a coherent blog. So here goes…

* On the one hand, there has long been a push by various Netscape engineers to turn on popup blocking. As you can guess from Netscape 7, this was a lost battle. “But reviewers will ding us on it when they see it in Mozilla,” they said. “But it will generate negative publicity.” Well, it it did. But let’s forego an extended “told ya so” for now in the interest of moving on.

* On the other hand, c|net is a joke. First of all, Netscape 7 is hardly competing with Mozilla; it’s competing with IE. In light of this, it’s absolutely ridiculous to list “No popup blocking” as a “con” unless they did the same for IE. They didn’t.

* It’s abundantly clear that c|net does not use the product. This became evident when Netscape 6 came out and they gave it a 7, then lowered it to a 4. They reaffirmed it this year with such gems as “We still miss the Netscape 4.x feature that let you right-click any GIF and save it as your Windows wallpaper.” Netscape 7 has Set As Wallpaper functionality. It’s sickening that these people are paid to influence consumer decisions in the tech industry, and they don’t actually use the products.

* This problem is not limited to c|net, it plagues most computer magazines. In pcworld’s quasi-review, for example, they note that “The Download Manager controls and interface are revamped for easier use,” but Netscape 6.x didn’t even have a download manager. All these publications just skim our marketing documents and write broad summaries of a product. It’s disgusting.

* c|net has some sort of vendetta against Netscape. This is not a “wah, they were mean” claim, it’s obvious. They’ve republished the same story three different times, worded differently and with different headlines; as already noted, they never truly use the product; their review is titled “Don’t Switch Browsers,” which presumes use of IE, and then ensures under that that “Most users choose IE.” (Choose. ahem); and they continue to compare Netscape to Mozilla, but have never bothered with IE-Mozilla comparisons.

* The “new” is the “old” and this took…how long? For a new bar at the top? When I visit in 4.x, there is no roadblock telling users to download 7.0. The extent of the promotion is a tiny “Download Netscape 7.0” link in the bottom left and – the ultimate insult – a popup ad.

* Even if Netscape 7 debuted to mixed reviews, I’d hardly be able to take much pride in it. How do you get worked up over a product when you sped it up by 50% overnight (Phoenix; Minotaur) and added 3 killer features in a week (bookmarks quicksearch; history quicksearch; toolbar customization).

* I wish Netscape would get serious about producing a killer product and assign the tiny team making Phoenix to make a killer successor to Netscape 7. I’d think the terrible 7.0 press, combined with current internal ongoings, would push them to do this. And I wish it would get out of the mentality that the only way to monetize a browser is to stick advertisements everywhere, instead of clever integration (see MSN, Windows XP).

Now I have to go home and hear my friends and family talk about how the press said Netscape 7 sucks. And I have to explain that we got rid of popup blocking because our one site, out of however many billions of websites are out there, has a popup. What fun.

posted by Blake R at 4:25 PM on Aug 29, 2002

It looks like my recollection of the post was only semi-accurate. The real thing is more interesting. I got the gist that he had quickly made large improvements in the browser, but was a bit wrong about the specifics. I also didn’t catch the part about the Phoenix team. Does this mean they are officially supported? I thought this was a free time only kind of project. This gives me some hope that an internal comparison may push management to want the better browser.

In a Douglas Adams-like paradox, now that I’ve found Blake’s post again, Tony Davis’s rant has been removed.

What’s in a name?

It’s okay “Mr. Basil”, I know that Basil isn’t your last name.