If your web application accepts content or input from your users, it’s nice to be able to display it in a useful format back to them. For example, some web sites auto-link or convert text presented in a URL format as a hyperlink to improve the user experience. The user may type in the following URL into a form.

http://particletree.com

On display, our auto-linking script would then convert that to:

<a href="http://particletree.com">http://particletree.com</a>

It’s also nice to provide more web savvy users the ability to use certain HTML tags (like a, strong, em) in an unescaped format when it’s displayed back to the user. We have taken the approach provided by Chirs Shiflett to allow HTML and prevent XSS. And so when the user enters the following into a field.

And then run through an HTML sanitize script to allow certain safe tags to be displayed properly.

<a href="http://particletree.com">Particletree</a>

When used in combination (and in a way to prevent security breaches), auto-linking and allowing approved HTML tags can lead to some unexpected formatting. The problem with using the two techniques together is that the auto-linking script has to be smart enough to not link anything inside of an a tag. For example, this would cause the following input

Markus, we do a good amount with Smarty, so we made the autolinking available as a modifier. The unescaping, on the other hand, is a good amount of code and is needed everywhere, so we do that on the PHP side. It is a specific oddity we ran into, but one that others may run into, so it still may help in some circumstances.

As a corollary to the point about Fitts’s Law not addressing movement in multiple dimensions or amidst distractions, consider that the notion of a target is relative. Sure you may want the user to click a particular button, but if the layout provides all germane interaction handles in visual clusters, that cluster can become the initial target. During the movement toward the larger target, the user may subdivide and segregate specific target from distraction. By the time they’ve discerned their specific target, the distance that they’ll need to cross is lessened, and they’re already in motion.

Markus, we do a good amount with Smarty, so we made the autolinking available as a modifier. The unescaping, on the other hand, is a good amount of code and is needed everywhere, so we do that on the PHP side. It is a specific oddity we ran into, but one that others may run into, so it still may help in some circumstances.

I think Alan Cooper pointed out that Fitt’s Law implies that besides the corners, the easiest target to acquire is “the current location of the pointer.” IOW, the biggest button is one you don’t have to move to at all. AFAIK this is not often used.