How'd this get started?: Eric Laffoon: I came from the camp of people who didn't like Microsoft, and I think with
good reason. I started working with computers pre microprocessor, as in TTL
chips and Fortran in the late 1970s. I had worked with DOS and windows based
PCs since the AT clones and in the 1990s I became totally fed up with the
total lack of robustness in Windows and switched to OS/2 2.3. By 1999 it was
clear I needed to look for a platform with an opportunity to find new
applications. I had started doing professional web development in the mid 90s
on the OS/2 EPM editor which only had highlighting. When I came to Linux I
looked at free and commercial software for web design. Initially I was
attracted to Free software for free as in beer because I'm a software junkie.
In the start of 2000 the most interesting project I found was an initial
launch by two Eastern European students called Quanta Plus. To me it was
cute, but not really useful for production web development. I sent them an
email really expressing my frustration over a number of areas that it needed
work. To my surprise they invited me to join the project to specify the user
interface.
Later when they left to do a commercial project I became very committed to
free as in speech with GPL software. Many people were writing me telling me
how this little software project was affecting their lives and it was more
rewarding than any amount of money. I actually learned C++ for the project
and now sponsor two developers as well as oversee the project. It's one of
the most fulfilling things I've ever done.
OSDir.com: What do you think are its best features?
Eric Laffoon: Well first off, it has expanded into multiple applications in a central
module. (kdewebdev) So along with Quanta we have a multiline find and replace
tool, link checker, imagemap editor, XSL debugger, PHP debugger and my other
baby Kommander. Quanta+ is really one of the more feature rich applications
on the Linux desktop, but it does this in a very organic and natural way. So
the more you use and explore the more you find. Our central feature is our
parser which allows us to work beyond a DOM tree to the actual document tree
for PHP documents for instance. Any markup language and many scripting
language can be supported. The scripting limitation is just that they are
harder to parse at times. So you can import XML DTDs and use them on the fly.
Some other cool features are the ability to have multiple upload profiles so
you can support test server and load balanced servers. It integrates with
KDE's Cervisia as a CVS front end, and now it will inherit Subversion
control. It has a structure tree showing the parse tree, real time structural
XML validation based on your DTD, four different kinds of templates, DTD
specific code abbreviations and it was the first Linux tool to offer a visual
page layout mode. The real power of Quanta comes out with scripts, espcially
with projects. You can set up script actions for toolbars or key combinations
and with these use any script you like and also manipulate editor content. In
fact if it's on a toolbar you can email it to a friend from Quanta. As of 3.3
we introduced Event actions which use scripts from the script area. These
allow you to trigger off of every file action we could think of including
CVS/SVN actions, uploads, saves, etc... These can also be passed parameters.
The fun thing will all this is that Kommander can visually create rich
interactive dialogs which speak DCOP, the KDE IPC. They can also invoke or
carry scripts, manage internal logic and are completely dynamic. So this
means that using DCOP with our extensive call library and Kommander and
actions you can create a very custom special application visually without
writing a line of C++.
I'd like to say something about Kommander as it is a project I "birthed". It
was inspired by Kaptain but it uses a visual design and stores actions in
widgets and scripts. Typical Kommander dialogs are under the default 40KB
limit on mailing lists and the DCOP commands can execute thousands of
instructions per second. They don't require a compile and all you have to
write and debug is your logic so they are fast in every respect. While it was
designed to extend Quanta, and it does with dialogs like the HTML quick
start, there are also applications that have been released with it like
Katiuska.
OSDir.com: What is cooking for future releases?
Eric Laffoon: We're working on several things now. One is to really bring VPL (visual page
layout) to maturity. Traditional WYSIWYG solutions hack things up because
they are based on processing assumptions. Because we use DTD specific markup
with full control of node processing we eliminate assumptions as much as
possible. So editing in VPL only rewrites the node you work on. The challenge
is giving it more interactive control to directly manipulate CSS elements and
more context control and visual feedback. We're also exploring XSLT in real
time for the ability to do things like custom XML or DocBook visually. In the
Team development area we're working on extending from basic role declaration
to more result oriented control. One thing we're looking at is incorporating
a simple XML messaging scheme into a repository directory so that updating
the project would pass messages as well as incorporate annotations. We've
been dividing up the project file to work with information that should and
should not be shared and we're working on enhancing Team Development as a
practical tool. One feature we're looking at here is role and task
personalities. This would allow a user or project manager to visually create
a definition that would mean when you were logged into a project you would
get a reduced information target interface and access in the application
window. For instance someone working on content would not have the scripters
tools up and would see only files relevent to layout along with content, but
they would only be able to process the content files.
Another big thing planned is to merge architecture with Kdevelop, which would
allow us a vastly expanded module capability, and I know the Kdevelop team is
interested in some of our ideas too. My big idea I hope to have in place for
KDE 4 is called Object Templates. The concept here, without giving away too
much, is to create a new interface for design where intelligence can be
applied to components which will dramatically reduce the time and effort in
design, but the interesting thing is it seeks not to enforce a rigid model
but allows web developers to "teach" it their design model in work and
transition into the approach. I've been wrestling with this concept and
approach now for years.
BTW we're working on a database plugin for Kommander right now that uses Horst
Knorr's hk_classes and can access MySQL, PostgreSQL, Sqlite and ODBC. Our
demo will be an SQL phrase editor to plug in to the toolbar. We expect to
have it ready in the coming weeks.
OSDir.com: What do you consider its biggest challenger?
Eric Laffoon: I don't consider that we presently have any serious challengers in our class
in FLOSS at the moment. I'm just not aware of any tool that has the
architectural foundations we do. In web design software in general I see
Dreamweaver as a tool we can beat hands down right now most any usage except
heavy graphics. Other programs to compare against would be programs like the
Zend editor or some Java based tools. Quanta+ can be marginally better or
worse there depending. It has an advantage of being fast and native though.
Also if you look at something like Eclipse, that is just really difficult to
compete with in some areas by the sheer developer volume, but it's generally
targetted at a different audience of Java developers. I think as PHP improves
there will be a lot of appeal, but I'd love to attract Java developers to
work on Quanta+. I think after we merge the Kdevelop architecture we should
gain ground there.
I'd like to say one thing about the "who do you compare with" question. My
experience has been very good with web developers telling me Quanta+ makes a
difference. My friend Wil Wheaton, who O'Reilly has published, told me it is
the reason he refers people to Linux. There are a lot of web pages out there
and small to medium sized web shops. My goal is to give these people a reason
to move to a more secure and productive environment, and this next thing
means a lot to me... We need to make sure that we promote freedom on the
internet so that those people less fortunate have an opportunity to
participate. People don't make war on their friends and you can't have a
trading partner unless they are empowered economically. We believe that a
handful of people can make a difference in the world. Our project achieves
excellence by adding user sponsored developers in Eastern Europe where money
goes many times further than Western Europe or the US. I someone supports our
goals and our effort I ask that they consider helping us make a difference by
making a financial contribution. We also have expenses in conferences,
speaking invitations to free software conventions that can't afford to cover
all expenses and hardware to compile faster. Being the best takes resources
and efficiency only goes so far.
Thanks for picking us as project of the week, and a special thanks to the
thousands upon thousands of users who have been saying good things about us.