December 9, 2008

In July, when I last wrote about AVIM, it was a Firefox extension that let you easily enter fully-accented Vietnamese into any webpage, as well as most of Firefox. It also supported a few well-known Firefox extensions.

Since then, AVIM has gained French and Chinese localizations and added support for all of Firefox. More importantly, the extension now supports a number of Mozilla-based applications, including Songbird and Flock. AVIM’s also been downloaded nearly 30,000 times and serves over 1,700 people as of last month.

Mozilla Messaging today released the first beta of Thunderbird 3. Since it runs on Mozilla 1.9, AVIM supports it too. It’s a boon for Vietnamese speakers who still use a desktop application for reading e-mail and news feeds.

You can download AVIM for free and drag the file into Thunderbird’s Add-ons window. Alternatively, you can use Thunderbird 3’s new Add-ons Manager to install an older version of AVIM hosted by Mozilla.

One thing you’ll notice about AVIM is that, even though the extension is intended for Vietnamese speakers, the extension’s menus aren’t necessarily in Vietnamese. If your copy of Thunderbird is in English, for example, AVIM is also in English. That’s because I designed the extension to blend in with the application as much as possible.

Unfortunately, efforts to translate Thunderbird into Vietnamese aren’t complete yet. In the meantime, you can force AVIM to display in Vietnamese anyways. Regardless of AVIM’s interface language, the extension will continue allowing you to type in Vietnamese.

You might’ve noticed that AVIM is essentially in maintenance mode. I’ve implemented all the big changes I have planned, and I really don’t have much time to work on the software in the near future. However, you’ll continue to see AVIM support more and more applications as they upgrade to Mozilla 1.9. Someday, I’ll get around to writing an operating system–level IME, so you’ll get AVIM’s well-known flexibility no matter which application you’re using. Someday.

As always, I welcome any contributions to the AVIM project, whether in the form of code or translations, or by spreading the word. Working on AVIM’s code require little more than a working knowledge of JavaScript and Vietnamese. For any code or translation contributions, you’ll receive due credit on a widely-used piece of software and the satisfaction that you’ve helped real people in a measurable way. If you’d like to help out, please contact me.

May 8, 2008

With extensions for programs like Firefox at the convergence of desktop applications and the Web, they can at times become attack vectors:

Starting in mid-Feburary, Vietnamese users of Mozilla’s open source Firefox browser were at risk of infection from malicious Trojan Horse code seemingly accidentally embedded in a language pack available on its Add-ons site.

The add-on’s author is not suspected of intentionally booby-trapping the file, but instead had his own system infected. That Trojan inserted a banner-ad displaying script into any html [sic] file on his system, which included the help files for the language pack.

Ironically, the HTML files have been removed altogether from the forthcoming Firefox 3, because Mozilla has decided to use an online, wiki-based help system, rather than the static help files that come packaged with Firefox 2.

Application security is still important these days, but as software vendors race to embrace add-ons and RIAs, Web technologies can no longer be considered confined within a tight security “sandbox”. It’s not even just a security issue, either: with phishing- and other fraud-based attacks so prevalent, software developers need to be especially vigilant about any user interface details that could be used to deceive.

As the author of a similar extension for Thunderbird, Firefox’s companion e-mail client, I should note that the Vietnamese localization pack I wrote for Thunderbird is not affected by the trojan. The current version was released in 2005, long before the Firefox localization package.

By the way, an updated version of that localization pack is in the works, based on the Firefox extension. Although I did consult some parts of the Firefox extension’s source code to resolve some tough-to-translate terms, there was no code sharing of any kind. (Not even copy-pasting.)

You can track my progress by pointing your Subversion client (such as TortoiseSVN) to And if you happen to be thạo tiếng Việt, please contact me; I’d be more than happy to accept your help.

To clarify, only advertising banners were inserted, not actual worm or trojan code. See Asa Dotzler’s explanation.

August 5, 2005

There’s a reason I use Thunderbird’s weblog-reading component: there’s just too much good content on the Web these days. The last week or two brought in an abundance of computer-related goodies, including these about Microsoft, Opera, and Mozilla:

  • MS Anti-Spyware built on MS Abandonware – After coercing so many developers and companies to hop on the .Net bandwagon, the last holdout may be Microsoft’s newest division. [1]

  • MSN Virtual Earth: Microsoft Takes on Google – Being the creature of habit that I am, MSN’s new Google product clone won’t see me very often. It might have some slick animation when zooming in and out, but if Microsoft doesn’t have the resources to include Apple’s headquarters in their database or remove the World Trade Center towers from it, then Microsoft may’ve just put Google Maps’ questionable reliability in perspective.

  • Standards and CSS in IE – Everyone was anxious to see what Microsoft had added and improved for IE7 beta 1, which was released in tandem with the Windows Vista beta. But when some prominent bloggers tried the new browser out, they were largely disappointed: aside from the copycat tabbed browsing and awkwardly placed toolbar, not much had changed. Fortunately, the IE team came out with a blog post on the subject, and surprised me with the list of Web standards features that they plan to support in later betas – they’re promising pretty much all I wanted: the abbr tag, better CSS selector support, transparent PNG, and :hover on arbitrary elements, plus a host of bug fixes involving margin handling. [2]

  • Opera to stop spoofing User Agent as IE – When I started using Opera back in the days of version 2.x, the first option I changed was the user agent string: Opera attempts to trick clueless Web designers into thinking that it’s Internet Explorer, so that they don’t send Opera “upgrade now” messages and other annoying nonsense. (Extensions for Mozilla and Firefox have done this for ages as well.) Now, Opera feels confident enough to start using its own name by default. [3]

  • What’s in a name? – Round Two, formerly known as MozSource, is now known as the Flock. Sounds like another mozilla/browser → Phoenix → Firebird → Firefox. They’re working on one of those “social browsing experiences” (think

  • Mozilla Foundation Announces Creation of Mozilla Corporation – I’m still trying to decide whether I think this move is a good thing or not… [4]

In case I haven’t bored you enough, how about a few links on programming and application development?

  • Hitting the High Notes – You can’t make up for having poor programmers by having hoardes of poor programmers. Sounds kind of obvious, but maybe the project management types will need to read this.

  • JavaScript Archive Network – If you’re looking to add some basic functionality to your large program, but don’t want to spend time implementing it yourself, this JavaScript counterpart to CPAN might become your best friend. It already has plenty of JavaScript libraries available for download. Yes, I said JavaScript libraries – JavaScript is a real programming language. [5]

  • Human-Centered Design Considered Harmful – No, the user doesn’t always know what they want. You have to be the boss sometimes. [6]

Some of the things that popped up this past week just made me scratch my head. Various bloggers noticed Apple’s new “Mighty Mouse,” a mouse that includes two buttons (!) that you can’t see and an “ingenious” little scroll ball. The thing is, I’m not sure how you’re supposed to use that scroll ball; the plethora of images on Apple’s website don’t really help. I suppose that’s why they have an Apple Store in Kenwood.

In addition, Google’s partnering up to provide a service called Current TV. It looks like an online cable channel comprised of podcasts. I’ve yet to take a close look, and I’ve yet to see why I should.

I’ve still got a host of good links in the queue, by the way.

  1. AVIM not just for Firefox
  2. Ngựa thành Troy
  3. Catching up
  4. A first time
  5. Making the switch
  6. Portable everything
  7. Before it takes off
  8. Yum…