Skip to main content

Burning Bridges

Posted by editor on May 22, 2008 at 6:56 AM PDT


Is the Java Plug-In really "annoying"?

A few days ago, ZDNet.co.uk posted an article on applications that tick them off. Annoying software: a rogues' gallery features applications that put themselves in the user's face and run roughshod over their needs. Think Real Player, or the bundled junk-ware that bloats the desktop of a brand-new PC. Or iTunes trying to trick you into switching to Safari. Or think of Java.

Wait, what now? Java?

Yep, Java got dinged by the ZDNet editors on Page 6. They write:

Java doesn't do anything by itself. It's a programming language. Programming languages are like sewage plants: if the average user becomes aware of them, something's gone wrong.

Java doesn't know this. Java wants to be in your face. Java wants to be updated. Java wants to tell you the good news about Sun. Have you heard about Sun? Here's a nice picture of our logo. And fancy a copy of OpenOffice? No? Well, never mind. Java's installed a copy of Yahoo Toolbar in your browser instead. Because that's what programming languages are there to do, right?

I thought this was an interesting hackle to see raised, so I forwarded it on to the Java Posse group for discussion and followup, where several (including JavaFX engineer Josh Marinacci) noted that most of the other offenders were far more annoying. Even the Slashdot followups found comparatively far less fault with Java's presentation.

A discussion about the article is going on in our own forums, and some of the readers agree with ZDNet's original assessment. In
Re: ZDNet gives Java a negative review, kirillcool (aka, Kirill Grouchnikov) writes,
"Client Java is just way too pushy. I don't see Flex / Silverlight popping any console windows, adding tray icons, or even showing their name in the *default* loading sequence. Why would Java be so adamant in advertising itself with the *end users* is, frankly, beyond my comprehension."

Now, what do you think? Does the Java installer and toolbar plugin enhance the brand or badger the user?


Also in today's Forums, desibel spells out Swing fundamentals in the followup,

Re: Starting point to understand inside Swing.
"Swing is based on model-view-controller(MVC), so in order to understand swing you have to understand MVC. This is the way Swing controls what to display, how to display it and eventually what will happen to it. All swing components have a GUI and a model + different types of listeners that have to be implemented in order to create an action when something happens in the model or GUI. So basically swing says: don't update the GUI I will update it for you if you update the model. Swing needs an event to be fired in order to do this and in order to create advanced "new" components you have to make and fire that event in the model."

fbratu figures out a configuration problem with GlassFish in
Re: security error when trying to deploy a resource connector.
"That was the problem - I didn't have the security manager enabled!!! I've just found out that Glassfish starts with the security manager disabled by default for a domain created with the developer profile - which is the profile I created in order to test the connector on Glassfish - so I added the -Djava.security.manager option to the JVM, and now it works! Thanks for the help!"

Finally, Shai Almog talks about the state and plans for the Lightweight UI Toolkit in
Re: What are your needs for UI Toolkit ?
"The LWUIT Demo is only a demo. LWUIT itself is early access but is already being used by several vendors for products it is also being used by our team for products. LWUIT will be fully open source under GPL+CE very soon which allows bundling LWUIT in proprietary applications but requires returning changes to LWUIT to the community (no need to open source your application). Swing for mobile devices is AGUI, LWUIT works on top of AGUI when its available. Sun is releasing LWUIT as a tool for the developer arsenal."


In Java Today,
the GlassFish Scripting Project is an umbrella project for projects related to the use of scripting languages in GlassFish. As Jean-Francois Arcand notes, the grizzly-jruby extension is moving out of the Grizzly project to become part of glassfish-scripting. The project also includes resources for discovering supported scripting languages and using them with GlassFish.

New JavaScript Editor in NetBeans IDE 6.1
NetBeans IDE 6.1 contains a completely new JavaScript editor which provides many advanced editing capabilities such as intelligent code completion, mark occurences, instant rename, on-fly analysis of JavaScript libraries, support for many Ajax frameworks and more. Roman Strobl's NetBeans.tv screencast, Demo of New JavaScript Editor in NetBeans IDE 6.1, takes a visual tour of the new and exciting JavaScript-related features.

A brief interview on Artima looks at the challenge of Testing Multithreaded Java Code. "In this interview from JavaOne 2008, Coverity chief scientist Andy Chou discusses why traditional unit tests don't often help in uncovering concurrency-related errors, and why a combination of static and dynamic analysis yields better results when testing multithreaded code."


In today's Weblogs, Jean-Francois Arcand discusses
Building GWT Comet based web app using Grizzly Comet.
"I'm getting a lot of requests to share our JavaOne BOF slides where we have demonstrated the use of GWT + Grizzly Comet."

Patrick Keegan shows off
Beans Binding Between Separate Forms.
"Continuing from my last post, I'll show the next steps in the creation of this simple (but not too simple) client purchase application. This time, our main focus is in creating a separate dialog which we will use for data entry. We'll need to do a few tricks so that input from the dialog is propagated to the main form and then the database."

