localoutline

Last week I went to Microsoft's Foster City office for a demo of a new Microsoft Internet Explorer 4.0 feature: Scriptlets.
To understand Scriptlets, first you have to understand how Java applets work in a web browser such as Netscape Navigator or MSIE.
***Java in web browsers
Here's an example from JavaSoft's website:
<applet codebase="java.sun.com/applets/NervousText/1.1" code="NervousText.class" width=400 height=75><param name="text" value="Whistle While You Work"><i>This feature requires Java.</i></applet>
When this code appears in a web page, you'll see a jiggling slogan in a rectangle that's 400 pixels wide and 75 pixels high.
There's a piece of software, written in Java, called NervousText.class on a server at Sun. This program is loaded into your machine and it runs. The web page tells it what text to jiggle. That bit of information is called a parameter.
Code that takes parameters and displays something in a box. This is how the web browsers from Netscape and Microsoft load Java code from a server and run it on a client.
***Scriptlets -- same thing for scripts
Today Microsoft has released a spec that, when implemented in MSIE, will allow scripts to have exactly the same power as Java.
A familiar pattern:
<object id="Calendar" width=400 height=270 type="text/x-scriptlet" data="Calendar.htm"><i>This feature requires MSIE 4.0.</i></object>
When this code appears in a web page, you'll see a calendar in a rectangle that's 400 pixels wide and 270 pixels high. You can move a cursor thru the calendar and change some of the colors used to display the calendar.
It's just a demo, as the Java text jiggler is.
***Details
I've posted details on the www.scripting.com website, including a Microsoft-supplied sample scriptlet and a page that builds on the scriptlet.
http://www.scripting.com/specials/scriptlets/
It's deep and powerful and mysterious. I'm not kidding!
***Scripting
What makes scripting different than programming? It's higher level. The verbs do more. There's usually a database close by. The developer tools are easier and more highly leveraged and in some cases more complete than than those for Java.
Java is lower-level, like C or Pascal. Scripting languages like JavaScript, tcl, PERL, AppleScript and our own UserTalk have powerful syntax, comparable to Java. The simplicity of scripting is in the power of the environment and the leverage of the development tools.
***A chance to dig
Microsoft is opening a door, allowing equal access to script writers. We've asked Java to work with us, but they've stayed closed. As often is the case, we never asked Microsoft, and they come knocking on the door. And it's a challenge, of course. We understand that they make scripting software too.
To my company, UserLand, it means that Frontier's object database, native verb set, development tools, and threaded runtime can now be applied to web content on the client side. It'll make smart scriptable sandboxes possible. We've been ready for this since last spring. We get a chance now to dig in this direction.
Thanks Microsoft. We're still going to focus on the content development side, but it'll be interesting to experiment with this new client-side functionality.
We also think it'll be important for our users, people who develop Intranet and publishing applications. There's no doubt that Scriplets change the economics and structure of application development for the net.
***What's next?
Now, more than ever, I want vector graphics in the web browser.
I wrote about this in "LineTo MoveTo", 6/24/97.
A simple QuickDraw-like scripting interface.
I think today's high performance CPUs can handle it.
We won't know until we try!
Dave Winer
PS: Today is Microsoft Day on Scripting News. Lots of juicy pointers and questions. Check it out. Let's have fun!