GrafiXML
What is GrafiXML ?GrafiXML is a graphical tool to draw user interfaces for multiple computing platforms. You can save a user interface in several formats like java or xhtml but the principal way is to save it in UsiXML, a XML user interface description language (please refer to UsiXML web site) and exports it to a code format. GrafiXML is similar to any user interface builder except that it manipulates more widget properties than physical ones and that it saves any user interface in UsiXML instead of in a particular code format. In this ay, it is possible to maintain multiple localised versions of the same user interface and attach them to particular contexts of use. GrafiXML is released under the terms of the Apache License, Version 2.0. GrafiXML V1.2.0 is compatible with UsiXML V1.8. PLEASE DO NOT SEND BUGS REPORT OR FEATURES ASKING BY MAIL, please use the Bug Tracking system.
Screenshots/video
GrafiXML V1.2.0
GrafiXML V1.0.8
This video demonstrates how to use GrafiXML for designing multi-platform user interfaces base on UsiXML.
Requirements
As for GrafiXML 1.2.0, you need to have a valid Java™ 1.6.0 or higher and a valid Java™ Media Framework 2.11 or higher. See below for links. You need a valid Java™ installation (>=1.6.0) with Java Web Start.
Note about sources
Note: all those jar files can be downloaded from here.
If you want to compile GrafiXML from sources, you need those packages in your classpath:
- Java Help jars from Java Help
- mysql.jar from MySQL
- Java Web Start jars from Java Web Start (already present with jdk >=1.6.0)
- jdom.jar from JDom
- castor-x.y.jar from Exolab
- oro.jar from Jakarta
- commons-logging.jar from Jakarta
- xerces.jar
- regexp.jar from Jakarta
- Java Media Framework from Sun
Start GrafiXML with Java Web Start.
GrafiXML User guide.
GrafiXML PowerPoint presentation.
Changelog
You can find the Changelog here.
Roadmap
Take a look at the wiki page. There is also a Todo-list here.
Sources
All versions before 1.0.7 use Java Web Services instead of Castor. There is a wiki page to explain how to build GrafiXML from sources. GrafiXML has been also featured in various open source project web sites, such as Linux FR.
Version 1.2.0
grafixml-1.2.0.rar
grafixml-src-1.2.0.rar
Version 1.0.8
Older release can be found here.
Frequently asked questions
Q: When I click on "Start GrafiXML with Java Web Start" link, my browser ask me to do something with a jnlp file.
A: Tell your browser to open it with java web start (placed in your java_install_dir/jre/javaws/javaws(.exe if windows)).
Q: Where can I found the api docs ?
A: GrafiXML API is here, UsiXML api is here and Michotte library api is here.
Q: How can I add the GrafiXML shortcut to my desktop ?
A: Start Java Web Start (start menu -> execute -> javaws), select GrafiXML and go to the Application menu and choose "install shortcut".
More information
GrafiXML is developped by Benjamin Michotte, a graduate in industrial computer science working at the Université catholique de Louvain, Belgium.
Some links: personal work's page or personal page.
You can contact me by mail or on the mailing-list.
Benjamin Michotte Gnu GPG key is avalaible here.
Publications
- Michotte, B., Vanderdonckt, J., GrafiXML, A Multi-Target User Interface Builder based on UsiXML, Proc. of 4th International Conference on Autonomic and Autonomous Systems ICAS’2008 (Gosier, 16-21 March 2008), IEEE Computer Society Press, Los Alamitos, 2008, to appear.

- Lepreux, S., Vanderdonckt, J., Michotte, B., Visual Design of User Interfaces by (De)composition, Proc. of 13th Int. Workshop on Design, Specification, and Verification of Interactive Systems DSV-IS'2006 (Dublin, 26-28 July 2006), G. Doherty and A. Blandford (eds.), Lecture Notes in Computer Science, Vol. 4323, Springer-Verlag, Berlin, 2006, pp. 157-170.

- Florins, M., Montero, F., Vanderdonckt, J., Michotte, B., Splitting Rules for Graceful Degradation of User Interfaces, Proc. of 8th Int. Working Conference on Advanced Visual Interfaces AVI'2006 (Venezia, May 23-26, 2006), ACM Press, New York, 2006, pp. 59-66.

- Florins, M., Montero, F., Vanderdonckt, J., Michotte, B., Splitting Rules for Graceful Degradation of User Interfaces, Proc. of 10th ACM Int. Conf. on Intelligent User Interfaces IUI'2006 (Sydney, 29 January-1 February, 2006), ACM Press, New York, 2006, pp. 264-266.
The poster is also available
.
- Bouillon, L., Limbourg, Q., Vanderdonckt, J., Michotte, B., Reverse Engineering of Web Pages based on Derivations and Transformations, Proc. of 3rd Latin American Web Congress LA-Web'2005 (Buenos Aires, October 31-November 2, 2005), IEEE Computer Society Press, Los Alamitos, 2005, pp. 3-13.
. The slides are also available. 
- Stanciulescu, A., Limbourg, Q., Vanderdonckt, J., Michotte, B., Montero, F., A Transformational Approach for Multimodal Web User Interfaces based on UsiXML, Proc. of 7th Int. Conf. on Multimodal Interfaces ICMI'2005 (Trento, 4-6 October, 2005), ACM Press, New York, 2005, pp. 259-266.
. The poster is also available
.
- Limbourg, Q., Vanderdonckt, J., Michotte, B., Bouillon, L., Florins, M., UsiXML: A User Interface Description Language Supporting Multiple Levels of Independence, in Proceedings of Workshop on Device Independent Web Engineering DIWE'04 (Munich, 26-27 July 2004), M. Lauff (Ed.), Munich, 2004.
- Vanderdonckt, J., Limbourg, Q., Michotte, B., Bouillon, L., Trevisan, D., Florins, M., UsiXML: a User Interface Description Language for Specifying Multimodal User Interfaces, in Proc. of W3C Workshop on Multimodal Interaction WMI'2004 (Sophia Antipolis, 19-20 July 2004).

- Limbourg, Q., Vanderdonckt, J., Michotte, B., Bouillon, L., Víctor López Jaquero, UsiXML: a Language Supporting Multi-Path Development of User Interfaces, Proc. of 9th IFIP Working Conference on Engineering for Human-Computer Interaction jointly with 11th Int. Workshop on Design, Specification, and Verification of Interactive Systems, EHCI-DSVIS'2004 (Hamburg, July 11-13, 2004), Lecture Notes in Computer Science, Vol. 3425, Springer-Verlag, Berlin, 2005, pp. 200-220.

- Limbourg, Q., Vanderdonckt, J., Michotte, B., Bouillon, L., Florins, M., Trevisan, D., UsiXML: A User Interface Description Language for Context-Sensitive User Interfaces, in Proceedings of the ACM AVI'2004 Workshop "Developing User Interfaces with XML: Advances on User Interface Description Languages" (Gallipoli, May 25, 2004), Luyten, K., M. Abrams, Limbourg, Q., Vanderdonckt, J. (Eds.), Gallipoli, 2004, pp. 55-62.


