Thursday, December 15, 2005

the GlassFish breathmint floorwax dilemma

After a couple of months I have begun to dip my handsome new toe back into Java. It's a world where words mean anything--how I missed it!

"GlassFish", for example. What is it, exactly? Go to the GlassFish page and figure it out.

First, the page header is "GlassFish Community" but you are in the Projects tab, not the Communities tab. You might think, naive you, that they would explain what it is, not who they are. (A rude secret: I do not give a shit who they are--I only want to know what it is!) They are a community! But it looks like a project--there's a button on the left after all, that says GlassFish Project Home. Maybe it'll say what it is there! Click on it and surprise, it goes back to the page you're already on, the community page! So I guess it's a project, about a community, that is building a server.

Maybe the FAQ will explain what it is. Hmm the first question is not what is it, which would seem to me to be frequent question Number One, but rather, where can I get it. [12/17/05 Since modified! Now they say, What is Project GlassFish? first--still not What is GlassFish, but closer.] No worries, I see on the FAQ, a "New to GlassFish" link. I'm new--I want to know what it is. Follow this link and hmm...this link says it's a project, after all. I can introduce myself to others participating in the GlassFish project, I can become a part of it, I can even request a feature!

The GlassFish project provides a structured process...

So, I know that its community is building a server, and its project is providing a process. I just don't know what it is.

Let me click on the Communities tab at the top, to get my bearings. To see a list. At right is the list of communities but what's this--GlassFish is not listed! Ack where the hell am I? Thank goodness for the Back button.

Of course, I am being coy with you! I know what it is--it's an application server. They re-use the name of the community, and the project, for the actual thing. And not just any server, but an "Open Source Java EE 5 Application server". Which I installed. At least I think I did. When I run the server, the title is:

Sun Java System Application Server Platform Edition 9.0

Uh...did I do it right? Do they have enough goddam nouns in there? Sun is the noun string champion. "Platform Edition"--what's that? Is it like the "Platinum Edition"? Is this in fact "GlassFish"? If so why doesn't it say so? Otherwise why did they bother to call it GlassFish in the first place? Where's the little fish logo? And on the bottom of the Welcome page is a link to Project GlassFish "Sun's open source application server", with no acknowledgement that this is that server! Isn't it?

Oh how I remember now, why I fled screaming from these semantic tanglers. Where Apache is a software foundation, a project, and a web server and it's up to you to figure out which one they're talking about at any given moment. How about "Apache Tomcat"! It's why so many people think Tomcat "runs on" Apache. Why isn't it "Jakarta Tomcat"--it wouldn't be confusing enough?

How can such brilliant people be so lousy at explaining themselves? Why are they so willing to attach the name to the community and the project, and so timid about attaching the name to the only thing that actually matters. Come on then, out with it. It's: the GlassFish Application Server! And put the name in the product! If GlassFish is not its name, then don't call it that in the install, and toss it on the dustheap of useless terms like "Jakarta".

Here is my suggestion. The most important information to convey about a thing is, what is it. Not who are the nice people in the community that builds it, and not that the project provides the nice process that helps you build it. But, WHAT IS IT. Say that first.

No comments: