Microsoft makes APIs available

In an effort to appease the U.S. Department of Justice, Microsoft Corp. recently made 289 APIs freely available on its site. But even as some applaud the software giant’s openness, they question the value of the APIs it released.

Eric Promislow is one developer who didn’t find anything of interest to his work in the list of application program interfaces, which Microsoft made available on Aug. 28.

The APIs released by Microsoft won’t help his company, said Promislow, the senior developer who leads the plug-in development at Vancouver-based ActiveState Corp, which builds plug-ins for Visual Studio .Net products.

“We did look through the list, and there wasn’t one that we saw that made our lives easier,” he said.

He is happy, however, to see Microsoft publish the APIs.

“The more open they are, the easier it is for developers to write software,” he said, adding that openness benefits Microsoft as well, as it means more Windows products will be available.

Dan Kusnetzky, the vice-president of systems software research in Framingham, Mass.-based IDC, also appreciates that Microsoft is opening up.

“On the other hand, it isn’t the total disclosure of everything they’re doing,” he said. According to Kusnetzky, “Microsoft has not released all of the APIs and all of the communication protocols that Windows supports. They’ve only released those that are absolutely required to comply with the dissent decree.”

But Mike Flynn, a .Net developer specialist with Mississauga, Ont.-based Microsoft Canada Co., said, “As far as I know, that’s everything.” All Windows 2000 and XP client desktop operating system APIs are available, he said.

Many of the APIs released were already documented, but under a different name, Flynn said.

“The feeling was that these were undocumented in the platform SDK, yet Microsoft had used them in their own products. And so that’s why there was this desire to see them published. But as I said, a lot of this functionality exists under a different functional name in the platform SDK.”

A statement available on Microsoft’s MSDN site reads, “Microsoft teams identified a few hundred undocumented Windows interfaces or parameters that were used by one or more of the Microsoft Middleware components.”

Microsoft will continue, as always, to release the APIs for its operating systems, Flynn said.

In addition to releasing the 289 APIs, Microsoft will also be making available 113 communications protocols through a licensing agreement, which still hasn’t been disclosed.

It’s hard to say whether Microsoft competitors will find the communications protocols useful until the licensing agreement is made clear, Kusnetzky said.

He would like to see Microsoft use international standards in developing its products. Microsoft has ignored the standards for how operating systems are supposed to communicate with applications and developed its own software, he said.

“By focusing on international standards rather than proprietary APIs and protocols, Microsoft would make the customer’s life easier.”

Developers need to acquire a great deal of expertise in Microsoft products in order to create a new basic system service or networking service, Kusnetzky said. This is costly, and the expertise is not transferable to any other environment, he said. This means that a Microsoft expert may not have any advantage when it comes to Linux, Unix, mainframes or other development environments.

There are already a large number of development tools that manage the problem of making applications interact with Microsoft operating systems, he said.

Some of the APIs released include helper functions, which call other functions that dig into the internals of Windows, Promislow said. ActiveState has already written its own helper functions, as, he imagines, have most other developers. This type of information would have been helpful when the products were first released, but nobody needs it anymore, he said.

“My gut feeling is that most programmers, once they get their hands on these APIs are going to be like a dog chasing a car, in that once they’ve got them, they really won’t know what to do with them,” said Steve Kleynhans, a vice-president with Meta Group in Toronto. ISVs are probably more likely to find the APIs helpful than internal corporate developers, he said. But even in the case of ISVs, most will probably only find one or two useful function calls among the 289 released.

Promislow finds it interesting that Microsoft is positioning the release of the APIs as useful for middleware components as he doesn’t view them in the same way.

“I consider middleware to be the software that sits between say a Web server and the back-end database,” he said. A lot of these interfaces focus on things such as the shell of Windows Explorer.

“That’s not really what the writer of middleware does,” he said.