XML Application Objects (logo)
proof that life, as a web applications developer, was meant to be easy
SourceForge.net Logo
This page was last updated Wednesday 24 September 2003


Listed below are frequently asked questions about XAO.
  1. What exactly is XAO
  2. Why bother?
  3. Why PHP?
  4. Why is the XAO library not part of PEAR?
  5. Can XAO be used in conjunction with other libraries?
  6. What is the current status of the project?
  7. How come this website doesn't implement XAO?
  8. How come everytime I visit this site, you cange the logo caption?
What exactly is XAO
XAO stands for XML Application Objects. It is a library of objects that provide a high-level API (Application Programming Interface) to XML functionality. While XAO is not a framework, it does contain an object (AppDoc) which provides framwork functionality which allows XAO to be used in framwork mode.
Why bother?
Because the uptake of standards based development using XML/XSLT has been relatively slow given the maturity of standards. We believe that this slow uptake is partially due to lack of simplicity. XAO seeks to address this.
Better adoption of standards based development is better for everyone for many reasons including the fact that there is less need for learning proprietary technologies and less need to build custom interfaces. For instance, XAO can assist in using XML-RPC to talk to applications on other platforms (ie. Java or .NET). Graphic designers need only learn XSLT as a templating language rather than the myriad of other proprietary templating systems out there. Standards also provide a focal point for addressing issues as they come up. A technology adopting standards is a technology with a future.
Why PHP?
It just so happens that the initial designer of XAO uses PHP a lot. PHP is also a good language for prototyping. From the very beginning XAO has been designed with portability in mind. It's too early to say which technologies XAO will be ported to, but likely candidates may include Java, .NET, mod_python, C++, PERL...
Why is the XAO library not part of PEAR?
XAO is in it's very early stages. PEAR has it's own set of strict requirements which XAO most probably does not meet yet. We're open to the idea of it having it as part of the PEAR library if both the PEAR community and we deem it an appropriate addition. In the mean time, more discussion needs to take place. First and foremost, we want to design a complete API set that looks like it was designed by the same people. The API needs to "make sense" in a wholistic way. For this reason, we didn't want to try and cater for what already exists in PEAR as partial functionality. We want to take a strong focused direction without compromising the end product or getting distracted. The downside is that some of the functionality in PEAR may overlap. As it happens, it is likely that XAO will even use some of the PEAR classes internally. By just how much the two libraries overlap in the XML department remains to be seen. I guess to some extent this will determine if the PEAR community even wants XAO or not. Even if XAO was to become part of PEAR, someone would have to volunteer to take over this side maintanence (ie. package management, releases etc).
Can XAO be used in conjunction with other libraries?
Absolutely. Good object oritented design means that functionality is encapsulated meaning concrete (not abstract) classes should stand alone in their role. This means you should be able to mix and match objects from multiple object libraries. The only issue would be overlapping functionalities, but this is not dangerous, it just means you have to choose.
What is the current status of the project?
The project is in it's embryonic design phase. It's worth noting that a lot of thought has already gone into the design based on a years worth of XML/XSLT web applications development. XAO has already been successfully used in a production application that has been operating successfully for the past nine months. However, recently the library has been "broken" while it goes through a design iteration where it has been re-factored to provide greater decoupling. We hope to have an Alpha version released around the beginning of October 2003.
How come this website doesn't implement XAO?
SF.net does not currently provide access to the DOM XML PHP extension (which is a minimum requirement of XAO).
How come everytime I visit this site, you cange the logo caption?
The logo caption is a reandomly generated quote. Here they all are:
  • because using standards should be easy
  • for modern web applications
  • increasing the life expectancy of web applications developers
  • high-level object libray for rapid application development
  • because you don't have time to learn every new technology
  • no more excuses for using proprietary templating systems
  • designed to be really simple to use
  • encouraging good object oriented application design
  • it's what PHP developers have always needed
  • it's a library, you can use it as a framework
  • does all the boring bits like processor implementation
  • 100% XML web applications
  • PHP web applications development at the speed of light
  • because re-inventing the wheel has already been done
  • high returns on no investment at all... it's free!
  • proof that life, as a web applications developer, was meant to be easy
  • go on, try some, you know you want to
  • it's like cheating
  • Tell them it will take 3 months. Do it in 1. Take 2 off.
  • half the fat without the fat-free taste

This website is copytight Terence Kearns 2003
The XML Application Objects library is copyright Terence Kearns 2003 and made freely available to the public via the Lesser General Public Licence (LGPL).
The hosting of this project is generously provided by sourceforge.net