The Acronym Tag

Ever wonder what in the world I’m talking about when I refer to HTML? Or, what NN4 stands for? How about UI, or NJIT?

One of the tags that was specified with the HTML 4.0 specification is the acronym tag. This tag is supposed to help deal with the plethora of acronyms that permeate technology documentation, but it doesn’t seem to be implemented very often. Part of the reason for this problem may be the very fact that there’s no real way to tell if an acronym tag has been applied to some text without floating your mouse over it and waiting for a tooltip to pop up.

The Mozilla organization got smart about this and enabled Mozilla and its variant browsers to style all <acronym> tags with a little dotted line—a subtle user interface cue to float your curser over the acronym and get its meaning. It occurred to me today that Internet Explorer could also take advantage of this as well.

acronym {
   border-bottom: 1px dotted #000;
}

This bit of CSS code will enable the browser to underline any acronyms on the page with a subtle, dotted line. This indicates to the user that if he or she floats the mouse cursor over the acronym, that a tooltip will pop up with the meaning of that acronym. Though Internet Explorer has a bug that confuses dotted for dashed lines in CSS code, the concept works just as well. Cool, eh?

Update: See further discussion over the differences between the <acronym> and <abbr> tags.

C|Net Radio On Demand Is Back

One of the coolest places to be on the internet in 1998 was C|Net Radio. C|Net was the de facto technology news channel on the internet and as such provided a littany of tré chic means to get the latest tech news including an AvantGo channel, the inevitably doomed Internet Explorer 4.0 Active Desktop component, an email dispatch available in plain text and HTML, and a twice-daily 15-minute audio summary of the “day in tech.”

The C|Net Radio show was hosted by Brian Cooley—a radio host that Jode Poley once referred to as having the coolest voice he had ever heard. Cooley is also clever in his delivery, and will drop a remark every now and again that will make you laugh outloud from your cubicle. Once, when listing company internet portals that were focused on women’s lifestyles, Brian named Microsoft’s “Underwire” site and asked, “Is that a typo?” (Amazingly, the URL remains unchanged).

As C|Net (and the internet bubble) continued to grow, the radio project continued to grow and expand, acquiring some bandwidth in the AM band for listeners in the San Francisco area and an XM satellite radio channel for suckers, er, users of that service. The service provided 24-hours-a-day tech news borrowing content from C|Net’s newly acquired resources at ZDNet. But, while the content got wider, it also got thinner. The tech shows that filled airspace in between harder news stories were often just stupid rambling about technical minutae by radio personalities who were no where near as interesting or cool as Brian. What was worse, the on-demand feature was completely gone, meaning if I wanted to listen to the news show, I’d have to tune in at the exact hour, California time. Beat.

Thankfully, it appears that the C|Net/ZDNet acquisition bloat has caused C|Net Radio to collapse back in on itself. C|Net has just announced that they’ve gone back to their on-demand roots. Though they’ll make you register if you haven’t done so already on, say, download.com, the radio show is now available for download in MP3 format.

It’ll be nice to have something else to listen to than NPR for a while…

Commit Random Acts of Bandwidth

I would just like to say to whomever is providing free wireless internet access in the viscinity of the Starbucks coffee shop in Denville, NJ: my deepest and most heartfelt thanks from the bottom of my blogging heart. :)

Some Days

I am the woman at the well,
I am the harlot.
I am the scattered seed
that fell along the path.
I am the son that ran away.
I am the bitter son that stayed.

My God, My God,
Why hast thou accepted me
When all my love was vinegar
To a thirsty King?

My God, My God,
Why hast thou accepted me?
It’s a mystery of mercy
and a song, a song that I sing.

Caedmon’s Call, Mystery of Mercy

I’m coming to find out that, some days, it’s decidedly easier to be humble after coming face-to-face with the iridescent reality that I’m a big fathead.

Sarah and I went with our friends to go see Caedmon’s Call (minus Derek Webb) and Jars of Clay in concert last night—an experience that I’m still working on putting into words. More later.

Dynamic Curly Quotes

If you are of the Internet Explorer browsing persuasion, you may have noticed that often, when I quote another website, the style of the font will be in italic but there won’t be any quotes around the reference. I released a change to the site today that should take care of this issue.

The problem was that Internet Explorer—all the way up to version 6.0—does not fully support a tag standard that has been around for about five years now, namely: the <q> tag. According to the W3C specification, the browser is required to put quotes around anything surrounded by this tag. Mozilla does it, as does Opera. IE does not.

