Journal / 1
Bad Choices in Forwards Compatibility within IE[permalink]
In the final throws of working on this website update, I had to go and test on different versions of IE. I knew a lot of things were not going to work in anything before IE (Internet Explorer) 9. Nevertheless, I needed something to show up for the poor folks still using a broken browser.
After fussing a bit with a post-process filter in Restlet, I adjusted the website to switch to the media type text/html when it detects any version of IE before 9. The theory was that I could squeak by and deliver hacked up XHTML to IE and get something to render. That theory was quite wrong.
See, folks, I use a variety of modern browsers (Chrome, Safari, Firefox), on a variety of operating systems (OS X, Android, iOS), on a variety of platforms (Mac, iPhone/iPod, Android Phones, Nook Tablets). Everything works the way I expect it except on Windows with IE. I knew that and I avoid bastardizing my projects just to make IE work.
The engineers that made IE made what I believe to be the worse decision in forwards compatibility I could imagine for any system that processes markup. Instead of just ignoring tags it doesn't understand, it automatically closes them and makes the child a sibling. This completely destroys any kind of forwards compability as the DOM used by the browser is now enormously different than expected.
For example, in my pages I use the HTML5 article structure. Whenever an article, section, or other such HTML5 elements occurs, such as:
<article> <h1>Test Article</h1> <section> <h2>Overview</h2> <p>In the beginning ...
in IE 8 or previous versions, you'll get:
<article/> <h1>Test Article</h1> <section/> <h2>Overview</h2> <p>In the beginning ...
As the containers are gone, the stylesheets won't work properly, and everything looks funny.
XProc on My Website[permalink]
I've migrated my whole website to run on a combination of XProc, Restlet, and the new Atomojo V2 server. Atomojo V2 provides an Atom APP backend powered by XProc and MarkLogic glued together using Restlet. The same archictecture has been use to deploy this website. That is, almost all the pages are the result of running some XProc-enabled process.
Over the next few weeks I'll be detailing how this whole system works. I'll start with some simple examples. In the end, I hope I'll have convinced you that XProc makes my life easier. If not, well, you can walk away thinking: "I hope he thinks so!"
WebKit MathML is Progressing[permalink]
I've been able to make some progress getting MathML into the trunk of WebKit. You can see from the master MathML Bug that there are only a few patches that aren't in the trunk. In fact, 33703 doesn't count because it is a union of other patches for others who want to play and is now almost obsolete.
Just mfrac, mroot, and msqrt to go and we'll have a some basic MathML that is usable. There is, of course, quite a bit more to do.
Using contenteditable in Atomojo's Editor[permalink]
I just added the use of WYSIWIG editing to the content editor for entries with XHTML content. The contenteditable='true' is really simple and works very well in browsers like Safari or Firefox. Given that I only use non-broken browsers to edit my feeds, this will work well.
Web-based Editor for Atomojo[permalink]
I just finished a web-based editor for the Atom Publishing Protocol that is part of Atomojo. I've also integrated it with the Atomojo server. You can now just add the edit-client='true' attribute to any host or resource declaration in your server.conf and it will configure the editor on the /edit/ path of your server.

