After struggling for a long while with the limitations of the scripting APIs that browsers expose for SVG and HTML, I have decided to try something different and to explore the potential of the ubiquitous Flash player. I wasn’t particularly keen on the official Flash development tools and have opted instead for Nicolas Cannesse’s haxe web development language. This is comes with a fast compiler and support for Flash 6 to 9. It also targets neko, a fast virtual machine that works well with the Apache web server.
My aim is to explore the role of XML for declarative end-to-end models of user interfaces to business processes. I wish to build upon XForms by adding markup for layout and a rich set of UI controls that are aligned to WAI-ARIA. So far haxe has been really easy to work with and very much better than working with the traditional browsers. I started by focusing on a small library of UI controls and am now working on the XForms support. In parallel, I have been working on implementing support for SVG, building upon Helen Triolo’s work on using SVG path data in Flash, with inspiration from Daniel Turing’s Xinf .
Putting it all together, this turns the Flash player into an XML-based browser for business applications. This follows in the footsteps of DENG a modular XML browser with support for subsets of XHTML, SVG, XForms , XFrames and CSS3. DENG is only 76Kb in size, but is rather slow as it predates the release of Action Script 3 and the performance improvements in the Flash 9 Player.
On the server side, I plan to experiment with a fusion of State Chart XML (SCXML) and business rules languages for executable models of document-based business processes that run on application servers. Here I will probably need to switch to Java on account of the wide availablity of open source Java components (e.g. Commons SCXML and a large number of rules engines), however, there is talk of extending the haxe compiler to target the Java VM. I also plan to explore the use of diagrams for easier authoring of high level models. To support this I am looking forward to working on browser based authoring tools that run within the Flash Player and operate on XML.