Java Studio 1.0: We want it! (But not right now)

Java Studio has the potential to bust the Java craze wide open, but it lacks the basics for the moderately serious programmer

Babies are, by nature, irresistibly cute and likeable. But when someone else's baby gets cranky, you are likely to go home thankful it is someone else's baby.

Right now, Java Studio is like someone else's baby. It, too, is irresistible, cute, and likeable. And after playing with Java Studio for as little as 15 minutes, I guarantee you'll like it enough to want to adopt it. But depending on what it is you're trying to accomplish with Java Studio, it may be too young and cranky for your level of tolerance.

The good news

Java Studio is irresistible because it takes a revolutionarily simple approach to building applications from Javabeans. You don't program, you wire things together. That means you don't need to understand the Java programming language (though you'll always be a lot better off if you do). All you need to understand are programming concepts. If you have that knack and know how to use Tinker Toys, you'll be building Javabeans applications in no time flat.

You drop beans into a design window or directly on the form -- it doesn't matter, since they'll show up in both places anyway if they're supposed to be visible on a form.

The form is always live. The moment you drop in a component, it works as the component should. And the moment you wire together that component with another, the two immediately interact on the form as if you had compiled, linked, and executed the application.

You give your application behavior by wiring the output of one bean to the input of another. If you want your application to play a sound when you press a button, you'd wire the Button Pressed output of a Button bean to the Play input of a Sound Player bean.

This simple application plays a sound when

Naturally, you can't create much of a working application without a degree of programming logic. So Java Studio includes some beans for exactly that purpose. For example, there are splitter and distributor components that allows you to trigger multiple actions from a single button click. There are methods for performing the equivalent of IF operations, FOR loops, even triggering events by a timer.

You tell this program if you're financially

The toolset

Java Studio comes with more than 50 beans to get you started. It has the standard GUI beans, plus some nice extras, like a ticker-tape bean. There are some multimedia beans, such as an image map, animator, and sound player. The URL opener will come in handy for Web-based Java applications. There are a few simple database beans, computation beans for mathematics, and the aforementioned timer and data-flow or programming logic beans.

I was able to import a few beans that I downloaded from the Web (such as a calendar bean), and use them in an application with no trouble. You can create your own beans in another development environment or even in Java Studio (from a combination of existing beans) and use them in other applications.

Considering the ease with which you can wire beans and logic, and the appeal of the gadgets, Java Studio may propel the use of Java-based applets on the Web forward like no other development tool. It could also be an ideal platform to teach programming logic, since you naturally get a flow diagram as a result of your work.

Sun needs to fill in the blanks

But Java Studio can run into serious problems when you try to create task-based applications that depend on interactive data-entry forms. First, the default behavior of a text-entry field requires you to press Enter after typing your entry. Since the Enter key doesn't advance you to the next field, this behavior is completely unnatural.

You can get around the requirement to press Enter with some clever wiring. But by solving that problem, you create another. Once you're able to type text and then tab to the next field, you'll discover you can't really control the tab order of the fields. There seems to be some bizarre relationship between the tab order and the arrangement of components in the design window. But it isn't something you'll be likely to control on a complex form.

I noticed some differences in behavior of the forms when running them on the Java appletviewer versus the built-in Java Studio browser. I recommend using the appletviewer whenever possible, because that seems to better conform to the behavior you would expect.

The behavior of this form can be unpredictable

You can add your own GUI controls to the Java Studio palette, so if you're a creative programmer, you can solve some of these data-entry problems by developing your own text-entry fields, and give them the behavior you want. But if Sun wants anyone to consider Java Studio appropriate for building anything but the simplest data-entry forms, Sun must address tab order and the text data-entry issues in the next update to Java Studio.

Finally, there is a bug in the JVM on Windows NT that causes the work form to fail to update its display occasionally (Windows 95 and Solaris are spared this problem, according to Sun). It isn't fatal, but it is occasionally annoying to have to force the screen to redraw.

Are you in the market?

Java Studio may suffer from the contradictory forces going on in the bean market. On the one hand, Studio is appealing because you can expand the sophistication of the apps you build by downloading or purchasing additional beans. On the other hand, amateurs who buy Studio to avoid programming aren't going to want to pay much for those additional beans. And while some very fancy beans are available free or at a low price, some of the most appealing beans sell for hundreds of dollars -- in some cases, more than standalone applications that perform the same function!

Especially with its current flaws regarding data entry, Java Studio will probably find its biggest market among the non-professional tinkerers who are fascinated with Java. Visual Basic spawned a whole new generation of amateur Windows programmers. Java Studio opens the doors even wider and invites in a broader audience of potential Java enthusiasts. Instead of offering the simple programming language of BASIC, Java Studio offers no programming at all.

Most amateurs with any talent will walk away satisfied, as well. There's no reason why a creative non-professional couldn't avoid some of the pitfalls and tinker together utilities as sophisticated as a calendar and scheduling applet or the like.

At the other extreme, if you're a professional programmer who eats, drinks, and sleeps Java code but also likes visual development, you can accomplish a lot with Java Studio and something else, like Java Workshop or some other development environment that lets you create beans, or just your own editor and command line.

If you're in any of the above categories, Java Studio is well worth the modest price. Of course, if you're at the opposite end of the professional programming spectrum and hate visual environments altogether (a "real programmers use vi and the command line" type), you can begin asking yourself why you've bothered to read this far into the review.

I suspect the people in the middle will have the most trouble with Java Studio. They're the type who knows the basics of Java, and want to do serious data-entry style applications development. They don't mind doing some programming, but like to do most of the work visually. I'd advise that these people wait until this product matures. Java Studio is just powerful enough to make their mouth water, and just frustrating enough to send them running back to their favorite visual Java IDE and stay there.

Nicholas Petreley is editor-in-chief of NC World and columnist for InfoWorld and NT World Japan.

Learn more about this topic