Finally, Arun Gupta notes a
FREE 20-week Ruby-on-Rails Programming Course - with Passion!
"Sang Shin and Brian Leonard are starting a new free online course of "Ruby, JRuby and Rails Application Development (with Passion!)". The course is taken online and will start from Jul 15, 2008."


Current and upcoming Java
Events
:

Registered users can submit event listings for the href="http://www.java.net/events">java.net Events Page using our href="http://today.java.net/cs/user/create/e">events submission form.
All submissions go through an editorial review before being posted to the
site.


Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.

Is the Java Plug-In really "annoying"?

Comments

Does the Java installer and toolbar plugin enhance the brand or badger the user? I think the Java plugin should not add itself to the system tray. It is those Java update messages that are so annoying. It's fine to have the Java/Sun logo when an applet or webstart app is launching. The time to tell the user to upgrade is when they *want* to run an applet or application and they don't have the right version. That is what Flash does.

"Client Java is just way too pushy. I don't see Flex / Silverlight popping any console windows, adding tray icons, or even showing their name in the *default* loading sequence. Why would Java be so adamant in advertising itself with the *end users* is, frankly, beyond my comprehension." I agree. It should not pop up any console (when does it do this?), I _really_ don't like seeing a tray icon for it. Showing the Java logo as the default loading screen might be ok, as long as developers have the ability to show their own loading screen. I haven't looked into it, but I've never seen an applet not show the Java logo.

"Now, what do you think? Does the Java installer and toolbar plugin enhance the brand or badger the user? "

If you read the last several years of complaints of developers about the plugin being far too intrusive you'd know what we think. The fact that Sun even needs to ask the community shows they're disconnected.

"so I forwarded it on to the Java Posse group for discussion and followup, where several (including JavaFX engineer Josh Marinacci) noted that most of the other offenders were far more annoying"

Doesn't matter. The very fact that they use that as an excuse for the intrusiveness of the plugin shows they're out of touch with the end user. There's a complaint, do something about it. And that complaint comes from not just your end users, but the people developing software on the Java platform as well and has been voiced for a long time.

Let's just start an informal poll here on java.net, 1) leave everything as is, or 2) unbrand (or 3) at least give the freedom to decide to someone - with parameters for devs, config options for users, etc). We'll see then.

Whenever these questions come up, the real question should be: Does Flash do it? Java should slavishly follow Flash's design decisions except in cases where Java would be doing something demonstrably superior. Another point already raised in other fora is that regardless of what developers think of Java, it's brand could hardly be worse on the desktop at the moment. Better to infiltrate the desktop by stealth.

I agree with the other posts, particularly about using Flash as the template for how to do things. Just do what Flash does, it's proven, it works. If the Java Posse doesn't think it's annoying then it proves how out of touch with the end user they actually are, espeically if it includes an engineer who worked on it in the first place. It's liking getting an artist to review his own work. Do an end user survey instead and listen to what that says. Regarding the post on the posse group by Joshua Marinacci; "Apple's, the bastion of user centered design, who tries to shove a webbrowser down to you along with the huge download that is iTunes. And I still can't figure out why the Acrobat reader is twice the size of the full JRE, since all it does is view PDFs. :) " Apple can get away with a pushing things on the user because they've already "won" the user, and for Acrobat because there's no viable alternative for viewing pdfs. Java doesn't have this luxury. With Flash, Macromedia realised initially it was "optional" to the user/developer as there were alternatives, (back then Java was there by default in the brower) so they made it as transparent and user friendly as possible to gain penetration. If Flash hadn't done this initially it probably wouldn't be where it is now. Now the tables have turned so it's now Sun's turn to do the same. If anyone from the Java Posse is reading this, use the comments from ZdNet as feedback to make to make Java update 10 / FX better, not to go on the defensive.

I absolutely HATE when the Java applet loader comes up. It paints a bullseye on Java saying "look how slow I am". It was a horrible branding decision by Sun, and has caused many developers to avoid applets. Imagine how awful my web page would be if I had three or four applets loading. What an eyesore. (For the marketing people out there saying "better to get bad publicity than no publicity" miss the point. I WON'T use applets because the loader looks horrible. I won't give you the chance for bad publicity. From me you get no publicity.)

As a developer, I should be able to add a splash screen to an applet if I want, or just leave it blank.

As far as the complaints that the installers are too in-your-face, I don't want Java or AdobeReader or iTunes just updating in the background. I want control over those. And besides, these are important technologies that I got for free. I don't see the big deal having to approve the update every now and again.

But you are able to add a splash screen to replace the default animation: http://java.sun.com/javase/6/docs/technotes/guides/plugin/developer_guide/special_attributes.html So you have all the control that you need.