- From: Gerald Bauer <luxorxul@yahoo.ca>
- Date: Mon, 10 Jan 2005 21:47:44 -0500 (EST)
- To: www-forms@w3.org
Hello, Welcome to the new XForms Titan Interview series. Today let's welcome Claus Wahlers of DENG fame. Q: Can you tell us a little bit about yourself? Claus Wahlers: Today I work as a freelance software developer and technical consultant with a strong focus on web technologies. I am co-founder of the German developer network "côdeazur" and currently in progress of setting up a business in Sao Paulo, Brazil, where I recently relocated to. I started to learn programming as a teenager back in the mid 1980s on a Commodore C64 when IT was called EDP. A few years later on an Atari ST I discovered C, my programming language of choice for the 1990s, and soon turned my hobby into a profession. In the late 1990s I started contracting more and more web projects and turned towards scripting languages like ECMA-/Java-/Actionscript, PHP and, more recently, Python. Q: How did you stumble onto W3C's XForms? Claus Wahlers: My buddy Sebastian Schnitzenbaumer always kept me updated on his work on a new markup language called FML (Forms Markup Language) in the late 1990s. That specification was designed to supersede the widely deployed but rather limited HTML forms. Mozquito, a Munich/Germany based company co-founded by Sebastian, submitted FML to the W3C, a working group was formed, and XForms was given birth. Q: How did you get started on DENG? Can you tell us a little bit about DENG's history? Claus Wahlers: At the same time Sebastian and his peepz were busy developing FML/XForms, I was experimenting with webbased graphical user interfaces, first using DHTML, and later (bored of crossbrowser issues) Macromedia Flash. I called my early XML driven Flash experiments "DENG", short for "Desktop ENGine". Sebastian was always very interested in my work and one day he called me to set up a meeting. In that meeting he asked if it was possible to tweak "DENG" to render XForms documents. My answer was "sure", and the DENG Project (as we know it today) was born. Q: Can you briefly sketch out DENG's architecture and its building blocks? Claus Wahlers: DENG uses the Macromedia Flash Player as its core framework. It is entirely written in Actionscript, an ECMA-Script dialect. The DENG engine leverages the Flash Player's native XML Parser/DOM, its Drawing API (block element rendering) and HTML-TextField object (inline element rendering), and features custom Actionscript implementations of a CSS3 Parser/DOM and XPath. All those lower level implementations currently are not 100% standards compliant (an issue that will get solved with a forthcoming DENG Version 2). On top of that we have a pool of components, grouped by namespace, that take care of rendering each element in the DOM, according to the CSS. Each component inherits global and namespace specific behaviours in an object oriented fashion. The engine is compiled into SWF, the binary format used by the Flash Player (technically comparable to the way Java works: SWF is similar to compiled Java classes, the Flash Player similar to the Java VM). In an (X)HTML container document, the SWF is then pulled via object/embed tags and passed the URI of the document to render. Q: Can you tell us some challenges you faced building DENG using Flash/ActionScript? Claus Wahlers: By far the biggest challenge was performance. I estimate that at least 50% of the time developing DENG was spent on optimizing the engine. Other disadvantages of a pure Flash implementation are: - Accessibility/Usability issues The Flash Player features only very basic support for screenreaders (Microsoft Active Accessibility), thus locking out visually impaired people wo are using other screenreaders and/or non Microsoft operating systems. Also, content rendered by the Flash Player faces several usability issues (for example, you can't select text across paragraphs in the current DENG version, you can't use your mouse's scrollwheel, etc) - Based on proprietary technology The Flash Player is closed source software developed by a single entity. This results in several issues like licensing (we can't redistribute nor port the Flash Player to less mainstream platforms without paying rather huge amounts of money to Macromedia) and no guaranteed future (we don't know what Macromedia is planning with future versions of the Flash Player, we don't know how long Macromedia and the Flash Player is going to exist yet, etc), just to name a few. Q: Can you tell us what DENG can do today? What works and what needs to be done? Claus Wahlers: DENG features implementations of XHTML, XForms, SVG, SMIL and XFrames. Missing features of the XForms implementation are: - Schema validation - Switch module - Repeat module is implemented, but unrolled repeats are not supported yet - Form controls: range, upload and select are not implemented, select1 only allows appearance="minimal" We envision a 100% implementation of XForms 1.0 in DENG version 2. Q: Can you tell us how popular DENG is? (e.g. How many downloads? Are there any applications/projects using DENG? What's the interest in the XForms/Flash community? etc.) Claus Wahlers: The DENG file release on Sourceforge was downloaded 5,200 times so far (not counting direct CVS access), and we currently have 650 registered users in our support forum. The XForms community is extremely interested into DENG, as DENG currently is the only XForms renderer that can be deployed zero install. Micah Dubinko's "XForms Institute" uses DENG for example, and i know of quite some people who are working with DENG today. Q: Who else is behind DENG? Do you work on your own? How much time do you spend on DENG development? How can someone get involved in DENG? Claus Wahlers: The core developer team currently is Stefano Debenedetti (Italy), Jim Cheng (USA) and myself (Brazil). The fine folks at Dreamlab in Switzerland (http://dreamlab.net) are helping with legal stuff and financing, and Sebastian is always around. Currently, most work is done by Stefano, who is working fulltime on a crossplatform DENG Version 2. Jim is working on a ECMAScript 4 DOM3 implementation, and I'm busy recruiting new developers, evangelizing and hunting for budgets. We always lurk on IRC (channel #codeazur on irc.freenode.net), and that's usually the best place to get in touch with us. Q: What do you think is holding XForms back? Why hasn't XForms caught on yet? Claus Wahlers: XForms is everywhere. Q: What's your take on namespaces? Do you think mere mortals can handle strings such as xmlns:xforms="http://www.w3.org/2002/xforms"? Claus Wahlers: You'd have to define "mere mortals". It's probably quite a challenge for my grandma. Q: What's your take on the new WHAT-WG initiative started by Opera and Mozilla and the WHAT-WG Web Forms 2.0 proposal? Claus Wahlers: The WHAT-WG was formed by Opera alone, and not by Mozilla. I think that some of their ideas are really good, it's just that they are five years late. Q What's next for DENG? Claus Wahlers: We are currently working on a DENG version 2. First proof of concept examples and code is available at http://demaledetti.net/ugo. The core of DENG version 2 is written in crossplatform ECMAScript and thus runs on both ECMAScript enabled web browsers *and* the Flash Player. This enables DENG version 2 to render XForms documents on pretty much all existing browsers on all existing platforms with zero server side requirements, a feature that none of todays XForms engines provide. Thank you Claus Wahlers for the interview. Find out more about DENG @ http://sourceforge.net/projects/dengmx - Gerald ----------------------- Gerald Bauer XUL Alliance - http://xulalliance.org XUL News - http://xulnews.com ______________________________________________________________________ Post your free ad now! http://personals.yahoo.ca
Received on Tuesday, 11 January 2005 02:48:15 UTC