IBM brings Java to Windows 3.1

Hoping eventually to "Java-enable everything," the company is giving away its ADK

IBM has put a preliminary version of its Applet Development Kit (ADK) for Windows 3.1 on the Internet. (See our October News Briefs for more details.) The most exciting aspect of this announcement is that the kit comes with code for enabling Java support on Windows 3.1 today, which is not available from either Microsoft or Netscape. IBM is planning another update release to the kit this quarter, and a 1.0 version is expected out by the end of the year.

David Gee, Java marketing coordinator for IBM, said that what they have online is fairly early beta code, which for the most part performs as expected for a beta, but they are continuing development to make it more stable. "We are working feverishly to port HotJava to the environment so that you can browse without Netscape," said Gee. "Our feeling is that if you want to experience the full effect of Java-enhanced Web, IBM will bring it to you. I classify it as bringing Java to the Java challenged. You have tons of people with Windows 3.1 still on the desktop. There is an enormous opportunity for us to Java-enable these people."

At the moment, IBM is giving away the ADK and the Java run time that comes with it to developers and users, and that will not change in the foreseeable future. In fact, IBM may never charge users for the ADK because it could make more money by selling Java servers and high-end tools thanks to the ubiquity of Java on every desktop in the enterprise. "We want to Java-enable everything we do and do whatever it takes to give access to people using the Java space."

Windows 3.1 was not easy

There are some good technical reasons why companies have not built Java into Windows 3.1, such as the lack of support for long file names and threading. To get around some of these problems, the system requires some 32-bit calls to Win32s, which adds considerably to the amount of system resources necessary to run any applications. Furthermore, the AD: K also needs the WinG graphical extensions to support some calls made by Win32s; this adds even more overhead to the system.

To implement threads, IBM resurrected some code it had written for a video conferencing project that has since vanished. To address the long file name limitation of Windows 3.1, IBM implemented a new system. However, Simon Phipps, program manager at IBM's Center for Java Technology Development, pointed out, "The implementation works the first time around, but file names are not terribly obvious. The next version will have a much improved long-file-name mechanism."

Users who download the software may notice that sound support has been disabled. Phipps said that audio was turned off in the release because it kept crashing the whole system in IBM's testing labs. The company decided it was better to turn off audio until it can work out the bugs rather than crash everyone's system.

With no just-in-time (JIT) compiler built in, the net effect is that this implementation is pretty slow today, but IBM is working on speeding it up.

"The JIT compiler is still under discussion," said Phipps. "I hope we build it, but it all depends on market acceptance and demand for the code. At the moment, one of the other challenges is that we are using WinG and Win32s, so the memory requirements are higher than desirable. We are cautious in saying the kit is the sort of thing you would want for production. In R&D you can stick it on a Pentium and not worry about speed. When it goes into production we will want a JIT compiler. But before we go into production we are looking at how many pick it up and use it."

The group is also considering a 16-bit port that will not require the WinG and Win32s extensions, making it much faster. According to Phipps, "The best thing your readers can do is vote with their mouse and download the code. That would give us a clear message that people want it."

This story, "IBM brings Java to Windows 3.1" was originally published by JavaWorld.

Copyright © 1996 IDG Communications, Inc.