Misc: Ben Forta Speaks

In September I heard Ben Forta speak at the local (San Diego, California) Dreamweaver/Ultradev Users Group <http://www.dwud.org/>. What follows are my notes in no particular order. It’s my hope that they are useful to some of you. Macromedia has some very interesting products which are evolving in directions of note to web developers.

Let me apologize in advance for the scattershot nature of these notes, please note that you should sanity-check what follows against Macromedia documentation and public statements available on <http://www.macromedia.com/> .

Mick Kiely, the Coordinator of the DW/UD provided initial introductions and thanked UCSD Extension <http://www.extension.ucsd.edu/> for the use of the Institute of the Americas <http://ioa.ucsd.edu/> auditorium. Irvin Nagle of UCSD Extension thanked us for turning out and talked about the range of IT classes available through the Extension. There was some disappointment about the turnout,there were a few dozen people, leaving the hall mostly empty. Perhaps not enough of a mass mailing to existing Macromedia customers?

About Forta

Ben Forta <http://www.forta.com/> took the stage and introduced himself. He had flown in from San Francisco that afternoon and mentioned having visited 15 countries and 19 states so far this year. He’s a lanky, bespectacled fellow with a bushy red beard, a yarmulke, and a soft-spoken but dynamic way about him. He’s an amiable and engaging speaker, and there’s no question that he is expert in his role of Senior Product Evangelist for Macromedia.

Before getting started with the meat of his talk — nominally about the new developments in ColdFusion and in Macromedia Products — he polled the audience for potential topics. He tailored his talk and slides to our preferences, and was completely at ease.

Forta and ColdFusion

Forta admitted that he thinks in code, and that he is no designer. He has been in IT for some time, coding in C and C++, having come from working with TSR Loaders and Assembly Language. He came across ColdFusion when it was new, in 1995. He has grown with the product in that time, having written several books on working with ColdFusion. He was hired in 1998 by Allaire as an Evangelist, and noted with a chuckle that he got no pay raise when they added “Senior” to his title.

Mr. Forta has two roles with Macromedia:

  1. Technical Spokesperson, primarily server side
  2. Advocate for End Users, sharing frustrations and comments heard in the field back to the company

Why CF?

