Gmane
From: Gerald Bauer <gerald <at> vamphq.com>
Subject: XUL Titan Interview: Vic Cekvenich (of Struts Best Practices book fame)
Newsgroups: gmane.comp.lang.xul.announce
Date: 2005-01-19 04:41:01 GMT (3 years, 24 weeks, 1 hour and 11 minutes ago)
Hello,

  Welcome back to the XUL Titan Interview series.
Today let's welcome Vic Cekvenich of Struts Best
Practices book fame.

  Q: Can you tell us a little bit about yourself?

  Vic Cekvenich: Short history: Born in Croatia, grew
up in New York City, worked for ComputerLand before PC
XT shipped and at a large ad agency specializing in
database marketing and frequent flyer points. Then
moved to Texas before the Internet took of and did
large systems consulting and project recovery. Wrote a
book on Struts "Best Practices".

  Q: How did you get started on Macromedia Flex? Have
you tried out any alternative XML UI language
alternatives before?

Vic Cekvenich: I was aware of Flash remoting, but
could not get over the IDE, and I was aware of XUL,
but could not find enough browser support. Flex was
written by Sean Neville, the man that wrote PoolMan.
At the time I started on the Beta for Flex, I had my
team members working with Laszlo Systems, which is
quite similar to Flex. I also found out that
Macromedia pulled out of Sun's Java Server Faces (JSF)
initiative, and since Macromedia was backing Flex, I
assumed they would have more success than Laszlo. So I
was on the Flex Beta, and I wrote two mini
applications to test how to do CRUD, etc.

Q: Can you tell us more about your two mini apps using
Macromedia Flex?

Vic Cekvenich: They were sample apps. One was for an
online teaching application, and the other was for
real estate listings. This was just sample beta
playing. I liked it and assumed it would work. Then...
I spent three months writing a complex project in Flex
for production.

Q: What happened? Can you tell us some challenges you
faced getting your Flex application ready for
production?

Vic Cekvenich: Well, once I was well into writing the
application, I noticed that when you resize the
application with lots of components, that the resizing
of the windows was slow. There are warnings about this
on the Flex home page. The Macromedia "solution" was
to reduce the number of components on a window. So I
abandoned it.

Q: How did you stumble onto Sun's JDesktop Network
Components (JDNC) as an alternative?

Vic Cekvenich: I am not quite sure. It must have been
one of the news web sites, such as Erik's links blog.
JDNC was promoted a lot at JavaOne, and that is how it
became well known. It's important to note that there
is a lot more noise about Service-Oriented
Architecture (SoA) than Rich Internet Applications
(RiA), but the two go toghether, like a sea-saw. There
is a lot more SoA out there: Jabber, JMS, Staxx,
Google API, Amazon API, Ebay API, etc.

Q: Can you tell us what application you are developing
using Sun's JDNC?

Vic Cekvenich: I am developing an application that is
for people that use messages boards, forums, mailing
lists and communities. People that might post about
stocks, or games, or "Star wars" or anything. Of
course, it will be a rich application with a nice UI.
It feels a bit like "friendster" and allows you to
subscribe to various groups, search for groups or for
friends and post your messages. I hope that it becomes
a popular site, so I can get out of the consulting
"rat race".

Q: What's the hook? Why would anyone use Sun's
JDesktop Network Components over say plain old Java
Swing coding?

Vic Cekvenich: The main hook for users and developers
of Rich Internet Applications (RiA) is that it allows
you to bypass the browser. People have broadband more
and more and less modems, plus they have larger
monitors, and they are looking to do something with
them. Browsers have a limit on the user experience. I
wanted to break through and give the users something
more. Swing components are quite bad, most people use
SWT. JDNC makes Swing a bit more usable in MVC and
data binding. Also, I get to be a programmer again and
not a web master.

Q: Can you tell us some challenges you faced building
your app using Sun's JDNC?

Vic Cekvenich: Well... Java as cross platform. The
biggest time sink on the project is making the
application run on Mac, Linux and Windows. We want to
develop a cross platform application, and we had to
create three targets. Also, installation: A typical
user of our application might have several versions of
Java installed on their machine. So how do we deploy
this now? This is one area where Flash is superior to
Java runtimes in that it is easier to cross deploy to
masses. Imagine if a large internet application had 1%
of users who could not get Java to run as intended,
that is a lot of support calls.

Q: Do you have a favorite scripting language for the
Java runtime? Do you want to see scripting pushed more
in Sun's JDNC or do you want to keep the code Java
only?

Vic Cekvenich: Not sure what you mean there. I hope
Java gets "Groovier" and simpler, not just bigger, and
that we get a Java shell in Linux like we have a
c-shell. Things like ActionScript and Javascript are
tied to a browser and have nothing applicable in an
internet application. A user could however use a
keyboard macro recording software to automate some
tasks on an application, assuming their OS has such a
thing.   

Q: What's your take on CSS? Do you want to see CSS
support added to Sun's JDesktop Network Components for
styling using rules?

Vic Cekvenich: No. CSS is browser based. In JDNC is
extensions of Swing and as such supports
Pluggable-Look and feel. There are many "skins"
available for Swing or once can develop their own Look
an Feel to plug in.

Q: What do you think is still missing badly in Sun's
JDNC?

Vic Cekvenich: The good news is that it runs outside
of the browser so that there is not two sets of
windowing API. JDNC needs Java Web Start to develop. 
Swing people used to run as applets a lot, but JDNC
uses Java Web Start and it needs the Network Launch
protocol to advance. For example Web Start's sandbox
is too restrictive and not documented. That is a weak
point and a huge advantage Java has over .NET. There
is no way to automatically launch from the web in .NET
and keep the "jars" up to date AFAIK in .NET. JDNC
itself is open source so it's easy to maintain, but
Web Start is not a fully documented API. We have to
use open source Web Starts. I  wish IBM would develop
a Web Start alternative.

Q: Do you think HTML has a future? 

Vic Cekvenich: Future similar to COBOL, sites running
HTML will keep running with minimal maintenance. No
one should be creating any more new HTML or browser
based applications, HTML is legacy to me. It is sad if
any developers are forced to learn new HTML skills
such as portlets api or tapestry. Ten years from now,
there will still be production legacy HTML apps, but
most of will be using RiA apps, such as iTunes (an
example RiA).

Q: You're a well-known Struts master. Can you tell us
what role web frameworks like Struts may play in the
post-HTML world?

Vic Cekvenich: Struts itself is quite tied to servlets
and thus HTML, so not useful to future. However we can
learn from new upcoming version of Struts that uses
CoR design pattern. I used to use IoC and now started
using CoR. So no Struts but yes to IoC like HiveMInd
and CoR, like commons-chain. I use CoR inside of JDNC.

Q: What are your future plans for Sun's JDNC?

Vic Cekvenich: To build the best application in JDNC
to date. Alpha version will go to test users in weeks
at boardVU.com. I also try to link popular RiA or SoA
sites in operation there.

Thanks Vic for the interview.

For more about Vic's latest adventures in the RiA-SoA
world stop at the Sandra Foundation online @
http://www.sandrasf.com  chartered to to demonstrate a
scientific and repeatable way of developing RiA/SoA
applications.

 - Gerald

-----------------------
Gerald Bauer
XUL News Wire - http://xulnews.com
XUL Alliance  - http://xulalliance.org

-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt