News and commentary from the cross-platform scripting community.
Mail Starting 6/25/97
I think more than anything else, Java exposed the huge underlying derision of Microsoft. It was always known, but Java laid it bare for all to see. So when Sun said, "cross-platform!", everyone jumped without looking. The current consternation over Sun's handling of Java matters is based on the idea that Sun is doing the same thing to us that Microsoft does. Positioning to these companies involves the best angle for picking your pocket. Why is it that a small 50 person company(Be Inc.) has given us the best OS in years? Possibly because Jean-Louis doesn't let his ego get in the way. Elsewhere, meaningful technological development has been replaced by CEO pissing matches. What the hell do Scott McNeely, Larry Ellison, or for that matter, Bill Gates know about software development? Have any of these guys ever programmed in Java? Does Larry Ellison use an NC? Has Bill Gates setup BackOffice on NT Server? Why then are we looking to the deaf and dumb for the way to the highway. Why isn't James Gosling the chief spokesperson for JavaSoft? If the geeks have now given themselves the ultimate tool, why are the jocks still in charge? Why do we continue to listen to the non-programmers stammer on about programming when we should be listening to ourselves? Answer unclear, try again later.
From: email@example.com (Greg Kucharo);
Sent at 6/25/97; 5:29:00 PM;
Making Sense of Java
Java is a technology. Real users don't buy technology. They buy things they can use. How many people buy fuel injectors or airbag inflation systems? Virtually nobody. People buy cars. That doesn't mean you can't market Java like "Intel Inside," just that it won't matter by itself.
From: RoyLeban@akimbo.com (Roy Leban);
Sent at 6/25/97; 11:44:40 AM;
Re:Making Sense of Java
In the life cycle of a platform it becomes harder and harder to get the developers that stand on that platform to adopt the innovative technology provided by the platform vendor. The developer writes for the entire installed base, not just for the few that may have installed the newest stuff. After a while the platform vendor is stuck. He can add anything he wants, it's just that the don't developers adopt it because if they do then they can't ship to the majority of the market.
From: firstname.lastname@example.org (Ben Hyde);
Sent at 6/25/97; 2:30:36 PM;
Re:Making Sense of Java
At that point we get the spectator sport of an immovable object versus an irresistible force. Smoke rises while nothing actually happens. (Ever watch a tractor pull at a county fair?) Finally a paradigm shift breaks out someplace.
It appears we have reached this state on the Web platform faster than usual. The smoke is thick but nothing is happening. If your building real web sites for real users then Java, sadly, is just not relevant. It's too bad since Java 1.0.2 has pretty good turtle graphics and it is widely available. It never became production quality before the vendor decided to innovate some more.
Java has other markets to play in for example: enterprise client server, maybe intranet web sites, cross platform application development, corp. computing cost control (aka what to do about the N-K$/desktop/year problem). Maybe even solving the MSDos, Windows/3.1, Windows/NT mess. These are markets with deep pockets and tough problems needing good tools. Java has a lot to offer them.
It is very very sad and bizzare that the most exciting platform to arise in over a decade doesn't have a programing language or vector graphics on the client side that we can actually use.
Yes, Dave, the one true answer to having timely news search engines is to have a compatible standard. The answer isn't waiting for Wired to propose yet another protocol to access the NewBot database.
From: email@example.com (Adam Turoff);
Sent at 6/25/97; 2:30:31 PM;
NewBot - June Report
At some point, this kind of service is going to be indexing meta-content (stories about Clinton, MFN for China debate, etc.) which is best done by human hands. Some news organizations already have editors who have this information. Other sites like Yahoo have librarians which generate this information.
The holy grail is to find a happy medium whereby a generic agent can find this meta-content (expressed in MCF or XML) from a variety of providers (Yahoo, AP, CNN, NYT, Scripting.com, etc.) and present a consistent, intelligent interface to the news out there.
Don't wait for Wired to publish the protocol for some newbot daemon. Instead, figure out how a bazillion content providers and aggregators can concisely express what news is out there, and then it becomes a simple problem of parsing the files off the web.
What happens then? Not only can you specify how often to check individual news organizations, but NewBot can do that and become a clearing house for those who want a single location to check.
Hi, I'm a UNIX-weenie, have been for 20 years. Scripting has been a central part of UNIX since it began, though maybe we mean something different by ``scripting'' from what you do, I'm not sure.
From: firstname.lastname@example.org (david mankins);
Sent at 6/25/97; 12:48:37 PM;
Re:Making Sense of Java
I have nothing to do with Java, Netscape, Microsoft, or Sun.
I want to tell you a story.
Twenty years ago an editor was born in laboratories connected to the ARPANET called EMACS. EMACS was odd, because it was written entirely in macros for a text-editor called TECO. And it was odd because it wasn't just one thing, it was a bundle of macros, each one written by someone to share with their friends. Eventually, EMACS took on a life of its own, but it still had that open ``extension language'' sitting underneath it.
Since the mid-80s, UNIX EMACS has used dialects of Lisp as its extension-language.
EMACS is not just an editor, it's a programming-environment, it's a debugger, it's an email system, it's a user-interface, it's a distributed filesystem, it's.... It's the product of 10,000 people working to solve their own problems, and sharing the results with others who might also have that problem (or one like it!).
I guess that makes EMACS a community-built *platform*. You get 10,000 developers working on your-problem-that's-their-problem when you have an extension language and extensibility built-in.
As it happens, James Gosling (the principal Java guy), wrote one of the early versions of EMACS with a Lisp extension language.
Gosling did the same thing with his ``Networked, extensible Window-system'' for Sun called NeWs. An open, programmable platform for controlling your computer's display.
There's a thread here.
You also see it in macro packages for spreadsheets like Excel. Excel isn't just a spreadsheet, it's a platform! Microsoft understands this, and they're using Visual Basic as their extension language for everything.
JAVA does for browsers what EMACS Lisp did for EMACS. It turns the browser into an open, cooperatively-constructed platform. Today that thing is just a web-browser. Tomorrow it does email. Hey look, here's a neat spreadsheet applet... and... and...
Java frees you from corporate-imposed (and evolving! and multiplying!) standards, you don't have to wait for the X-Consortium to figure out a 3-D graphics standard, you don't have to wait for the VRML guys to figure out *their* standard. You don't first have to go download and install the mumble plug-in to look at someone's page.
It means that your browser doesn't have to implement the secure-transaction protocol of this merchant because you get the secure-transaction protocol *from* the merchant. You trust them with your credit-card number, you can trust the envelope you send it in, too. And Java's sandbox means that *all* you're trusting them with is your credit-card number, not access to the information on your disk.
The ``100% Pure Java'' business is an important part of this --- if it's Pure Java, then it will run on any platform, and you know you have complete control over what it does to your computer. You can be more accepting of anonymous code that comes over the net.
Though Microsoft is also right to turn Java into a programming language for writing native programs. When I buy a copy of Excel, I don't care what language it was developed in. I trust that it won't hose my filesystem because it was put out by a reputable company. I won't run applications downloaded from the net unless they're available in source form, with lots of eyes looking at the code to see what it's up to. I'd run 100% Pure Java apps, though, because I know they stay in the sandbox, or only leave it in a way that I can control.
When you look at who's saying what in the Java hick-hack, the bottom line seems to be very simple and obvious.
From: email@example.com (Hannes Wallnoefer);
Sent at 6/25/97; 6:30:37 PM;
What Java means to me
The Java critics are all very well settled in the realities of today's computing. Cornelius Willis, Rob Glaser - these people are riding the Status Quo, how could they possibly be looking for a fundamental change?
You too have a great investment in C-written code, and I think you know how it feels if someone or something (e.g. troubles at Apple) put that investment at risk.
On the other side, when I look around I see lots of people like me. I'm 26 years old. When I started to get into programming, the Mac wasn't attractive anymore, and Windows wasn't attractive yet. I got into the Internet, not at one specific point of my life, but rather as the result of a slow process. All that time I was using Unix boxes, Windows PCs and Macs, but I never went into these OSes. I just never wanted to. When Java came along, the choice for me was a simple one.
Two final things in reply to recent messages from Microsoft. I may be lucky, but I'm paying my bills with Java as it is now. My Java programs run nicely on my Linux box.
One thing to Sun: I really hate the design of the JavaSoft website and the 100% campaign. Looks like it's 100 years old! Please do something about it!
Dave, if you truly do know of a way to make any choice of hardware, software, OS, language--whatever--if these choices can be non-religious or non-political please let me know. It seems to me that if I choose (or choose to work in a place where I am directed) to write Java applications using Visual Cafe for NT I have already made a number of religious and political decisions.
From: firstname.lastname@example.org (Greg Harness);
Sent at 6/25/97; 9:09:31 AM;
Re:Making Sense of Java
I certainly wouldn't deprive Microsoft a place to speak just because Sun won't say anything. It's totally against my nature. I believe in speaking and listening. I've said that many times in many different ways.
From: email@example.com (Dave Winer);
Sent at ;
Re:Making Sense of Java
From my point of view, Sun is behaving just like Apple did re DaveNet. If Apple had listened once, instead of rejecting, they'd have a solid Internet strategy now, and would be prospering and growing.
Sun could learn something important from Microsoft. Look at how many new styles they had to adopt, new points of view, in the last couple of years. In that is the secret to being successful in the software business.
Listening and hearing. It's far more important than virtual machines or great syntaxes.
I think there's an issue here of what readers expect from DaveNet. If you post only your own views, then that's one person's viewpoint. If you write only notices attacking Sun, then people know where you stand. They can agree or not, keep reading or not.
From: firstname.lastname@example.org (Bill Seitz);
Sent at 6/25/97; 11:45:23 AM;
Re:Making Sense of Java
But you post messages from other people, pretty much without comment or dispute. Since you'll accept messages from either side, you see this as an impartial process. But from the reader's perspective, they see lots more weight on one side of the fence. Bu t that's being driven simply by aggressiveness of the PR machines, not the quality of the points being made. To say "it's Sun's fault because they're not responding" has a certain amount of validity, but could also be perceived as a media hack's arrogance of "hey, if they won't talk to me, then screw 'em, I'll let their enemies take the stage". Of course Sun should be fighting this battle more clearly, but to take their relative silence on this one channel as having a greater implicit meaning seems mislead ing.
It's not quite that easy to make Frontier "generate" Java applets.
From: email@example.com (Dave Winer);
Sent at ;
Re:Can Java win and still lose?
Frontier is an environment like Ashton-Tate's Framework.
Fundamentally different from a language.
We stress this point by supporting multiple languages in the environment.
Java today seems to be fractured into three distinct products.
From: firstname.lastname@example.org (Reginald Braithwaite-Lee);
Sent at 6/25/97; 11:37:31 AM;
Can Java win and still lose?
Java the language is a nice product, improved over C++ in some areas but less powerful in others. Java the applet and security scheme is gathering momentum, albeit slowly. And the Java virtual machine is, perhaps, the most widely discussed yet poorly understood aspect of the Java environment.
The VM is what makes cross-platform applications and applets a possibility. It suffers from all of the problems facing other VM systems, including P-system, Lisp Engines, and SmallTalk. The most interesting thing about the VM is the fact that you don't need Java to create VM applications!
Ian Ameline email@example.com, a respected compiler authority, suggests that C++ compilers could be targetted to write VM rather than binary executables. The same could be done for Visual Basic, or even, ahem, Frontier. Such executables could run as Applets as well as Applications. Host environments, such as web browsers, would have no idea, nor would they care, what language had been used to create them.
Clearly, if the marketplace decides that write-once, run-anywhere is a winner, Java does not necessarily win.
I continue sighting new software packages that are using Java inside browsers, for which it seems clear that the Java choice is the right one (for the convenience of both the customer and the software company). Off the top of my head: I've seen a firewall GUI and a 3270 emulator delivered this way. So Java inside browsers is a safe spot for developers to deliver certain niche products into. That's a far cry from having it be the spot to deliver everything into, but it's a good start.
Sent at 6/25/97; 11:30:00 AM;
Re:Making Sense of Java
From this point of view, importing "native" stuff into the "pure" environment is bad for the platform, because it makes it less stable/safe/universal. On the other hand, if "pure" is not rich enough, it's not rich enough. The ball is in Sun's court to make it good enough to avoid the perceived requirement to dive into Windows API. On the GUI side, you'd think Sun'd have this down, just from practicing doing it over and over again (NeWS, TNT1, TNT2, AWT, etc). On the I/O side, it's intrinsicly harder because it's not clear what an acceptable security model is, or where people really want long-term information to live (what mix of local and remote, and how optional the choices are).
I've just taken the time to groke Netscape's revisited MCF (which we had adopted within month it was published by Apple) and Microsoft's CDF.
From: firstname.lastname@example.org (Tattoo Mabonzo K.);
Sent at 6/25/97; 5:19:05 PM;
MCF and CDF
Very interesting stuff indeed.
It seems that for once it's Netscape that's playing "embrace and extend", but beyond that, their MCF stuff seems truly powerfull.
Besides, something struck me re: the submission process of technologies by both Netscape and Microsoft.
Microsoft (and Sun) proposes standard that they want to drive (retain copyright, no source code etc..)
Netscape OTOH seems to be more "open" (they don't retain copyright, provide source code etc...)
The problem as I see it is basically an alignment and a decoration issue. As a Photoshop person who has worked in between a designer and a webmaster in getting up a website the challenge is always how to force something to align, or taking a simple text b it and decorating it a bit. We always make the little text buttons in Illustrator so we can size it the way we want then burn a bitmap. Plus we can later change the bitmap--resize, change a color, font, etc.--and reburn it.
From: email@example.com (Brian D. Buck);
Sent at 6/25/97; 10:51:52 AM;
Half of me says trash HTML and move forward. Make a new page description language that works better for what the web is used for. The other half of me says we can try to add on to HTML. Make it easy to decorate little bits of text, or text areas with a ti ny little graphics library. Here's an idea:
The script takes the value of the tag as its parameter, for example, if you have a regular anchor tag your draw routine would take the text of the anchor as its only parameter. When your draw routine is called, a bunch of variables would be available to y our script, like the size of the bitmap area you could draw in, or if you could re-negotiate the size of the drawing area the browser allocated for that anchor.
Once you're in the draw routine, you can paint in that bitmap as you please with standard drawing routines. Want it to look like a button? No problem, just draw a few lines, fill some rects, and draw the string. No need to check any code except to make su re it's not going to draw outside the bounds of where its allowed to draw. The hardest part would be supporting timed events, like scrolling and animation. Perhaps inside a draw routine you can tell the browser when you next want to be called--whether it be in milliseconds or onMouseOver, or whatever.
As for alignment, I'll have to check out the new layer tag. It might do the job. But how long will it be before we can use the tag and know people have a browser that supports it? My opinion on why people have been so eager to upgrade is to avoid crashes! Hell, except for Java crashes, my Netscape 3.01 hasn't crashed in weeks. It's pretty darn stable. Why would I upgrade now? Do I really want to go into another cycle of beta testing a 4.01 product? Nope.
I agree with what you're saying about bitmaps: I'm sure petabytes of bandwidth are wasted every month because of those stupid GIF images that just display fancy fonts and text. This part of your message was something I don't necessarily agree with, though. Flash seems pretty good, but what's the difference between rolling in the Java VM vs. rolling in Macromedia's Flash "VM"? Why roll in both when components of Netscape now require rolling in Java anyway (case in point: the Marimba components you've raved about in the past)?
From: firstname.lastname@example.org (Chris Trimble);
Sent at 6/25/97; 9:52:11 AM;
Someone forwarded me your discussion about turtle graphics, QuickDraw, etc.. and I think that you are right -- we need some kind of simple language to draw graphics primitives in an HTML environment.
From: email@example.com (James E. King, III);
Sent at 6/25/97; 8:09:03 AM;
Java in browsers
Isn't cascading style sheets able to do this, albeit with some complexity?
Also, I think your point about Java being overkill for line drawing and animation is true... however you are missing the entire point of Java on this issue. I think Java within web browsers is a temporary thing. Java will move it's way into the core of each operating system, allowing for native app launching of Java applications. The beauty of this is that you write it once, on your favorite platform, and then deploy it through the internet or intranet via http, ftp, nfs, or perhaps by placing it on a file server.
Java in web browsers is not simply for drawing lines -- it's for creating platform-independent applications. Did you see IBM's web site while the big chess tourney was going on? They has a real good application of Java in a web browser for replaying entire games, etc. Check it out.
The problem I have with java applets is not their speed of execution its the time they take to initialize. Whenever my browser hits a page with little greyed out rectangles I don't bother to wait for them to spring to life. Maybe this is the run-time system cranking up (though i'd of thought that would be possible to optimize out on a browser thats expecting applets).
From: firstname.lastname@example.org (Graham Carlyle);
Sent at 6/25/97; 10:35:27 AM;
At the end of the day its the user experience thats most important, and a close second ease of authoring. Java applets currently fail those criteria in my opinion, at least for visual effects/decorations.
From: email@example.com (Malcolm Abel);
Sent at 6/25/97; 5:47:44 PM;
'bout time someone said it
but then... who READS web pages anyway, half the (new) users I know just look at the pictures - makes you wonder!
So when is Macromedia gonna write a browser??
Java is stone soup.
From: HeidiR@aol.com (Heidi Roizen);
Sent at 6/25/97; 12:49:45 AM;
Re:800 Words on Java
Do you know the story of stone soup? A poor man enters a village with no money to buy food. He has but a cookpot, a stone and some wood to make a fire. So he sets up in the town square, gets some water, lights a fire, and places his pot upon it. Then with great ceremony, he does a dance and puts the stone into his pot.
"What are you doing?" asks one of the townspeople?
"I'm making stone soup. It is a magical stone that I possess, makes the greatest soup one has ever tasted. There will be enough to feed anyone. And it require no special instruction or care, just water, my magical stone, and some time to cook."
"May we have some when it is finished?" ask the townspeople.
"Certainly. Of course, it would be even better if you could contribute something to the soup... might you have some carrots at home that you could fetch and throw into the pot?"
and so the story goes, the townspeople, all wanting to believe in and share in the terrific soup, contribut their carrots, celery, potatoes, meat, spices, and so on, until there is a great soup for all to share.
Java is our stone soup.... "This is a great programming language, no, a whole environment! Write once, run anywhere, you don't have to worry about whose OS wins! You don't need to worry about who wins the chip race! You can live in a world which is not dictated by microsoft (after all, all developers admire yet fear microsoft, don't they?)
And, as with stone soup, if the story spinner plays his cards right, we will all contribute so many ingredients (KPCB and other VCs with money, Symantec, Metrowerks and others with tools, a whole industry to provide training, marketing, and other ancillary functions...and an incredible entrepreneurial community who will apply inspiration, dedication and brain power to create enough unthoughtof things that statistically one of them is bound to be THE killer app.) that the stone soup just might become a delicious reality.
The .gif text methods has another other major draw back, it's not indexed. As the tendency to create more of a site out of .gifs rather than text increases, my ability to find the pages I want via hotbot or alta vista keep decreasing. Would the new solution, Flash/other be indexed by the search engines? If some sort of Alt tag is used for indexing it would have to be generated automaticaly by the media tools to guarantee ubiquity. (much in the same way Frontier automatically generates Alt tags for me ;)
From: firstname.lastname@example.org (Micah Alpern);
Sent at 6/25/97; 12:45:07 AM;
Say it again. Say it more often. Say it louder. The WWW has become a collection of boring sites. Many know nothing of layout, reader appeal, appropriate use of color, moving objects and special effect that were special to the programmer only.
From: email@example.com (Terry Wellman);
Sent at 6/24/97; 8:37:50 PM;