XForms Titan Interview - Claus Wahlers (of DENG fame)

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