<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
 <title>Xanjax&#169; News</title>
 <script id="xanify" type="text/javascript" src="xanify.js"></script>
 <style>#contentbox{display:none;}</style>
 <link rel="stylesheet" href="content.css" type="text/css"/>
</head>

<body>
<h1>Xanjax News &amp; Events</h1>
<h2>Timeline</h2>
<ul class="bulleted">
<li>Jul 9, 2009 - New! <a href="news.xml#jul-9">Xanjax nearing "Full" Release Status!</a></li>
<li>Jul 9, 2009 - New! Main Xanjax javascript library now encapsulated.</li>
<li>Apr 18, 2009 - Xanjax works as wrapper to suitable PHP apps!</li>
<li>Apr 6, 2009 - Xanjax now supports all popular browsers!</li>
<li>Apr 6, 2009 - <a href="news.xml#apr-6">IE 8 Support - uses 'onhashchange' event.</a></li>
<li>Mar 18, 2009 - Full support for title, script and link tags.</li>
<li>Mar 18, 2009 - Client side CMS style 'Context' templates.</li>
<li>Mar 18, 2009 - Safari, Google Chromium Support</li>
<li>Sep 22, 2008 - PHP Server Pushlets!</li>
<li>Sep 7, 2008 - Worked around IE Class and Style DOM bugs.</li>
<li>Sep 7, 2008 - First JSON support.</li>
<li>Apr 3, 2008 - first release - pre-beta.</li>
<li>Mar 26, 2008 - name changed to Xanjax.</li>
<li>Jan 28, 2008 - development resumed despite other pressures.</li>
<li>Jul 15, 2007 - postponed again due to house renovations.</li>
<li>Jun 22, 2007 - release postponed due to my son's birth.</li>
<li>Jun 18, 2007 - panjax.org website up (without content).</li>
<li>Mar 27, 2007 - first workable event driven model.</li>
<li>Mar 14, 2007 - workable model using polling tecniques.</li>
<li>Feb 23, 2007 - initial concepts explored.</li>
</ul>
<h2>Recent News</h2>

<h4><a id="jul-9">July 9, 2009 - Xanjax Close to "Release" Status</a></h4>
<p>With many improvements under the hood, broad browser compatibility, JSON contexts, and proof of concept for server side application "AJAXification" with the PHP blog application "WordPress" now working natively within Xanjax, David Chapman, the creator of Xanjax is starting to think about an official release status for Xanjax. All that remains before this can happen is encapsulation of the Xanjax JavaScript core code into a library with well defined API/Hooks. This work has begun, but will probably take some time still.</p>
<p>The July release of Xanjax includes for the first time an encapsulated main javascript library. This is preliminary, so beware that function call names might change, and even the library name itself might change. Benefits include namespace isolation from user javascript and some performance improvement. A published API will follow...</p>

<h4>Apr 18, 2009 - Xanjax works as wrapper to suitable PHP apps!</h4>
<p>It was a great surprise and relief to David, when after much work and refinement of Xanjax code, WordPress suddenly began to work natively within Xanjax. It marks the end of the highly intensive development cycle according to David, because being able to wrap a quite intensive application like WordPress natively within foreign code proves the viability of that code for more general use. In the end, URL query and anchor filtering, and cross browser support for anchors within a DIV element, were the main stumbling blocks to be solved before WordPress finally worked inside a DIV instead of having to be wrapped in an OBJECT element. "As far as I know, there only remain some IE issues with OBJECT elements to be solved before "anything" can be shoved in a DIV, cross browser," said David. "However, broad public testing will be required to confirm that."</p>

<h4><a id="apr-6">April 6, 2009 - IE8 Works Using 'onhashchange' Event</a></h4>
<p>Interestingly, IE 8 replicates nearly all the DOM bugs of previous IE's, even in the new standards mode - one would have to conclude that they're not serious about making a real standards based browser! Neither is it fast like they claim, being noticeably below the performance of the other browsers for Javascript/DOM operations; either they fail to see a future for the web, or they have other plans.</p>
<p>I'd give IE8 about 3 out of 10, all three marks being for the new 'onhashchange' event. There's no point in a standards mode if it doesn't sufficiently meet the standards to avoid non-standard coding requirements. The bottom line is that Xanjax contains at least 10% more code than it should, and took 90% more effort than it should have, just because of IE's non-conformance to standards - IE8 still requires most of that and in reality isn't going to do much to help us developers. When's IE9 coming?</p>

<h4>March 18, 2009 - Summer Madness Pays Off</h4>
<p>The long hot down-under summer has kept me inside more, bringing Xanjax development along more rapidly.</p>
<p>I was able to determine that WebKit based browsers currently suffer from a hidden scrollbar bug which masks onscroll events for these browsers while scrollbars are hidden. That's quite a serious bug for a modern browser engine trying to position itself as the leading standards based browser, so I hope the developers see to it soon. Anyway, the bottom line is that Xanjax had to degrade to polling for these browsers to make them navigate. So now we have Safari and Chromium support.</p>
<p>Some of the many IE DOM bugs had prevented Xanjax from fully supporting script, link and style tags in IE browsers. That has been solved now. DOM methods are still being used, but painfully inefficiently.</p>
<p>Best of all over summer, I managed to elucidate vague notions I had long had, about doing CMS style templates client side, and articulate them into real working code. Xanjax therefore now supports what I call 'contexts,' which symbolises supplementary content that's contextually linked to main content. In Xanjax these contexts are defined in a JSON template file, which of course has it's own Xanjax way of doing things. In the end, it took only 1K (24 lines) of code, and just 7 keywords for the template file to leverage JSON into doing contexts - such is the power of JSON combined with JavaScript and DOM! Of course I already have plans for expansion...</p>

