[5152] in java-interest

home help back first fref pref prev next nref lref last post

Re: yet another awt incompatibility

daemon@ATHENA.MIT.EDU (Jonathan Locke)
Tue Jan 30 10:13:31 1996

Date: Tue, 30 Jan 1996 01:36:09 -0800 (PST)
From: Jonathan Locke <jonl@sealevelsoftware.com>
To: "Jesse M. Hammons" <jhammons@phoenix.Princeton.EDU>
Cc: java <java-interest@java.sun.com>
In-Reply-To: <199601300601.BAA26991@rogue.Princeton.EDU>


On Tue, 30 Jan 1996, Jesse M. Hammons wrote:

> In article <Pine.LNX.3.91.960128182123.3216A-100000@16338-news.sealevel.sealevelsoftware.com> you write:
> >
> >On Sun, 28 Jan 1996, Jordan Hayes wrote:
> >
> >> 	From jonl@sealevelsoftware.com Sun Jan 28 05:02:39 1996
> >> 
> >> 	i would really like to see an alternative to AWT that uses
> >> 	lower-level primitives ...
> >> 
> >> The problem with this is that people are accustomed to using a
> >> native widget set on a particular platform.
> >--------
> >sorry for the rather long-winded response, but i've got a lot on my mind 
> >here... anyway, i hope you'll read this with an open mind (give it a fair 
> >chance).
> >--------
> I'm glad you're thinking.  I decided to email rather than flame.

