|
Its almost a month now since the big
fanfare and arrival of the Java 2 platform. For almost 18 months
we had awaited JDK 1.2 and now its finally here. For UI Developers
the world over, there was the promised Java Foundation Classes
(JFC) which extend and replace the elementary AWT class library.
The JFC (codename Swing) has been around for almost 15 months. So,
is it finished in the Java 2 release?
Usenet newsgroup postings would tend
to suggest not!
Broken APIs and Bugs
Swing 1.1 - the release for Java 2,
seems to break or change a lot of the existing APIs. It has also
introduced a number of often trivial but hugely annoying bugs. The
truth is that the quality just isn't there.
I have been a great enthusiast and
advocate of Swing since its announcement in 1997. I believe that
the Swing team did a great job getting such a lot of the toolkit
developed and into a respectable shape for Jan 1998. Those early
developers were evidently great guys at getting the work started.
They were real enthusiasts for what they were doing. It would
appear that the team was lacking what Belbin psychologists call "Completer/Finishers".
That's what Swing needs now.
Focus
In truth, Swing suffers from a
general problem of focus which is endemic across the whole of the
Java platform. Everywhere, there is too much width and not enough
depth. Depth in functionality and depth in quality.
Java seems to be thrashing around
like an headless monster, out-of-control. There is no clear
direction. Sun appear to be trying to be all things to all men.
The development and direction that
Swing has taken over the last 12 months, would clearly seem to
indicate that it is intended to compete head on with MS Windows
and Apple OS in the desktop applications market. Even the
selection of the Metal Look and Feel would indicate and emphasise
this conclusion. It is essentially a Sun corporate image -
including the colour selections - for a desktop windowing
environment.
Meanwhile, the continued insistence
on adding more and more functionality to cover a wider and wider
intended market is causing havoc with developers. Better to finish
off what is there and start again with a new focus. The current
toolkit is in any case fatally flawed. The restrictive threading
model and the continued failure of the serialisation means that it
will never meet initial expectations.
It seems that Java suffers from this
all too much. A look at the jobs page at the Sun website will tell
you that there are over 40 vacancies for Product Managers.
Doubtless one of these people is needed for the Swing toolkit.
Adding Product Management might help to get small scale customer
focus and deliver finished product short on bugs and without
broken APIs, it will not, however, solve the big picture.
The Product Management needs to be
reporting to a small and highly focused team of strategists. A
clear strategy for Java has to emerge. If Sun don't have the
manpower to deliver a Java which is all things to all men, then
they must focus.
A UI for the Masses
Over the last year of development
without direction, little has been done to address the needs of
Applet developers, or developers for other hardware platforms e.g.
JNI enabled devices.
With the demise of the Network
Computer concept, the notion that a different, simpler, more
intuitive environment should be developed, seems to have
disappeared. Neither Sun or IBM are pushing forward with the work
which was done on HotJava Views or Lotus eSuite.
Just because NC hardware didn't sell
in its intended market place, the need for a better User Interface
for the greater population seems to have gone away. This is surely
wrong!
We still need a new, better, simpler
environment for the ubiquitious computing era which is coming
soon.
Strategy Proposal
So what can I suggest? It seems to me
that Sun is spreading the resources too thinly to achieve
everything. Competing against Microsoft in the desktop market
whilst trying to shift Java into new markets isn't working. They
are failing in both areas. If they are to achieve the penetrating
and defensible market position in new markets such as embedded JNI
devices then they must focus the best people into that area.
If I were Scott McNealy I would
achieve this by giving the market what it wants. Take the areas of
Java which compete against Microsoft and release them as Open
Source. Let the market fix the problems and move forward. This
would certainly include the Swing toolkit in its current form.
Re-apply the freed resources to other
areas, and develop a clear and focused strategy. Identify market
areas for Java technology where it can be established as the no.1
player. This requires functionality, service, support, reliability
and quality. Go after those market niches and knock them over 1 by
1. Then re-apply the talented developers into new areas as they
complete work in a targeted area.
Sun is a clever and knowledgable high
technology company. It appears that the size and speed of the Java
market has swamped it and first principles of high technology
marketing and development have been forgotten. Get back to first
principles - focus, strategy, quality, timely delivery - then
things will start to get better.

|