Columns

Michael Risse, Microsoft Corp.

In March, Microsoft put development tool makers on alert with the shipping of Visual Studio 97, a bundling of several development tools and associated products for creating client/server and Internet applications. Observers have likened the package to Microsoft Office, which virtually eliminated competition in the desktop application market. West Coast Editor Elizabeth U. Harding recently discussed Microsoft's strategy and how it's expected to affect the competitive landscape with Michael Risse, group product manager for Visual Studio.

How does Microsoft view cross-language development and how has that view changed over the years?

The key is recognizing the diversity in the challenges developers face. Three years ago when we talked about cross-language development within Microsoft, we really meant maybe Visual Basic and C++ cross usage. Today, we're talking about two very different architectures. The first is Win32 client/server and multitier solutions, and the second is the Web. The set of tools that you use for those different worlds is a bit broader than it used to be. You need your tools for building Win32 applications. You also need tools for building your Internet clients and Internet Web application servers. Cross tools usage isn't so much the issue as is what is the complete, comprehensive set of tools that developers need to address all the challenges.

Microsoft started shipping a bundled set of different development tools and languages in the single Visual Studio package in March. What are its components?

It includes Visual Basic, Visual C++, Visual J++, Visual FoxPro and Visual Interdev. It also includes a number of tools that support scalability. The technologies (in Visual Studio 97) that help developers build solutions include Visual SourceSafe version control software, the Visual Database tools that can work with any type of ODBC database and the new Microsoft repository. (Repository) tools included for production systems include SQLServer, the Microsoft Transaction Server and a technology called RDO (remote data objects) which gives very fast access to server-based data. What we have is a comprehensive set of tools to help teams of developers work together to build solutions and then put those solutions into production.

Can non-Microsoft tools be integrated with Visual Studio?

Absolutely. In fact, a number of Visual Studio components can create ActiveX components. You can create such components in Visual J++, Visual C++ and Visual Basic. You can create reusable components to encapsulate business logic or other functionality and then use them to extend other company's tools. You can build these components with other tools and then bring them into Visual Studio. All the data access built into Visual Studio is ODBC-compliant. The HTML created with Visual Interdev is W3C-approved HTML. Java created in Visual J++ is absolutely the cross-platform stuff other people keep talking about. Components built using ActiveX interfaces can work with any tool that supports ActiveX. There are about 2,000 companies selling ActiveX components that can plug into our tools.

Can Visual Studio work with Java Beans from Sun Microsystems?

C++ will support Java Beans in the near future, meaning that you can plug in Java Beans or you can create Java Beans in J++. And, of course, developers using the Windows Java Virtual Machine can create Java Beans and also connect Java Beans to ActiveX controls and connect ActiveX controls to Java Beans.

If one already uses ActiveX, would there be reasons to also use Java Beans?

Today's developer may find times when he wants to use both ActiveX and Java Beans. For example, Java Beans could be used to create a cross-platform solution that runs in a browser. On the other hand, the user may also want to build reusable ActiveX components for Win32 solutions and put the ActiveX components on a business server. Then a Web application would call these ActiveX components and return a set of data back to the browser where Java Beans is running. It's really a question of customer needs for creating solutions and not a question of languages.

How does Microsoft differentiate Visual Studio from competitors?

Not by price because price won't influence customers. The real differentiator is 'who's got the best-of-breed products.' We are absolutely focused on having the best-of-breed products in each of the categories for rapid application development in C and C++. Where we make a difference is that we have a comprehensive set of tools. Many of our competitors aren't shipping Java products or Web application products. Perhaps they are not shipping a very good C product or rapid application development product. We can now offer the comprehensive tools they need.

To date, what is the primary competition for Visual Studio?

IBM is competing with us. If you focus competition on market share, that's the primary competitor. (IBM's VisualAge bundle of development tools) is a great example of part of a set of services developers require. But IBM is still just talking about transaction services. Most of the other companies in the development tool space are also just talking about transaction services. We are shipping Microsoft Transaction Server today. Powersoft is talking about the need for transaction services. Oracle is talking about it. Borland is talking about it. That supports my argument that users are demanding set of services for developing and deploying these solutions.