<h4>Sept 22, 2008 &#160; PHP Server Pushlets!</h4>
<p>Fancy the idea of displaying real time server events? Xanjax now offers PHP simulated server push, connecting asynchronously to receive server event data. This is achieved without client side polling, so has the lowest possible latency!</p>

<h4>Sept 7, 2008 &#160; JSON Support, IE Class &#38; Inline Style</h4>
<p>Finally JSON support is in the bag. It's only preliminary at this stage but already does Menus and Lists. Download, Documentation and Demos coming!</p>

<p>Also, I had a break through with Internet Explorer style support for classes, and inline style defined directly in HTML elements. Opera version 9.51 caused a rework in document anchors which are used for navigation support.</p>

<p>Xanjax remains compatible with IE's 5.5, 6.1, 7.0, and with Firefox and Opera. Work is going on with Safari which can be made to work, but will probably not be able to use event driven navigation like all the others; due to an apparent document scrolling fault with hidden scrollbars. Also, Safari is painfully slow with its DOM handling, at least in the Windows version. Hopefully Safari's WebKit engine will be improved soon to take care of these issues.</p>

<h4>May 18, 2008 &#160; Xanjax Now Hosted at <a href="http://www.gplhost.com/" target="_blank">GPLHost</a>!</h4>
<p>Xanjax is now hosted at gplhost.com on a <a href="http://www.gplhost.com/hosting-vps.html" target="_blank">Xen Virtual Private Server.</a> Xen is open-source virtualisation software for running multiple operating systems simultaneously on a single computer. Thomas Goirand, CEO of GPLHost, has written DTC, an open-source domain and hosting control panel, which together with DTC-Xen (which he also wrote) provides the key to domain and hosting services on Xen virtual private servers.</p>

<p>Many thanks Thomas, not only for providing far superior hosting services, but also for providing xanjax.org with a valuable sponsorship.</p>

<h4>April 10, 2008 &#160; Opera Going!</h4>
<p>Opera was fixed by the addition of three lines of code to cancel onscroll bubbling from Xanjax's main content div - this seems like a bug in Opera, as window.onscroll responds to elements scrolling in Opera, not just the top level window or body.</p>

<h4>April 3, 2008 &#160; pre-beta release</h4>
<p>After many months part time work, and many interruptions, I've decided it's time to take Xanjax public. &#160; Xanjax is free software licensed under the GNU Affero Public License Version 3.</p>

<p>At this time, Xanjax appears to be working in at least Firefox 2 and Internet Explorers 5.5, 6.1 and 7.0. &#160; However there's much testing to be done still, so I'm only prepared to give this initial release pre-beta status!</p>

<p>Opera 9.0 is not all singing yet due to a bug with window.onscroll which apparently propogates all scroll events from divs, objects etc., rather than just the top level window. &#160; There are workarounds using browser detects but I would use that option as an absolute last resort. &#160; Anyone who can help me with Opera's unusual window.onscroll behaviour, please post on the blog. (It should be noted that both Opera and Firefox, due to mostly bug free comprehensive W3C compliance, can be made to work with much simpler tecniques than are required for any current version of IE, so this is NOT a criticism of Opera)</p>

<p>Konquerer apparently also has problems with window.onscroll (more serious - no event occurs) and with XMLHttpRequest and is therefore not going. &#160; If you can help, please post to the blog.</p>

<p>Safari, and all the others are not even tested at all yet because I don't have access to them;  &#160; Again if you can help, please post results of any tests to the blog.</p>

<p>Lynx, Links, and Dillo all work, and other similar text only or non JavaScript browsers should work fine. Mobile phones and Palm style copmuters not tested at all. &#160; Again if you can help, please post results of any tests to the blog.</p>

<p>Finally, please note that although Xanjax has been extensively developed to cater for the many quirks of Internet Explorer it has not been tested much under a Windows environment. &#160; Although my Linux machine is also installed with licensed Windows XP, the only use I have for Windows is testing web pages under IE! &#160; Even that is slow and cumbersome; which is why all development, and most testing, has been done under Linux (first Mandriva 2007, now Mandriva 2008), with popular browsers Firefox, Opera, and IE versions 5.5, 6.1 and 7.0 run simultaneously. IE's run under Wine (thanks to ies4linux), while Firefox and Opera run in Linux natively. &#160; To date I have found testing web pages in IE's under Wine 100% valid, meaning that all faults found under Wine also appeared under Windows, but there's sure to be something ugly I haven't seen that will bob up to plague me when Windows users get busy.</p>
</body>
</html>

