Massimo Foti Interview · 2256 words posted 09/24/2002 05:23 PM
Massimo Foti began using Dreamweaver on the very day the first beta was available, and he has been a prolific extension developer ever since.
He is the creator of Massimo’s Corner, and winner of the Macromedia Best Extension Developer award in 2000. He co-founded The Dreamweaver Team. His extensions are featured on the Macromedia Exchange for Dreamweaver and have been included in many books and magazines.
Massimo works at Amila Productions SA developing database driven websites using ColdFusion and PHP with different RDMSs. His work ranges from database design to server and client-side programming for web based applications.
An avid reader of computer books, he works as tech editor, contributor and reviewer for publishers like Osborne, New Riders and O’Reilly.
[Editor’s note: English is not Mr. Foti’s first language. When Massimo agreed to sit for the interview, he asked that I clean up his responses. Thus, any ambiguities in meaning or grammatical errors are mine, not Massimo’s.]
since1968: For the benefit of my readers who don’t use Dreamweaver, can you tell us what an extension is?
Massimo Foti: Whenever I need to explain the concept with just a short sentence I usually say they are something in the middle between a Photoshop plugin and a Word macro. Now try the longer answer: DW’s API is almost unique in the software industry since it allows developers to modify, extend and integrate DW using JavaScript, HTML and XML. Actually, a huge amount of the core program is written in JavaScript. What are the real benefits of such a choice? First, you don’t need to master C++ to write an extension, so you get the ease of programming a Word macro, especially since the average DW user is supposed to be already HTML and JavaScript savvy. Still, extensions are more, actually much more, than simple macros. They can be really powerful and sophisticated, exactly like a Photoshop plugin.
A final bonus: DW runs on Windows, Mac and now Mac OS X; extensions written in plain text, without any compiled C code run smoothly across platforms. Any Photoshop user running Mac OS X can tell you about the trouble people have porting existing plugins on the new platform.
since1968: I didn’t use Dreamweaver until version 3. From what I understand, extensibility was very different in the early days. How did you start developing extensions?
Massimo Foti: The very early days were about pioneering, initially there was no API documentation available, and we got started with plain reverse engineering. Andrew Wooldridge actually started hacking the first extensions. Very few people nowadays remember Andrew, but, in my opinion, he basically changed DW’s history single-handedly. A few others followed his lead, with people like Jaro Von Flocken, Joseph Lowery and me that are still active in the community. Then MM released the API docs. It’s funny to think there were around 30 API calls in DW 1; now we are reaching almost 1000.
MM initially didn’t expect to see the users developing extensions; they designed the API to allow other companies to integrate their own technology. A few users actually took them by surprise, and it took more than two years for MM to realize the huge potential and react accordingly. In spring 2000, when MM finally launched the Exchange, people were already downloading forty thousands extensions each month from my website alone, with Jaro, Andrew and other running very popular websites as well.
The engineering team worked hard to improve the API, adding commands and file I/O in DW 2 and expanding dramatically extensibility in DW 3.
With DW 3 MM finally totally embraced extensibility. They released the Extension Manager and the mxp file format, making it much easier to distribute, manage and install extensions; they also launched the Exchange. Their entire marketing machine finally realized people were already using extensions heavily and MM started promoting extensibility as a key feature.
since1968: You’re one of the two or three best know extension developers. Yet, to my knowledge, your only commercial extension is the Snippets Panel, a tool to manage bits of reusable code. Why don’t you sell more extensions?
Massimo Foti: Well, I am not alone. Jaro Von Flocken and Paul Boon don’t have anything for sale either. I guess the problem is that powerful extensions and good coding are just part of what makes a good product. You need to add first class documentation, tech support and customer care. Anyway, I am working on a few interesting projects, stay tuned…
since1968: You’re developing an amazing online XHTML Editor, primarily to keep garbage code out of a database when a user inserts Word or Office content into a form. When will that extension debut?
Massimo Foti: See above, the code is almost ready, but we need to build the rest around it, it will be available for CFML, ASP.NET and PHP, and we still have to do a lot of work for porting the codebase on the other platforms. I firmly believe in releasing full, mature products. The whole software industry is crazier then ever; software is released only to meet deadlines (often insane, unrealistic deadlines). I think small companies and single developers can make the difference, releasing quality products only when they are ready and providing first class services. Nick Bradbury, first with Homesite, now with TopStyle, clearly shows us the way. In the end, the XHTML Editor will debut when it will be ready.
since1968: You have an opinion about ladies and their feelings toward ColdFusion developers.
Massimo Foti: Sure, we all know ladies by far prefer CF developers. Just check here.
Apart from kidding, this funny story started years ago in the Ultradev forum. Ultradev, from the very first moment, supported ASP, CF and JSP, so it was clear to me we were facing a bunch of religion wars about what language is better and why. I was thinking about a way to avoid those nasty discussions and have some fun, that’s how everything started, and it keeps working very well.
Now, I think this sort of endless and meaningless “religion” discussions make no sense; unfortunately people tend to identify themselves with the technology they use, the cars they drive or the music they prefer. In the end, I don’t think there is something like the best programming language, the best car or the best music; it all depends on a multitude of factors. I also find very stupid and ultimately dangerous being “married” to a single technology or application. Mind you, I’m not a Macromedia fanatic, and I have no loyalty to ColdFusion or Dreamweaver. If better tools came out tomorrow, I’d use them. That, in my opinion, is even more important in a fast changing field as web developing.
since1968: Macromedia makes the best web tools in the industry, and the employees who work in the trenches are always helpful. Still, at the corporate level they just don’t “get” the importance of extension developers to their business model. As of this writing, the Exchange is too slow, their Extension upload agreement is confiscatory, and they changed the extension model between Dreamweaver 4 and Dreamweaver MX, thereby breaking many existing extensions. Do you share that perception or am I being unfair?
Massimo Foti: It’s not just MM, it’s a typical corporate mindset. As I said before, the way users started developing extensions and add amazing value to the product caught them by surprise and, as a corporation, they still aren’t able to adapt to this situation. The problem is that they keep failing to perceive the extension developers as partners. Let me give you two examples:
First, if a company contacts MM to create a set of extensions in order to integrate their Java application server in DW, MM provides support to them, most likely signs an agreement and even produces joint press releases—even if, after all, this is going to be valuable to only a very small percentage of DW’s user base. That’s because, in a typical corporate American fashion, companies have no problem establishing partnerships between themselves, and they have dedicated managers for business development whose sole purpose is doing this sort of stuff.
Second, a lonely guy, living just below the Swiss Alps, starts developing extensions in his spare time and puts together a dedicated website to distribute them. His work becomes very popular, he distributes almost one million extensions a year from his own website; he also heavily contributes to MM’s Exchange, with around half a million extensions downloaded from there every year. His extensions win contests, and are featured in countless books and magazines. That’s my story actually, but, due to its deeply entrenched corporate mindset, MM, as a company, fails to see me as a partner. I am simply still a customer, a very special kind of customer actually, but still a customer, nothing more. Just to give you an idea, being a Team Macromedia Member, I have priority and free access to MM’s tech support, as an extension developer in case I need tech support on the API, I have nothing, zippo, nada. Don’t you think this is just insane? It’s 100% corporate stupidity at its best.
Don’t get me wrong; I know dozens of great people at MM, from the engineers, to tech support, up to top managers, they are all wonderful, dedicated people and, since along the years I established a decent reputation and good relationships with many persons, they try to help me as much as possible. But again, I am a user, not a partner. People at MM try to support me out of their own goodwill, but MM, as a company, always failed and keeps failing in providing any kind of support to extension developers. If tomorrow morning I face an issue related to the API, there is nobody at MM who is officially available to help me on that.
What they need to do is to establish a small partner program for extension developers; all in all they have to support 30-40 people worldwide, nothing too hard really. But for the traditional corporate mindset, perceiving the value of something that doesn’t create direct revenues is even harder than before.
By the way, the Dreamweaver Exchange is not the only one suffering. The ColdFusion Developer Exchange is in a very bad state too…
since1968: You and several other extension developers frequently take on pirates who illegally post your software on their websites. Do you ever feel like you’re fighting a losing battle?
Massimo Foti: It’s the same battle the whole software industry keep fighting all the time, there is no way we can win.
since1968: You contributed a great chapter to Dreamweaver MX Magic in which you build a DHTML interface that many developers would have built in Flash instead. Is a developer better off learning Flash or DHTML?
Massimo Foti: No, they may overlap a little, but Flash and DHTML are different. I just think that many people would benefit from a better understanding of JavaScript. I had fun writing that chapter together with my partners since I think too often people misuse Flash.
On the other hand, if you can afford to work in IE 5.5+ and NN 6/Mozilla, finally writing DHTML is a pleasant and rewarding experience.
since1968: Which new and upcoming technologies excite you?
Massimo Foti: Looking at the long term, I’d like to see XForms implemented in web browsers as soon as possible. The W3C and browser manufacturers keep improving HTML, but it remains a document-centric language. HTML forms are still the same we had in HTML 2.0. In order to improve the user experience and create better UI for web based applications we badly need much more powerful forms, something that allows us to do the sort of GUI you have in standalone applications that are still impossible to create in HTML (unless you use Flash, of course).
since1968: You’re a ColdFusion fan. Have you tried the new Flash Remoting components? How quickly, if ever, do you expect to see Flash-based forms and interfaces replace HTML?
Massimo Foti: I am not into Flash Remoting myself, simply because I have to deal with many different tasks daily, from designing relational databases, to server-side and client-side programming; I don’t want to add Flash to my arsenal, since I always have many new things to learn and try to avoid spreading myself too thin. I firmly believe serious web developing should be a team effort, with many people more or less specialized in their own areas. The “one man band” system can’t work for anything but small projects.
I think the rate of adoption of Flash-based forms and interfaces for web-based application will be slower than expected simply due to a lack of knowledge. There are very few programmers working with Flash. I think in the long term a totally new generation of “Flash Developers” will emerge who will handle different tasks than “Flash designers”; I am talking about 100% programming savvy and code centric people.
since1968: What are your favorite new features in CF MX?
Massimo Foti: It’s a revolutionary upgrade; I think the CFC and Java integration give us an outrageous amount of power; CF developers just need to understand how to leverage it. I have the strong feeling we should go back to the drawing board and start from scratch in order to figure out the best way to design CF application with CF MX. Finally, the XML integration is pretty neat too.
since1968: Thank you for your time.
Massimo Foti: It has been a pleasure and an honour, please apologize for my English, but I am an Italian native speaker.
* * *

