Microsoft HomeProductsSearchSupportShopWrite Us   Microsoft Home
Internet Explorer 4.0 Technical White Papers

Back to Internet Explorer Home Page
 

Microsoft Internet Explorer 4.0 White Paper Previous Page TOC Next Page Internet Explorer 4.0 Home Page

Best Implementation of Internet Standards


Best Implementation of Internet Standards

The key to advancing the Web experience is to provide the best implementation of standards. Now, people can view and listen to real-time netcasts, watch videos, run ActiveX controls and Java applets, and play interactive, multiplayer games while they are connected to the Web. All this content can be experienced in Internet Explorer 4.0 because of its extensive support for Internet standards, and because it includes innovative, underlying technologies, such as Dynamic HTML, ActiveX, and Java. Using this set of technologies, Web authors can produce more enticing content and develop consumer and business applications that deliver more value and create a unique, fun, and more rewarding Web experience.

Dynamic HTML

Limitations of current browser technology often require HTML authors to choose between interactivity and speed. Once a page is loaded, changing the display or content of the page typically requires the entire page to be reloaded or, depending on how extensive the changes are, additional pages may have to be retrieved from the server. To address that limitation, Internet Explorer 4.0 includes several new features collectively called Dynamic HTML. These features provide the client-side intelligence and flexibility to enable HTML authors to create interactive pages that dynamically change the display and/or content of a page entirely on the client machine, without requiring additional server resources.

Dynamic HTML enables HTML authors to create innovative Web sites with interactive pages without having to pay a performance penalty. By reducing requests from the server, Dynamic HTML also reduces server load, thus improving performance.

Microsoft is committed to working with the W3C and other standards groups to make the Web an open environment for building efficient and interactive multimedia content. We are also committed to providing the best standards-based solutions. Dynamic HTML represents the next step in that commitment. Previously, Microsoft participated in the W3C's efforts to define and promote the use of the OBJECT tag as an extensible way for adding objects in an HTML page. That standard resulted in the use of ActiveX controls—objects that authors can insert into HTML pages and that users can view and run in a safe and seamless way. We are now working with the W3C to extend that paradigm to standard HTML. Dynamic HTML is simply a way to access and modify the elements in an HTML page.

Key Features of Dynamic HTML

Dynamic HTML is the umbrella term for several innovative improvements in Internet Explorer 4.0. These enhancements fall into the following categories:

  • Dynamic styles
  • Positioning
  • Dynamic content
  • Filter, transition, and animation controls
  • Data awareness

These combined features enable page authors to dynamically change the style and attributes of elements, as well as insert, delete, or modify elements and their text even after a page has been loaded. Internet Explorer 4.0 automatically updates the page to reflect these changes, including reformatting it where necessary. Some of these features can be used without scripting, while others are exposed via an object model that can be accessed from scripts and other components within a page (for example, ActiveX controls, Java applets). The object model is a superset of, and is therefore backward compatible with, the JavaScript object model in Netscape Navigator 3.

Although the individual pieces of Dynamic HTML are compelling in themselves, they also work together seamlessly to provide solutions.

What are the Benefits of Dynamic HTML?
  • Create engaging, interactive Web sites. Content providers walk a very tenuous line between creating a fast informative site with little aesthetic value, or creating a site with graphics, applets, and controls that may be visually pleasing but literally take minutes to download. Cascading stylesheets were one of the first ways that authors could control fonts, sizes, two-dimensional overlapping, and exact positioning without having to embed it all into a JPG or GIF file. Dynamic HTML enables authors to create interactive Web pages, revealing HTML on the fly, without taking up the bandwidth needed with other technologies.

  • Remove the burden from the Web server. You can now deliver, sort, filter, modify, and update data on the client machine with just a single hit to the server. By reducing server processing time and decreasing the number of trips to the server, data binding increases performance on both the server and the client machine.

How Does Dynamic HTML Work?

Dynamic Styles

