Macromedia turns 20 this week, and as it does so it is about to begin a new adventure. With its latest development tools, the company is now making a concerted effort to recruit developers that create applications for the enterprise that run on top of application servers. In this interview, Macromedia CEO Rob Burgess and Chief Software Architect Kevin Lynch explain why they think Macromedia's application development tools may be the next big thing in the enterprise.
Q: With the release of MX, Macromedia is trying to become a more attractive partner for application developers. But what is MX and why should developers be interested?Burgess: We feel that for a certain class of applications, we can radically change the user experience on the Internet. That's what MX is known [for] and what our agenda is about, which is the fourth generation of Macromedia. MX consists of most of our next-generation products, but it's really ColdFusion, Flash, and Dreamweaver as the three anchors. So it's a next generation of each of those products now integrated into a family and capable of delivering a totally new Internet experience.
Lynch: If you look back three or four years, I think a lot of people thought the Web was going to solve all the world's problems. What we know now is that HTML on the current Web is really good for a set of problems, but there [are] a lot of things that the Web doesn't work very well for. I think we all know that the user experience [on the Web] really kind of pales in comparison to a lot of other user experiences. We're really about one thing, which is about human beings having better experiences with digital machines.
Q: What kind of applications are we talking about?Lynch: It's mostly applications that have a need for a richer UI than what HTML provides. If you're doing something that is talking to the server frequently and you don't want it to keep rebuilding the whole page every time you talk to the server, that's a good basic example. ... And when you're integrating something over here and you want something over there to change, you can do that to a certain extent with Java Script in the browser, but it's kind of hard to do and it's not very compatible across browsers. That kind of stuff is much easier to do with a rich client like Flash.
Q: What does the ability to do that in Flash mean to everyday costs?Lynch: What that means is that on a slow modem connection for a 100K page, it is going to take about 20 seconds for that page to refresh. But by doing that in Flash, it goes and gets the data, so the bandwidth costs go down 90 percent and the user experience, instead of 20 seconds, it takes one or two seconds.
Q: As part of that effort, are you actively trying to recruit Visual Basic developers?}]Burgess: That's happening. We have technology that is very appealing to people who are in those kinds of environments. Just think of all of the applications out there where visuals or complex user interfaces are part of the equation. The financial services industry is very big for us. There's a whole pile of applications that are complex visually with graphs and charts.
Q: So exactly what type of interesting corporate applications could people build better using MX?Lynch: We're starting to do visualization now inside different companies. Doing that right now is pretty hard with HTML. We're working with some ISVs who address that market and they're starting to use our software to do that, but they're just starting to do it now because our software has just come out. You'll start seeing people talk about that more as they revise their products.
Q: How far along is Macromedia in terms of supporting XML?Burgess: XML support is much faster in the MX version than it was previously, so it's really a practical thing to use. Before, it was pretty much too slow to do serious apps with. There [are] a couple of things that it doesn't do, like it doesn't support name spaces yet in XML. So there [are] a couple of limitations in that way. It's not a fully validating parser, but it can take even invalid XML and it will try to make sense of it. But our whole XML parser is just a few [kilobytes] in size. The whole Flash Player implementation is incredibly tiny. It's one of the reasons that it has been so widely deployed. So we're always balancing functionality vs. size. We look at the kinds of apps that we think people are going to build and then we try to make calls on how much functionality you need to have.
Q: What's your plan then for supporting Web services?Burgess: It's not all nailed down yet. We'll be supporting that stuff as it evolves. Our model right now is that we put more of the effort on the server for handling that kind of stuff than on the client, so we keep the client footprint small. It's also part of the Flash Player's security model that you're not able to just call out to random Web sites with a Flash Player. The content that you're viewing is restricted to the domain that it originated from, so it can't actually call other stuff. If you want to call a stock Web service, you can't just randomly call that. But you can call that if you call back to your originating server and then that's a proxy to that Web service. What actually happens is it packages up a message, sends it to the ColdFusion server, which automatically redirects it to that Web service, and then back to the Flash Player.
Q: What's your long-term view of Web services?Burgess: Well, in some ways it's 20 years old. I mean it's remote procedure call done again. But I think that because of where we are in the world right now, it is going to be a significant change in how you develop apps in that you can connect lots of applications together. Before, when you had remote procedure calls, you basically were calling just within your own system and you didn't have the world of other functionality to access. The fact that people have agreed on the basic APIs and the basic data types that you're going to be sending through Web services gives us a shot at having these things actually work for everybody. But there [are] still all kinds of obstacles to overcome in terms of security and the business models behind running things based on Web services. So it's not all nailed down at all yet.
Q: What impact will Web services have on client requirements?Burgess: The coolest thing about it is that Web services are basically a way of factoring out functionality in your Web site. So instead of having the logic of your Web site bound in with the content, it becomes perfect for a rich client because the rich client can do the user interface presentation on the client side. And when it needs to call functionality on the server, it can just call these APIs. Now if Web services were not a big trend right now, it would mean that people would have to rethink their Web sites just to support rich clients. There's this huge momentum now to basically factor out your Web site and create APIs to better represent the code in your site. APIs make it possible for people offering rich clients to leverage the functionality of those sites. So the timing actually is quite perfect to come out with having the logic on the client able to call in to some functionality that everybody is busy exposing right now with Web services.
Q: What do you support today in terms of Web services?Burgess: We actually have support for a Web services offering in the product. You can actually point to a Web service and you can see all the functionality that's available to you. You can drag and drop into the code environments and it will write the code and call the Web service for you. It's really quite strong.
Lynch: We're not trying to push that far ahead in that direction right now. We're just trying to provide very practical solutions to today's problems with XML and support the initial use of Web services in terms of calling them and getting data back, but not trying to build super-structures around that yet. We want to see how people are actually, really going to start using it and then we'll start building functionality that really makes those kinds of uses very simple.
Q: How does Macromedia play with Java and .Net environments?Burgess: We can be abstracted at the top of the J2EE [Java 2 Enterprise Edition] world, which we've done now with ColdFusion MX. And you can interoperate already with the .Net world. Microsoft's .Net server is not out yet, but our intention is that eventually you can also do this stuff on top of that as well. But that would be longer term. What we're not doing so much right now is going after the system programmers in the enterprise like the Java developers and the C# developers. We're really not focused on that group right now with our products. People love the idea of using Flash as a UI for the Java application they're building. We've created a Flash connector for Java developers, so they can do that. They can write Java code that connects through a Flash client. But we don't have an IDE [integrated development environment] for Java developers and things like that.
Q: Now that Macromedia is a partner of IBM's, where does Macromedia stand in terms of supporting IBM's Eclipse environment for application development tools?Lynch: We've got a partnership with IBM and part of that is supporting Eclipse. Many of the components in Eclipse are written in Java themselves. The main thing we're working on integrating with Eclipse is Dreamweaver MX. We're not going to rewrite Dreamweaver in Java, but we'll find other ways to connect it up into the Eclipse environment.
Q: How would you describe Macromedia's relationship with Microsoft?Burgess: We have multiple relationships with Microsoft. They include Flash in Internet Explorer -- that's the only third-party piece of software that's included in IE and included in all of their interactive set-top boxes. So they're a great partner there. Then of course, 75 to 80 percent of our revenue now is on Windows. So we're a big ISV for them. We're trying to keep it mostly partners, but there are some areas where we compete.
Q: Following the acquisition of Allaire, are you working on open-source projects?Burgess: We're still working on it. We have Web services support in ColdFusion. J-Run is done with Access, which is open-source code that we're co-developing with IBM and some other companies. It's basically a code that lets you do proxying to Web services.
Q: What impact will increased deployment of broadband have on Web sites?Burgess: I think everybody was looking for broadband to fix the user experience. Broadband certainly would have been one of the things that would have really helped with that, in terms of the immediacy and the richness and making it more like machines that we use all the time, like televisions and so on. It's clear that's not going to happen any time soon. In some ways, what we have architected here is a way to have a much better experience in today's environment. On the other hand, the more bandwidth there is, we have the capacity to use it up. But as soon as we get high-speed connections everywhere, you've still got these little devices and they're going to have all these different properties. I think we'll be dealing with a wide range of bandwidth forever.
Q: So in terms of the enterprise, what's your big goal?Burgess: We need a much better presence in the enterprise. We've got all this software and we think a lot of it has come a long way. But people really need a lot of help in terms of implementing it and connecting the pieces. A huge thrust over this next year is a more consultative role that we can play with enterprises across the world. That's a really big shift for the company. We are talking with a number of consulting companies now and I fully expect that there will be professional practices that we'll build for them around this. We need them.
Lynch: It's not necessarily about having million-dollar software and big deals. But it is very much about a consultative role with the enterprise. The transaction can occur anywhere, but a lot of companies out there have hundreds or thousands of developers using our products today. So it's just about helping them understand what the possibilities now are.
Q: So at the end of the day, how do you differentiate Macromedia from other tool providers?Lynch: [What] we are focusing on is the scripter developer. We haven't abandoned that audience and tried to go after professional developers. So our software tends to be more approachable for that reason. That's kind of the difference right now, and there isn't really someone else with that mix right now.