i didn't take your response as a flame.  it sounds like you disagree with
my _perceived_ argument for rational reasons.  however, it also sounds like
i had some serious trouble conveying my argument.  please read on and i 
think you will at least come to understand what i meant (even if you 
still don't agree with my conclusions).

> >so the smart marketing thing to do would be to make a set of portable
> >widgets that look and feel like windows 95 (with some nice enhancements
> >from other platforms).  legal battles (apple vs. microsoft) have set clear
> >precedents in this territory...  and the market has clearly shown that the
> >windows ui is the (popularity) winner.  i don't want to argue that windows
> >is necessarily better than all other os's, but it would be silly to ignore
> >the compelling and prevalent nature of it's UI from a marketing
> >standpoint.  nearly *everyone* uses it! java should work like windows _if_
> >_only_ because it will help java to *win*. you do want that don't you?  if
> >java's ui stagnates in second rate cross-platform wishy-washiness, users
> >will go elsewhere (blackbird or some equivalent perhaps) simply because
> >the ui is prettier and more full featured. 

> This is just plain wrong.  There *is no other* UI for the x86
> architecture.  For instance, you can't buy MacOS for the x86 (it's been
> written, but there were licensing issues.  arrgg).  Win95 does look
> pretty good, but saying that it's the best because it was chosen from a
> pool of competitors does make me really steamed.  (BTW I used Linux/X on
> my x86 box and I don't really consider that a competitor...)

whoa! i never said it was chosen from a pool of competitors. as a matter
of fact, i _completely_ agree with you:  windows arose to such popularity
almost entirely because there WAS NO competition on x86 boxes.  i think
our misunderstanding here is that ALL i'm trying to say is that Windows is
by far the most *popular* interface.  not the "best", not "better than the
rest".  simply the most prevalent.  and for better or for worse, Windows
OWNS the desktop market (80+% from what i've heard).  i think it would be
marketing suicide to ignore this fact when doing product planning because 
if you do, you are ignoring 80+% of your customers! 

on the other hand, you are correct that it is not "clear" that Java *must*
have a Windows look and feel to succeed.  i'm only suggesting that it
would be a prudent (ie., safe) route from a marketing standpoint.  people
have bought into the Windows look and feel in a big way.  a *lot* of
people have come to expect it.  many millions use it and it *works*.  if
Java were to have a single look and feel (which i would suggest is a
reasonable route (for technical reasons) over the long haul), what other
UI would work better in terms of *selling* Java to the public than 
the Windows look and feel? 

> >my understanding is that a while back, sun tried to make a windows
> >emulation layer (don't recall the name of it - WABI or something?).  can't
> >have been to popular because i have never even heard of anyone using it. 
> >seems to me that this is a *much* better chance to take that same territory.
> >it's technically feasible this time.
> 
> Wrong again.  They didn't try:  it was actually done.  it worked great.
> you could run windows apps faster than any x86 processer at the time
> ('cause some sparcs are faster than pentiums..)  But it wasn't popular
> because :
> 	who the heck has access to a sparc? (besides princeton CS
> majors..)
> 	it was (is) expensive to buy a copy.

whoops, don't think i was clear enough about the term "technically
infeasible"...  i meant only that sun/WABI could never keep up with all
the OS changes in Windows because Microsoft owns the OS.  WABI might have
worked halfway under Win 3.1, but how would WABI95 work *now*?  the number
(and quirkiness) of OS changes is totally staggering. literally HUNDREDS
upon HUNDREDS of APIs changed. if that's not enough to make the idea
technically infeasible, try this on for size: almost every major
application out there (Microsoft applications included!) is actually
dependent on one or more obscure (and usually very subtle) operating
system bugs.  not only do you have to implement the API... it has to work
*exactly* the same... bugs and all!

WABI was (is?) a doomed idea (through no fault of the WABI team).  
but we're getting off the subject. 

> I'm not going to itemize the rest of the 3 paragraphs.  Basically what
> I'm hearing from you is that everyone should run windows, and if they
> can't they should emulate windows using Java.  Well heck, why don't I
> just drop out of school and start porting WindowsNT to the Mac and a few
> of the Unix's that don't have NT yet.  Then we would have perfect "cross
> platform" performances and all of M$'s great widgets, right?

no no no!  you completely missed my point.  DON'T emulate windows!!  just
the LOOK AND FEEL of the UI (which is essentially _trivial_ in comparison
with the OS itself -- especially when implemented in a decent OO language
like Java).  my reason for suggesting that something windows-like be used
as a common java UI is a very simple 2 step argument: 

<begin semi-formal argument>

1) if you want complex widgets, you will spend more time fussing around with
   AWT than you would just to start from scratch.  far more.  and what's more
   it won't work right and it won't port easily.  anything beyond basic 
   widgets will get quirky and will be second rate (it will be lowest common 
   denominator) across all platforms. 

2) if you accept that AWT isn't going to work for complex native UI widgets, 
   then you have ONLY TWO other logical alternatives (that i can see):

   a) as a friend of mine suggests, you can re-implement your Java app's UI
      once for each target system.  from the consumer's standpoint this 
      will result in an application with the same rich feature set as other
      native applications on that platform.  it's a bit of work if you want
      Java to port to a lot of platforms... but if you just want say Mac, 
      Windows and Motif it's doable.  Just 3 UI implementations.  Not the end
      of the world in a good language like Java. And of course the rest of
      the class library ports just fine.

      OR...

   b) create a single common UI for Java applets.  you could pick anything
      you liked here, but my suggestion is that you could draw a lot from
      Windows (if you want to be successful rather than "right"), because
      it is a proven UI that is used by MILLIONS.  and the great thing is,
      the windows UI is really not that big a deal (coding-wise).  sun can't
      possibly keep up with windows OS changes (WABI), but it could keep up 
      with the UI changes quite easily! and more importantly, once you've 
      got the users, THEN you can change the direction.  horse THEN carriage.

so there are only two logical possibilities here:

1) you don't buy part 1 of the argument and you think AWT is going to 
   scale just fine.  ok, fine. in this case, my whole argument is completely
   irrelevant.  i disagree with your conclusion, but hey it's a free country!

   OR 

2) you agree that AWT isn't going to result in java apps that are as 
   feature rich as native apps tailored to each plaform.  i personally
   find this to be a much more realistic expectation.

if you opt for 2, then you have a logical choice of 2a or 2b.  i'm not
sure my friend is completely wrong about 2a.  but personally, i like 2b
better. and if you are going to pick 2b, i think the right marketing
decision is to go with what 80+% of the market is using.  it's the only
sane thing to do from a marketing standpoint.  start with the basic
Windows widget set that most everyone's already using and add cool
features from other platforms where it makes sense.  

<end semi-formal argument>

> Truly, I am sorry if this sounds like a flame.  I'm trying to understand
> how adopting the Windows widgets will help Java....

don't know if i've convinced you of anything, but i hope i've at least
elucidated my argument enough so you understand what i was trying to get
across. 

	J
> 
> thanks,
> 
> 
> -- 
> - Jesse
> http://www.cs.princeton.edu/~jhammons/java	     *Java Powered!*
> 
-
This message was sent to the java-interest mailing list
Info: send 'help' to java-interest-request@java.sun.com

home help back first fref pref prev next nref lref last post