n the software industry, developers of smaller-scale workgroup applications haven’t exactly been tres chic. It’s true that Microsoft has taken very good care of this enormous universe of developers for many years, with excellent tools and APIs. But as a general rule it’s the huge enterprises?the Global 1000?who have brandished the power of a multimillion-dollar IT budget, and let the software vendors bow and scrape around them.
But the winds might be shifting slightly. Desktop developers may be about to leave their stepchild status behind?at least for awhile.
At JavaOne last month in San Francisco, executives for Sun Microsystems announced their intention to find 10 million new developers for Java by courting what Sun calls “corporate” developers: an audience that Sun has never particularly paid much attention to. Project Rave, which is to be the first point-and-click style development environment for Java, is the initiative Sun hopes will help it achieve that goal. Oracle is making similar noises.
While I’m tempted to complain that Sun should have offered these tools long ago and that they’ve come to the party too late, the fact is I think Sun’s timing is very, very good. Competitively, Microsoft has left a hole open that Sun can exploit and ongoing adoption of Linux bodes well for Java on the desktop. But if Sun wants to succeed, Rave has a long way to travel.
It’s harder than ever to convince enterprise customers to change platforms. Web services have exacerbated the problem by?theoretically?solving the intractable interoperability problem. In practice, there are huge numbers of existing applications that could benefit from integration and could take advantage of functionality exposed through Web services; however, these applications need a rewrite. Many of them, perhaps most, are aging Visual Basic 5 and 6 applications. Many others are Web applications written using Active Server pages (ASP) technology. Still others are Office and Microsoft Access applications.
Microsoft has positioned the .NET platform as the logical track for developers looking to upgrade their VB applications; but because the new platform is not directly compatible with the older VB environment (it’s much bigger and more powerful), and because it’s relatively difficult in many cases to update existing VB applications to the newer VB.NET system, Microsoft has driven a wedge into their formerly unblemished developer support base, some of whom feel betrayed by Microsoft’s vision of the future. Even those VB developers who don’t care about the compatibility problems are increasingly aware that, to stay current, they will have to learn both a new language (VB.NET) and a new platform (the .NET framework) if they remain Microsoft developers. Both the feeling of betrayal and the willingness to learn new languages and platforms present opportunities for other development tool vendors to step in and wean VB developers away from their aging IDE.
And if surveys can be believed, a large percentage of VB developers are wide open to platform change–if it’s for the better. In a recent poll we can conducted on DevX, we asked our readers “If Java were to create a version of the language as easy to use as classic VB, would you switch?”
The answers were relatively even, with a surprising quarter of the 487 respondents saying that they would switch to Java “in a second.”
|??If Java were to create a version of the language as easy to use as classic VB, would you switch?
??25%?In a second
??26%?Maybeit depends on what advantages the new language offers.
??22%?Only if they offered an IDE as good as VB’s to go with it.
??11%?Probably not?why bother? I already have VBA.
??16%?Not a chance. Curly brackets? Semicolons? Forget it.
??(Go here to add your vote.)
VB developers aren’t afraid of Java, they’ve just been waiting for someone to bring them some tools that rival the ones they get from Microsoft.
But Project Rave doesn’t yet look like the toolkit these developers need. While Sun describes Rave as a broad toolset that will address assembly and deployment for the full spectrum of corporate applications, so far Project Rave is only for Web applications. The Java Server Faces (JSF) technology built into Rave will potentially make it as easy to build Java Web GUIs on JSP as it is to build Web Forms in ASP.NET. And that’s wonderful (and about time, too), but the place where Microsoft is most vulnerable is on the desktop, not the browser.
The COM Before the Storm
Having abandoned the ubiquitous Windows/COM model in favor of the managed-code .NET framework model?and alienating many VB developers in the process?Microsoft has a potentially equally serious problem on its hands with VBA. The company has said very little about when or whether VBA will move to a managed code environment, but my guess is that over the next several years, tens of thousands of companies that are still developing primarily in VB6 (or earlier) and VBA are going to move to something new. If they stick with Microsoft, that will be .NET. But some of them may be just as willing to move to Java as to .NET?if Sun has the right tools and a decent alternative to Microsoft for Office automation.
The latter issue is where Sun really needs to have compelling game plan. Windows developers can’t write the same applications in Rave/Java as they can in Office and Access. For them, moving to Java will mean giving up on much of the Windows and Office integration that was trivial in Visual Basic and VBA; relying on a possibly risky Java-to-COM bridge from a third-party vendor; or moving the whole company to OpenOffice on Linux desktops and starting from scratch.
The last option sounds drastic, and it is, but it’s not as unrealistic as it once was. The SCO lawsuit notwithstanding, more and more companies are finding room for Linux. Cost-savings alone are driving a serious adoption trend, in governments, education, and in private enterprises, too. And these Linux adopters are inarguably good candidates for a move to Java. No doubt many will migrate toward open source technologies over the long term. Sun needs to do everything it can promote the cause of OpenOffice on Linux and work closely with those vendors making bridging tools?or perhaps deliver ones of its own.
Microsoft is opening up opportunities in Office as well. As Office XML capabilities grow, it becomes easier for other vendors to work with Office files. As Office adopts Web services, those services may be written in any language. And while COM interoperability is a pressing concern in the short term, Microsoft is distancing itself from COM rapidly. Microsoft offers only one alternative to its existing developers?.NET. The Java industry should have an equally compelling upgrade position to offer?or more than one.
Sun will be battling inertia: its challenge is to convince companies to change before they have to; to uproot a suite of development tools that have the advantage of native OS integration. There will be some that will be easier to convince: VB/Windows developers who don’t need extensive COM Interop capabilities, developers who strictly write Web-based applications, and shops already favoring Linux and Apache. But ultimately Sun’s goal of finding 10 million new Java developers, by reaching into a marketplace of developers held together with COM glue, is going to be a tough row to hoe without bearding Microsoft in its own den?on the desktop.
Sun has its work cut out for it, but I’m excited about the potential of Rave. A little bidding war for the attentions of workgroup developers is long overdue and should ultimately result in more choices and better tools.