Via “Scoble”:http://radio.weblogs.com/0001011/2005/03/19.html#a9675 I found “Why AutoLink is Evil”:http://www.allpeers.com/blog/?p=69 and “Greasemonkeys and Obfuscators”:http://www.allpeers.com/blog/?p=62 and have this to say:
Trying to protect your code from user initiated changes is no better than all the right-click “HTML source protection” scripts we all learned to loathe, circumvent and laugh at.
Are you going to prevent users from turning off images, scripts, and plugins? Are you going to prevent user css, voice or braille output?
Doing this might “break” the pages for some obscure “author” definition of “break”, but it fixes pages for _users._
If you don’t like that a small percentage of your users disable advertising by any of these methods, go to paid subscriptions. If your business won’t survive on that, it’s very likely not a viable business model.
What I have in mind is a system that modifies the DOM in ways that change the internal structure without changing the presentation.
Keep in mind: HTML is _not_ a presentational format — it doesn’t define colour and layout — it defines the structure and semantics of a document. Two structurally and semantically different documents might for visual media look the same — the problem is that people will actually want to, for good reasons that are _their own reasons_ want to use your documents with different media. If you randomly change the order of content, change names of elements, do severe semantic overloading to “obfuscate” your document, that document is very likely going to be useless to someone using features like “Opera’s voice capabilities”:http://www.opera.com/voice/index.dml.
So, please: Don’t try to break _my_ web. Work _with_ users, not _against_ them. If you do, they will find ways to circumvent you, and if they can’t find that way, they’ll ignore you anyway. The user owns their User Agent, not you.