Do you have any plans on intra-character spacing as well? I know this is done in print to reduce the word gaps in justified text but I'm not sure if the resolution on screen would allow it.
I have a ­ hyphenator using Liang's algorithm as a YUI3 module if you're interested.
If you used sub-pixel alignment, it might be worth it.
I just wish we could get 300dpi displays for our computers already, and stop worrying about the pixel grid. But, we're going to need some better techniques for resolution independent UIs before that happens. In particular, you will probably actually need better hinting for vector based UI graphics, so that the same vector graphics that can be used for high resolution displays can also be used for lower resolution displays while still looking good.
It’s worth it to use some inter-letter spacing anyway, even if the spaces can only be whole numbers of pixels, because it avoids exceptionally wide or narrow word spaces.
Not at the moment. Intra character spacing or Microtypography is a bit of a controversial subject among some typographers. Currently I'm leaning towards not doing it. Regardless of that, it would also make the implementation much more complicated (or impossible) as it requires access to the kerning tables which, as far as I know, is not possible from a canvas context.
I would be very much interested in an open-source hyphenator (I'm aware of some other JavaScript implementations of Liang's algorithm) as I was planning to either use an existing one or to implement it myself.
One of the problems with adjusting inter-letter spacing is that it completely breaks certain types of font: think of calligraphic scripts, or non-western writing systems such as Devanagari where the rendered glyphs touch to give the continuous appearance of the text.
Another problem is ligatures. Where adjusting inter-letter spacing is possible, it usually needs to be applied uniformly across at least a whole word to work well. If you are writing the word "difficult", and the "ffi" is rendered using a ligature to avoid awkward clashes, then how do you adjust the spacing for that? You could keep the ligature, but then the inter-letter spacing isn't uniform across the whole word. Alternatively, you could break the ligature, but that could restore the undesirable clashes between the "f", "f" and "i" that the ligature was designed to prevent. To avoid that, you would have to open up the inter-letter spacing so much that the letters no longer clash, which is probably far too obvious in most fonts to be a useful effect.
From what I read, the latter. Like you said, overdoing it quickly makes a text look bad, and it also ruins the (presumably) carefully created kerning tables that are supplied by the font. I assume you have read Hàn Thế Thành's paper on microtypographic extensions to TeX (http://www.pragma-ade.com/pdftex/thesis.pdf)?
I have a ­ hyphenator using Liang's algorithm as a YUI3 module if you're interested.