Main

July 5, 2008

Vietnamese computing is a very fragmented experience. Not only are there several character encodings for Vietnamese, but Vietnamese computer users must also choose between several popular input methods. As you’ll recall from November, an input method is a procedure for typing in a complex, often non-alphabetic writing system. An input method editor (IME) is software that intercepts your keystrokes and translates them into more complex characters, such as Chinese characters, on the fly. Today’s major operating systems provide IME for most complex writing systems, notably Chinese and Japanese.

Vietnamese is alphabetic, unlike Chinese, but because of its large set of letter–diacritical mark combinations, it’s impractical to simply assign each key to a letter or accented letter, as with French or Spanish. Making matters worse, operating systems have historically provided poor support for Vietnamese input. Microsoft Windows and Mac OS X (until 10.5 Leopard) don’t include an IME for Vietnamese, so each Vietnamese-language website is expected to embed one using JavaScript. Webpages, ordinarily the least powerful of computing technologies, thus end up implementing one of the operating system’s core responsibilities: text input. Predictably, there are at least a dozen such IMEs, and each site uses a different one.

It’s a situation no one likes, but it’s not easy to convince operating system vendors to ship good support for Vietnamese, since the market for it is still relatively small. As a stop-gap solution, three of these IME’s authors have released Firefox extensions that provide Vietnamese typing support on any webpage within the browser. Since the Web browser is pretty much the application that users keep open all day, it’s not an entirely bad solution.

Back in November, I released a keyboard layout for Vietnamese, to improve the Vietnamese typing situation on the Mac. Although the keyboard layout provided support for every application on the system, it was far from ideal, because very few Vietnamese speakers use Mac OS X. Now I finally have a way to show non-Mac users some input method love too.

In 2006, I made a number of modifications to one of the IME extensions, Hiếu Đặng’s AVIM extension. However, because the original extension was a kludge and I didn’t yet consider my version to be of release quality, I hung onto the modifications for nearly two years. Recently, I briefly encountered a curious phenomenon known as free time and began shaping AVIM into a much more presentable extension.

AVIM for Firefox

Since it was introduced to the Vietnamese Wikipedia in 2005, AVIM has turned a very poor editing experience into a pleasant one. My productivity at the site increased dramatically, as I could begin to write and edit articles from directly within the site, rather than copy-pasting my composed text from another program. I hope that this extension will give you the same dramatic increase in productivity, no matter what site you frequent.

January 4, 2006

You might be wondering why it’s taken me so incredibly long to finally blog about Planet Xavier’s long-awaited and long-needed redesign. As usual, the answer is procrastination. It takes effort to write well, y’know. (No, “stream of consciousness” is not good writing, no matter how many periods you stick in it.) I seriously intended to redesign that site since I set it up more than a year ago, and I’ve blogged about my plans numerous times, but my original plans for the site were so complex and wide-ranging that I was never able to get it done, because it was just too easy to put off. The plans originally included excluding certain entries at the push of a button (isn’t at the push of a button), a robust theming system (isn’t robust), automatic school closing information (isn’t automatic), dynamically-updated weather information (doesn’t work), automatic large image resizing (doesn’t work), a blog submission form (didn’t happen), a preferences panel (didn’t happen), automatic inclusion of news items from St. X’s website (isn’t automatic), and more. As I’ve just noted, I had to change my plans somewhat. I essentially pulled a Longhorn, yanking features out so I could get something – anything – out the door by the first quarter of 2010. I could’ve designed and built the pX you see today in about a week, but instead it took me about a year. Apparently doing smaller things to delay bigger – and more important – tasks is the bad form of procrastination. In the time since I first placed the redesign on my to-do list, I’ve incrementally improved and grown pX, made quite a few contributions to Wikipedia, designed a website for my parish from scratch, similarly designed one for my dorm, translated Mozilla Thunderbird for the Summer of Code, upgraded this blog to the latest version of Movable Type, and attended my first quarter at Stanford. Are these really the smaller things? Don’t think so; it all took me plenty of late nights. Though I’ve finally gotten something of a new design up, there are still several major kinks to work out:

  • The dates of each entry are consistently 45 hours behind. That’s right, 45. And I have no idea how such a random flaw crept into the system, à la Peter Rother’s little bug. Fortunately, the “last updated” clock is still correct, and new posts are displayed as usual.
  • The weather indicator (powered by Yahoo! Weather’s RSS feeds and some nifty Ajax) isn’t working; it gives an annoying JavaScript error, even though the script, ironically, works on the test version in my computer.
  • Whenever someone posts an exceptionally wide image, the main page column expands to accomodate it, leaving no room for the sidebar, so the sidebar gets pushed down to the bottom of the page. This shouldn’t happen, and ideally the large images should be automatically resized anyways.
That said, there are some long-needed changes that the new design brings in:
  • Alumni blogs have finally been moved to their own separate pages, and a section for the Class of 2004 has been added. (So far only Peter is being syndicated there; I’ve found some others from that class, but I’ve yet to ask their permission first.)
  • I can now add news items to the site without having to mess around with HTML in my text editor and upload it to the server. The news section is now handled by Movable Type, and new news is automatically propagated to the Latest Entries listing.
  • There’s an “Update” button (for Firefox users only) that lets you update pX yourself. It still takes a few minutes to update, so you can continue browsing to whatever questionable sites you crave and come back to pX when it’s done. I haven’t added any throttling to stop abuse of this feature yet, but I’m hoping that responsible Web users (aka Firefox users) won’t abuse it before I get a chance to add that in.
  • The list of syndicated blogs (formerly known as the “Rollcall”) has been moved to a separate Roster page. This move should significantly speed up the front page and stop Google from mistaking pX for a linkfarm. In the future, the Roster will include more information about each blogger (like statistics perhaps), which will make the page that much more useful.
In addition to the goals that I didn’t meet with this redesign (listed above), I’m also planning to eventually include an automatically-updated listing of the most recent threads over at the St. X Forums, with Peter Franklin’s permission and cooperation, of course. That should be fun. Hopefully I’ll be able to work out the kinks and improve the new design before I return to college next week, but don’t hold your breath: I haven’t gone cold turkey on procrastination yet, and doing so is not on my New Year’s to-do list.

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 del.icio.us).

  • 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 for Firefox
  2. Almost done
  3. Catching up
  4. Misplaced zeal
  5. DevEdge is coming back!
  6. Here’s a cupholder