He is often asked “Why ColdFusion?” and his answer is to sing the praises of CFML (ColdFusion Markup Language), a simple but powerful language; and also the built-in services in the CF Application Server. He admitted that there is really no way to compare ASP, PHP, CF, Perl, and JSP in any objective way. He cited numbers as to the popularity of ColdFusion on the internet and also behind firewalls because of the ease of development. Another thing he is often asked is “Why do people think ColdFusion won’t scale?” His answer talked about the notion that simple and abstracted languages (which CFML is) have a reputation as not being able to scale. He talked about the number of large scale websites and e-commerce sites which are powered by ColdFusion (that list is available at <http://www.forta.com/cf/using/>).

1 1/2 years ago, Macromedia and Allaire merged. And when that happened, Forta became a Macromedia Employee.

MX?

As the talk turned to Macromedia’s new product strategy, Forta showed a slide speculating on what MX might mean. Some suggestions:

Macromedia Experience
Macromedia 10th Anniversary
More Expensive
No Microsoft Allowed

But essentially he stated that it does not mean anything in particular.

The MX line includes the core Macromedia products and the interrelation of them all. The products are:

Dreamweaver
Flash
ColdFusion
Freehand
Fireworks

The strategy is built on three primary imperatives for internet development:

ColdFusion MX: Rewritten from Scratch

Forta indicated that MX has been in development for a long while. ColdFusion, between version 5 and MX, has been entirely rewritten. A major reason for the rewrite was to implement Unicode support, as well as to reinvent ColdFusion the way it might have been written originally knowing the lessons that have been learned by Allaire and Macromedia as the product has evolved.

Forta had a nice slide on the differences between CF5 and CFMX, unfortunately I could not find this online, but I did find Migrating Your Application to ColdFusion MX.

He described that fact that CF users now have a choice between two flavors of ColdFusion. One is plain ColdFusion MX, and one is ColdFusion MX that runs as an application layer over the top of a J2EE Java Application Server such as JRun, WebSphere, SunONE, or WebLogic.

He was asked about open source Java Server engines, and repeated what I had heard about Forta, that he claims that open source technologies are inherently less secure because of the availability of the source code thereto. The refutation for this is that closed source technologies have not been proved to be any more secure, so his argument is not strong on the face of it. I was more interested in ColdFusion issues, or I would have pursued this claim of his further.

About Microsoft’s .Net and CFMX, these facts were mentioned: CFMX can integrate with .Net Web Services, can execute objects in the Common Language Runtime (CLR), but does not run as a an object in the CLR.

Migrating CF to Java provides the ability to tap into a rich and remarkable platform for building high-end applications.

The new Java components can be tapped into with the <CFINVOKE> command, he showed an example with the attributes COMPONENT, METHOD, and RETURNVARIABLE.

Components can be created easily by saving ColdFusion files as .CFC files. You can further display self-documenting code by including a HINT attribute in your tags. In this way you can have CF automatically display meta-information about CFC files, inputs, outputs, parameters, etc. The power of this is difficult to communicate after the fact, but it gave a great impression. CFC files support constructors and inheritance. CFC files can be easily used to create web services, by including the attribute ACCESS you can instantly create a web service by setting ACCESS to “remote.” He crowed about the fact that this is the simplest method for creating a web service yet. Other possible values are “private,” “public,” and “package.” He mentioned USPS’s web service, babelfish’s translation engine, etc. He talked about IP, about HTTP, XML, SOAP and about how easy it is to call web services using the <CFINVOKE WEBSERVICE=”url”> tag. You can read more about some of these new techniques at the ColdFusion MX Application Development Center.

The url for Babelfish’s web service was cited: http://www.xmethods.net/sd/2001/BabelFishService.wsdl. That url is an XML feed which defines the inputs and outputs for the web service.

Flash

Forta talked about the reputation of Flash as the medium for bloated site intros and as advertisements. He derided them as showing the worst of Flash’s capabilities. He talked instead about the new capabilities of ActionScript (an ECMAScript derivative similar to JavaScript in many respects) to tap into server-side technologies and XML. You can read more about Flash MX here.

Validation, Flash, and the Client-Side

He talked about the awfulness of HTML as a User Interface platform. He quizzed us on the validation available to developers in HTML. None of us could come up with it. I had never considered this before, but the only validation available in HTML is the attribute MAXLENGTH for the <INPUT> element. Of course he’s right, web developers end up rolling our own validation for the client side with every new project. He talked about the power of Flash to avoid roundtrips from the server to the client by creating a richer client in a single user interface.

The crowd was pretty much developers and programmers, so not much detail was gone into. Check Macromedia’s site for more on Flash MX <http://www.macromedia.com/desdev/logged_in/thale_mx.html> and http://www.macromedia.com/software/coldfusion/productinfo/cfmx_flmx/.

Dreamweaver MX

My unfamiliarity with Dreamweaver made most of the things said about the product sort of obscure in my notes. Here are the raw notes:

Dreamweaver, Ultradev, and ColdFusion Studio have all been superseded by the new Dreamweaver MX.

Forta noted some of the features lacking in DWMX that CF Studio had (which was why he himself has not yet migrated to using DWMX). He does not yet consider DWMX a replacement for CF Studio.

DWMX is savvy about multiple languages including JSP, ASP, ASP.NET, PHP, and others.

Miscellany

Forta mentioned an article he wrote for CFDJ called Undocumented ColdFusion MX which looks worth a read.

He alluded to a new product in development by Macromedia which is “in between Word and Excel” which was intriguing but not specified.

To get involved with Macromedia Beta Programs visit <http://beta.macromedia.com/> .

Forta also referred to some good articles at O’Reilly on ColdFusion MX on Mac OS X

He also referred to ColdFusion MX tag updaters for ColdFusion Studio.

Summation

Ben Forta is a great speaker, and there’s lots to explore in the MX line of products from Macromedia. If you’ve not played with ColdFusion, now is an excellent time to take a close look at it.

Corrections from Readers

.NET Clarification about the CLR
21 Oct 2002: Massimo Foti writes

Thanks for the nice report. Ben is indeed a brilliant and engaging speaker.

Just a small note, you say CF MX:

“can execute objects in the Common Language Runtime (CLR), but does not run as a an object in the CLR.”

CF MX can execute CLR objects only if they expose a COM interface as well

Cold Fusion or ColdFusion?
21 Oct 2002: Andrew Muller writes:

Joe, I enjoyed your first impressions of Ben – good article, one small correction though: the product name is “ColdFusion”.