What about unbundled tools -- the traditional competitors to Visual Basic and Visual C++. Can those vendors and products compete with bundled solutions like Visual Studio and VisualAge?

We definitely do compete against tools that create the processes that run on the server. We have server logic, server business rule components and Web-application technology that runs on the server. With Visual Studio today and with more development in 1998 and 1999, we're setting a new bar that says developers need a set of tools. One tool isn't enough. For example, a standalone Java development tool will require that a customer buy something different for HTML development, something different for data access, something different for Web-application development and something different for writing business controls. That's not acceptable from customers' point of view. Standalone products in a particular category have to become very specialized or they won't survive.

Is Visual Studio simply a bundle of existing tools or was significant technical work done on the tools?

We had to make some technological changes to make Visual Studio support past releases. We had to synch up the releases and all of the component pieces used by the different tools. That means sharing very cool technology like the Visual Database tools between different products. For example, Visual Basic can now leverage stored procedures created using Visual Database Tools. That required extra work and some extra thinking.

How is Microsoft encouraging third-party developers to build add-ons ?

Today, there are some ways that ActiveX control vendors can create controls that any of the tools can leverage. But the third-party effort is limited in many ways to Visual Basic. The model is slightly different for Visual Basic than for some of the other tools. We want to focus on standardizing the way both Microsoft and third parties can extend the full development environment.

By development environment, I literally mean the development shell that the languages are running in. Right now, when a vendor creates an ActiveX control or a Java Bean, they know that this control or Bean will work in our tools. When a vendor creates an add-on or wizard to work in any one of the environments, we want to make sure it works in all of the environments.

How can such standardization be enforced?

We'll be out there evangelizing it. When we come up with new ways to extend the tools and ActiveX controls, a team of people within Microsoft will promote it to tool vendors and component vendors.

Which are the top add-on tools to Visual Studio today?

The biggest ones now are tools that can extend the Microsoft Repository. These are built using a set of interfaces that we published and shipped with Visual Studio. For example, the interfaces allow companies to build source code management tools on top of the Repository. They can build bug tracking tools on top of the Repository. They can build component management and component indexing tools on top of the Repository. Once such tools are built, any Visual Studio product can take advantage of it. Right now, I believe about 22 different companies support the Repository interfaces for modeling. So if these companies build a model in Visual Modeler it can be saved to the Repository, and then be opened in any of that company's products.

What role does Java play in Microsoft's cross-language development strategy? How does it differ from the Visual Basic strategy?

We ship Java and Visual Basic tools together, and synchronize a number of the components of both so that they work together. We do get the question, 'Which tools should I use when?' It requires so much context. We can supply suggestions, but the choice really has to be made by the customer. Visual Studio does make it easy for customers to buy all of the tools and then choose the one that best fits the circumstances.

Does Microsoft expect that Java and Visual Basic will eventually compete head-to-head?

I don't see them competing. They both are great tools. They both have their own spaces.

How important is language in building components?

The whole idea of our strategy is that the language isn't important. It doesn't matter what the internal language of the component is. What matters is how rapidly you can assemble it.

What standards have an important role in cross-language development?

While you can count market share in different ways, you can also count standards in different ways. Some standards are derived from standards bodies, public groups that get together, have discussions and create rules. HTML is a very good example of that. Another set of standards can come out of a particular company, and that company gets to own it. Java might be a good example of that. Another type of standard is wide-spread market acceptance. Microsoft is a good example of that. Developers want standards that make it easy for stuff to work together. They couldn't care less about the standards' bodies. They care about whether something works when they expect it to work. Our focus is to support different standards, to support each of the standards in the different areas and to support that central notion that this thing works with that thing.

With the Visual Studio bundle shipping, what's Microsoft's next move in the development tool area?

We will focus on three areas going forward. Number one is best-of-breed. We will not put the suite before the individual product and the individual product excellence. We will absolutely focus on creating the best tool in each category. Second, we will focus on building or scaling within NT. Some of the innovation there is with multi-processor support and clustering support so NT can take on bigger and bigger tasks. We want to be the toolset that customers choose to build those bigger and bigger solutions. The next focus is to continue building a better infrastructure for supporting teams of developers building large projects.