In Internet Explorer 4.0, HTML authors can dynamically change the style of every HTML element in a document. Styles are specified as element attributes or via cascading stylesheets (CSS). The Dynamic HTML object model exposes every HTML element in the document, including its attributes and CSS properties. Using simple scripts, HTML authors can dynamically read and change the values of these attributes and CSS properties. For example, dynamic styles can be used to:

  • Show or hide an element. For example, the text of a bullet point could be hidden until the user moves the mouse over the bullet.

  • Change the size, color, or other font properties of elements. For example, highlighting a title by enlarging the font and changing its color when the user moves the mouse over it.

  • Change the position of elements on a page. (see Positioning below).

Unlike other browsers, Internet Explorer 4.0 can dynamically change the style and content of a page at any time, even after it has been loaded. Internet Explorer 4.0 supports intelligent recalculation to only re-render the sections of the page that changed, including re-flowing text paragraphs as needed. For example, if list items are shown or hidden, Internet Explorer 4.0 dynamically adjusts the other related items, including renumbering them where appropriate.

Positioning

Internet Explorer 4.0 supports the ability to position HTML elements in x- and y-coordinates, and z-plane, as specified in the W3C Working Draft on Positioning HTML with cascading stylesheets (see http://www.w3.org/pub/WWW/TR/WD-positioning-970131.html). This capability allows authors to place elements—images, controls or text—exactly where they want on the page. By placing objects in different z-planes, authors can overlap objects and specify which element should be on top of which.

With Dynamic HTML, not only can you continue to have text wrapping around images as you do today, but now when elements on a page are repositioned, the text will dynamically flow around those images naturally. Also, to create the look and feel that you want for the graphics on your pages, it's easy to layer images on top of each other. Instead of creating one big image file, Dynamic HTML enables authors to place multiple images wherever they want, including on top of one another.

By manipulating these coordinates and other dynamic styles using scripts, authors can move these elements around a page, thus animating the page. The combination of dynamic styles, positioning, transparent ActiveX controls, and transparent images present authors with a rich set of animation options.

Two-dimensional style layout functionality was first available from Microsoft using the HTML layout control in Internet Explorer 3.0. The syntax used by the layout control was previously submitted to the W3C. Since then, we have been actively working with the W3C to turn the syntax into an open proposal. This positioning functionality represents the evolution of that 2D functionality, the key difference being that Internet Explorer 4.0 uses native HTML and W3C proposed syntax.

Dynamic Content

In addition to changing the styles on a page, authors can also dynamically change the content of an HTML page. This capability can be used to insert or hide elements in a page, as well as to modify the text of individual elements. In essence, scripts can construct and alter the contents of a document at run time. For example, a script can scan the elements of a page and, using dynamic content, insert a table of contents at the beginning of the page. Furthermore, the table of contents can be made live, using links to bookmarks.

Unlike other browsers that restrict content changes to download time only, these changes can be made at any time, even after the entire document has been downloaded.

Filter, Transition, and Animation Controls

Internet Explorer 4.0 includes animation and multimedia controls that can be used to apply visual effects to elements in a page or to the entire page without scripting. These controls support filters, animation, and transitions. Transitions can be used for elements in a page or for transitions between pages.

These controls leverage new Internet Explorer 4.0 multimedia and animation services. ActiveX control and Java developers can take advantage of these services to implement additional multimedia or animation effects.

Data Awareness

Many HTML pages are based on data, regardless of whether that data is stored in databases or files. Internet Explorer 4.0 incorporates several features to integrate data with native HTML elements. These features make HTML a better environment for displaying and collecting data. The data awareness features in Internet Explorer 4.0 include:

  • Automatic generation of table rows from data records. By binding a table to a data source, Internet Explorer 4.0 can automatically create a table row for each record in the data source. This solution provides two key benefits.
    • The table expansion is dynamic. The user can view the page while the table is still being rendered. With server-generated tables, the server has to generate the entire table before sending the page to the client.
    • The table can be regenerated (sorted or filtered) on the client without requiring the server to send additional data.



Data Aware Controls


  • Binding of HTML elements to a specific record. By designating a record as the current record and binding fields from the record to elements on the page, data from the current record is displayed as part of the HTML in the document.

  • Data-bound form fields. HTML forms can be created using intrinsic and ActiveX controls. These controls can be bound to fields in a record. Whatever the user enters in the control would then be pushed into the record in the data source control. Based on user command (for example, clicking a button), the data source control would then upload the data to the HTTP or database.

Internet Explorer 4.0 data awareness is implemented using an open architecture; within each data aware page is a data source object. A data source object is an invisible ActiveX control that knows how to communicate with a data source (such as a database). Internet Explorer 4.0 understands how to bind HTML elements to fields in the data source control. It includes three data source controls to access:

  • Comma-delimited data in files
  • SQL data in SQL Server and other ODBC sources
  • JDBC data sources.
ActiveX control and Java applet developers can implement additional data source controls to communicate with other data sources.

The Internet Explorer 4.0 data awareness functionality provides a rich set of options for authors to use native HTML to enable users to manipulate and input data efficiently with minimal load on the server. The result is faster, richer, and more interactive pages.

ActiveX

ActiveX enables software components to interact with each other in a networked environment, regardless of the language in which they were created. Embracing both Java and Microsoft’s industry-standard COM technology, ActiveX makes writing Internet applications as easy as writing applications for the operating system. Plus, authors can reuse these components in current networking and standalone applications.

ActiveX Controls. ActiveX controls are software components that providing interactive and user-controllable functions. Small, slick, and versatile, they open limitless opportunities for creating cool Web content. ActiveX controls can be written in most programming languages, including Java and Microsoft Visual Basic®.

With Internet Explorer 4.0, ActiveX controls have full access to the HTML dynamic object model to access and modify the page around them.

Internet Explorer 4.0 presents a set of new opportunities for control and script engine developers. Most notably, Internet Explorer 4.0 is an OC96-compliant host. Controls can now be faster, smaller, and more integrated than ever before. Some of the highlights of OC96 include:

  • Windowless controls. Allows creation of transparent and nonrectangular controls which, combined with 2D placement, enables authors to overlap controls on a page. The multimedia controls included with Internet Explorer 4.0 are all windowless and take advantage of this functionality.

  • Apartment model controls. Internet Explorer is a threaded container. For better performance, controls used inside Internet Explorer 4.0 should be marked as Apartment or Free Threaded.

  • Quick activation. The complex "QI Dance" that control writers needed to write is greatly simplified with Quick Activation. In most cases, a single call can initialize most controls.

  • SBindHost service. Internet Explorer’s support for SBindHost service allows controls to download additional data asynchronously. This results in better performance for controls that download images or other complex data.

How ActiveX Technology Works

The open, component architecture of ActiveX enables content developers to create dynamic Internet content and applications. Using proven COM technology, scripts, software components (including Java applets), and standalone applications can interact with each other. True component architecture enables you to run applications and software components in Internet Explorer, and run Internet Explorer as a software component in other applications and components. For example, a database access applet can interact with a script that displays a multimedia graphic of the data in Internet Explorer.

ActiveX controls, because they are based on the component object model (COM), are language-independent. Java is an excellent programming language for both implementing and using COM objects, and Java and COM integrate seamlessly. COM makes Java a distributed language. Every public Java class is a COM object and can be called remotely just like any other COM object. COM gives Java direct access to native code. Any COM object appears to the programmer as a Java object. There is no need for large class libraries that wrap existing objects; the existing objects can be called directly.

Java

Microsoft is committed to providing the fastest, most robust, best-of-the-breed Java development tools and Java run-time implementation. Java brought dynamic, interactive content to the Web. With Internet Explorer 4.0, Java applications become even more powerful. Internet Explorer 4.0 makes it easier for developers to create more full-featured Java applications for the Web. Performance has been improved too, making Java applications run even faster than in Internet Explorer 3.0. In addition, there are enhancements to security, ensuring that interacting with these powerful applications is safe.

Key Features of Java Support

  • Full ActiveX integration. ActiveX controls can be accessed as Java Beans, and Java Beans accessed as ActiveX controls. In addition, there is seamless debugging between VBScript, JScript, and Java.

  • New object model. The new Internet Explorer 4.0 object model is exposed through Java libraries. This allows Java developers to manipulate the page dynamically.

  • Improved Abstract Windows Toolkit (AWT). The AWT has been improved to reduce overhead and improve performance.

  • New application foundation classes (AFC). AFC provides Java developers with a rich set of user interface controls.

  • New multimedia class libraries. All the functionality of DirectX media and DirectX foundation is provided as cross-platform Java class libraries, enabling developers to manipulate and animate a full set of media types.

  • Internationalization support. Unicode support simplifies developing worldwide applications because it supports multilingual display and input, and its easy resource format facilitates localization.

  • Speed. Internet Explorer 4.0 provides the fastest way to run Java applications, as shown in recent performance tests that Microsoft conducted against Netscape Navigator 3.0

ActiveX Scripting

With its support for ActiveX scripting, Internet Explorer 4.0 provides fast, comprehensive, language-independent script handling capability. You can view Web pages that use any popular scripting language, including VB Script and JScript. Internet Explorer’s scripting support lets you ask questions, respond to queries, check user data, calculate expressions, link to other programs, and connect to OLE controls, applets, and 3D animations.

Internet Explorer 4.0 Multimedia Controls

The following multimedia controls are included in Internet Explorer 4.0:

  • Sequencer. Easily controls timing of events on pages.

  • Structured graphics. Provides high-quality, lightweight, scalable, rotatable graphics.

  • Sprite. Creates animated images.

  • Sprite buttons. Creates animated multi-state buttons.

  • Path. Easily moves objects across a two-dimensional path.

  • Mixer. Mixes multiple WAV files together dynamically.

  • Effects. Alters any item on a Web page by applying a graphic filter.

  • Transitions. Alters any item on a page, or the page itself, over time.

  • Behaviors. Applies high-level behaviors to controls and Dynamic HTML elements.

  • Hot spot. Establishes regions of the screen that can process mouse clicks.

All of these controls are transparent, windowless, and can be seamlessly integrated within a Web page.

NetShow
Microsoft NetShow 1.0 is the easiest, safest way to deploy multicasting on your intranet. NetShow, a multimedia platform for Microsoft Internet Information Server (IIS) 3.0, is built into Internet Explorer 4.0. NetShow provides live multicasting of audio and on-demand streaming of stored audio, illustrated audio (audio synchronized with images), and video. A set of authoring tools for creating multimedia content is also included. Unlike other streaming products, NetShow lets content providers generate compelling productions in which audio, graphics, video, URLs and script commands are synchronized based on a timeline. See the NetShow section for more details on this component.
Interactive Music Control
The Microsoft Interactive Music control provides dynamic musical accompaniment and software wavetable synthesis.

Interactive Music combines the best of MIDI and WAV technologies to present a lightweight, consistent musical accompaniment solution. Interactive Music provides infinitely flexible musical output. It's more flexible than WAV file output because a WAV file is an encapsulated recording that cannot change, whereas the Interactive Music Control creates music on the fly, according to whatever is happening at that moment.

The Interactive Music engine provides an ever-evolving, responsive musical soundtrack. It tracks the user's actions and creates a soundtrack accordingly. And unlike standard MIDI playback, the music can assume a nonlinear form and respond to user and programmatic input. Additionally, via Microsoft Synthesizer, Interactive Music supplies the user with software wavetable synthesis, which ensures consistent and configurable musical playback via any sound card.

Previous Page Page Top TOC Next Page


©1997 Microsoft Corporation. All rights reserved. Legal Notices.
Last updated: Tuesday, April 29, 1997