Mark Pilgrim has addressed this issue before, initially offering a CSS solution, but eventually settling for some server-side scripting that would insert the HTML quote entities en masse throughout his site. While this is probably an ideal solution, server-side scripting—even of the MT-Plugin variety—is not something that I have taken the time to learn.

Today, though, Mark provided links to JavaScript solutions provided by Simon Willison and Stuart Langridge. While the Willison solution involved proprietary IE scripting, Langridge took it one step further to make it more standards-friendly. Both of these implementations got the ball rolling for me and after hacking around for a little under an hour, I came up with this code:

function checkQuotes ()
{
   quotesElements = document.getElementsByTagName(“q”);
   if (quotesElements.length > 0) {
      q=quotesElements[0];
      if (q.currentStyle) {
         s = q.currentStyle;
      } else if (document.defaultView && document.defaultView.getComputedStyle) {
         s = document.defaultView.getComputedStyle(q,”);
      }
      supportsQuotes = false;
      for (prop in s) {
         if (prop.toLowerCase() == ‘quotes’) {
            supportsQuotes = true;
            break;
         }
      }
      if (!supportsQuotes) {
         for (var i=0; i<quotesElements.length; i++) {
            q = quotesElements[i];
            q.innerHTML = ‘&#8220;’+q.innerHTML+’&#8221;’;
         }
      }
   }
}

According to this code, any browser that supports the quotes will simply implement the CSS rules that I got from reading Mark’s article. Those that don’t, like Explorer, will have them dynamically added to each q element in the page.

I’ve tested this in my limited “QA” environment, and it works without error in the Mozilla variants, Opera 7, and Internet Explorer 6.0—which includes quite a chunk of the internet community. Netscape 4.76 did generate an error, however, quietly whining that the document.getElementsByTagName function does not exist.

Thanks to Mark, Simon, and Stuart for their work. Click here to see an article that employs the <q> tag.

Mozilla Changes Gears

There’s quite a buzz in the Mozilla community about an organization restructuring. This restructuring comes with the third modification of Mozilla’s roadmap.

Mozilla: Mozilla Development Roadmap. We have come a long way. We have achieved a Mozilla 1.0 milestone that satisfies the criteria put forth in the Mozilla 1.0 manifesto, giving the community and the wider world a high-quality release, and a stable branch for conservative development and derivative product releases. See the Mozilla Hall of Fame for a list of Mozilla-based projects and products that benefited from 1.0.

This is but a small section of the rich discussion of the Mozilla restructuring available at the site, which contains some exciting announcements. Among them:

* Phoenix is going to become Mozilla’s major browser development effort
* Thunderbird—a mail client similar to Phoenix’s agile application design—is going to become Mozilla’s major mail client development effort
* Aside from the migration towards these applications, much of the development effort will now focus on making Mozilla do what it does with a more streamlined codebase
* Advanced-user featuresets will be built as modular plugins—this is particularly good news if you’ve ever tried navigating the drop-down menus in Mozilla and got overwhelmed with too many options

…and there’s more interesting activities that aren’t explicitly constrained to the application end-user.

I’ve had a growing interest in Mozilla over the past year or so as I’ve encountered more educational experience in programming and project management but little ‘real world’ work experience. What’s cool about the project is that everything is out in the open for everyone to see. If you want to learn how to hack Mozilla, you can. If you’re interested in seeing the latest bugs in Phoenix, you can. If you want to discuss issues with the developers directly, you can. If you want to peruse code, you can. Even their development timeline is available. The Mozilla project offers, for the wannabe hacker, an opportunity to see real development efforts in action and, for the project manager, the opportunity to see what works and what doesn’t.

What’s more exciting, though, is that the Mozilla project seems to be undergoing a turning point similar to the one that Linux underwent a couple of years ago: the popularization and user-orientation of the project. Not only has the Mozilla project created a viable, standards-based choice for cross platform development (such as the much anticipated OpenMind project), but is now creating applications that are meaningful for the end user. My favorite of these is, of course, the Phoenix web browser. (Haven’t made Phoenix your primary web browser yet? Here’s a good list of reasons why you should.)

As Mark Pilgrim put it recently, In the future, there will be so much open source software available, programmers will be judged by how much they know about it and how well they can glue it together to build solutions. Looks like this year is going to be a pretty exciting jumpstart into that future.