`Create powerful
`Web pages with
`Netscape" plug-ins!
`
`Works with Netscape
`and Internet Explorer !
`
`Incorporate multimedia,
`
`applications, and other live
`
`content into Web pages
`
`Learn how to use popular
`
`multimedia plug-ins including
`
`Shockwave™ and Real Audio®
`
`CD-ROM includes over 100 VRML,
`sound, graphics, multimedia, productivity,
`and navigational plug-ins along with
`development tools and server software.
`
`Mark Brown
`
`J i is
`
`PLUG
`
`INS
`
`1 N 1
`
`1 Twl
`
`Patent Owner Finjan, Inc. - Exhibit 2014, p. 1
`
`
`
`WWW Plug-Ins Companion
`
`Copyright© 1996 by Que® Corporation.
`
`All rights reserved. Printed in the United States of America, No part
`of this book may be used or reproduced in any form or by any
`means, or stored in a database or retrieval system, without prior
`written permission of the publisher except in the case of brief quota
`tions embodied in critical articles and reviews. Making copies of
`any part of this book for any purpose other than your own personal
`use is a violation of United States copyright laws. For information,
`address Que Corporation, 201W. 103rd Street, Indianapolis, IN,
`46290. You may reach Que's direct sales line by calling 1-800-428
`5331.
`
`Library of Congress Catalog No.: 96-69599
`
`ISBN: 0-7897-0845-0
`
`This book is sold as is, without warranty of any kind, either express
`or implied, respecting the contents of this book, including but not
`limited to implied warranties for the book's quality, performance,
`merchantability, or fitness for any particular purpose. Neither Que
`Corporation nor its dealers or distributors shall be liable to the
`purchaser or any other person or entity with respect to any liability,
`loss, or damage caused or alleged to have been caused directly or
`indirectly by this book.
`
`99 98 97 96
`
`4 3 2 1
`
`Interpretation of the printing code: the rightmost double-digit num
`ber is the year of the book's printing; the rightmost single-digit
`number, the number of the book's printing. For example, a printing
`code of 96-1 shows that the first printing of the book occurred in
`1996.
`
`Patent Owner Finjan, Inc. - Exhibit 2014, p. 2
`
`
`
`Introduction
`
`The World Wide Web is expanding at an alarming rate. It
`has interjected itself into every aspect of human en
`deavor, expanding from its original role in academia
`and scientific research into the fields of business, com
`merce, government, international relations, and even
`
`entertainment.
`
`Today the Web is truly world-wide in scope. You can
`find just about anything on the Web—scientific papers,
`library card catalogs, virtual tours of museums,
`galleries of art (both static and moving), live radio
`broadcasts, electronic-mail order catalogs, and even
`interactive, chat rooms.
`
`The original HTML (HyperText Markup Language)
`and HTTP (HyperText Transfer Protocol) specifica
`tions that were developed to deliver all this content
`have just not kept up with the demands of users and
`Web site developers for more—more content, more
`speed, and more capabilities. Although the HTML and
`HTTP specifications are being expanded and improved,
`the wheels of change are often mired in bureaucracy
`and tempered with caution. The Web is quite simply
`moving faster than the pace of these specifications'
`improvements.
`
`Patent Owner Finjan, Inc. - Exhibit 2014, p. 3
`
`
`
`Introduction
`
`Plug-ins offer one answer to this problem. Netscape—and, to a lesser extent, Microsoft—
`have developed plug-ins as a way of expanding the Web's capabilities without requiring
`immediate changes in the standards or endless iterations of ever-larger new browser
`software releases. Plug-ins put most of the burden on the browser program—not the
`server or the Internet connection—for properly interpreting new kinds of content, like live
`audio and video, integral spreadsheets, or custom applications.
`
`Plug-ins are code modules that literally plug in to a browser program, adding capabilities
`that previously did not exist. Best of all, they plug in temporarily, only while they are
`needed, and then unplug themselves to free up system resources.
`
`For example, if you install a Netscape plug-in for playing live audio files, Netscape detects
`the presence of a compatible file on a Web page, loads the plug-in into memory, down
`loads and plays the audio file, then unloads the plug-in and frees up memory. The plug-in
`would be loaded and used again only if Netscape later encountered another compatible
`file on the Web.
`
`Plug-ins enable Web content providers to add an exciting array of new content types to
`their Web pages without having to wait for the standards to support them. Audio, video,
`graphics, multimedia, business, and custom applications are all now valid content for
`HTML pages. Content providers are no longer stuck with pages that contain only text and
`graphics augmented by a few static tables and forms.
`
`Thanks to plug-ins, the Web is coming alive with animation, interactive applications, audio,
`and video. Using plug-ins, Web browsers can display live content of unlimited variety,
`including proprietary formats like Macromedia Director, Adobe Acrobat, and Apple
`QuickTime.
`
`The term live content describes a key attribute of plug-in technology. Where browser
`helper applications require that a file be downloaded first, displayed in a separate window,
`and then closed, plug-ins enable content to be delivered live, in place, in real time. For
`example, a Web page can play a QuickTime movie as the page is downloading from the
`Internet. No separate window opens, and there is no long wait for the file to download
`completely before it begins playing. The video integrates seamlessly into the rest of the
`Web page's content. The effect is that of a consolidated package of information, not a
`disjunct series of unrelated, mistimed events.
`
`Of course, all is not a bed of roses. This wide variety of content is available only if the
`following conditions are true:
`
`• The user has installed the proper plug-ins required to view a page's custom content.
`
`• The Web content provider has the tools, skills, and knowledge to create and deliver
`the required files.
`
`Patent Owner Finjan, Inc. - Exhibit 2014, p. 4
`
`
`
`How Is This Book Organized? | 3
`
`The first problem is relatively easy to solve. The CD-ROM inside this book's back cover
`contains many of the current plug-ins, and Netscape provides links to all the latest ver
`sions at http://home.netscape.com/comprod/ products/ navigator/version_2.0/
`plugins/index.html. Sawy content providers also provide on their own Web pages links
`to the download sites for necessary plug-ins.
`
`This book also addresses the second problem. In these pages, you'll find out what kinds of
`content go with which plug-ins, and how to create and deliver that content on your site.
`
`Who Should Use This Book?
`
`This book is intended for anyone and everyone who wants to learn to install and use plug-
`ins with Netscape Navigator, or who wants to develop pages for the World Wide Web (or
`for a corporate intranet) that take advantage of the features provided by the many plug-ins
`for Netscape Navigator and Microsoft Internet Explorer.
`
`Novices will find overviews of which plug-ins are available and what they are capable of, as
`well as information on how to obtain, install, and configure Netscape and Internet Ex
`
`plorer plug-ins.
`
`Intermediate users will discover how to create multimedia presentations, VRML three-
`dimensional worlds, custom spreadsheets, portable documents, and other live Web page
`content that takes advantage of the capabilities that plug-ins add to Web browsers.
`
`Advanced users will learn tips, tricks, and techniques to squeeze the most out of plug-ins
`using proprietary content development programs, Object Linking and Embedding (OLE)
`controls, Java, and JavaScript. You'll even find out how to create your own browser plug-in
`applications!
`
`How Is This Book Organized?
`
`WWW Plug-Ins Companion is organized into five logical sections.
`
`I'ai 11, "Plug-Ins Explained," explains how plug-ins work and how they plug in, and tells
`you about the three different kinds of plug-ins. This part also provides a brief overview of
`all the currently available browser plug-ins, and briefly explains what they can do. Part I
`finishes with two chapters explaining the steps involved in creating plug-in-compatible
`content for the World Wide Web and for corporate intranets.
`
`II, Plug-Ins for Multimedia," is the heart of this book, This part takes you step-
`by-step through the processes of downloading, installing, using, and developing content
`
`Patent Owner Finjan, Inc. - Exhibit 2014, p. 5
`
`
`
`4 | Introduction
`
`for dozens of different plug-ins that display live audio, graphics, video, and multimedia
`presentations. Part II focuses on key plug-ins like RealAudio, Shockwave for Macromedia
`Director, and VDOLive.
`
`Part III, "Plug-Ins for VRML," explains how to create 3-D worlds using the Virtual Reality
`Markup Language, and how to incorporate special features using the individual capabili
`ties built in to the various VRML plug-ins. This part includes an in-depth look at
`Netscape's own Live3D plug-in, which adheres to the Moving Worlds standard.
`
`Part IV, "Plug-Ins for Business Applications," explains the Adobe Acrobat and Envoy por
`table document formats and how to use them on your Web site or corporate intranet. It
`also takes you step-by-step through the many business applications available as browser
`plug-ins, from the Formula One/Net spreadsheet to automatic indexers to Word Viewer.
`The final two chapters in Part IV explain how to develop your own OLE-compliant applica
`tions that integrate smoothly into Web browser programs using applications development
`and integration plug-ins like OLE Control.
`
`Part V, "Advanced Plug-Ins Development," helps you extend the utility of plug-ins by add
`ing Java and JavaScript applications that take advantage of the Java capabilities that are
`built in to Netscape Navigator and Microsoft Internet Explorer. The final chapter in this
`part gets you started creating your own browser plug-ins for highly customized
`applications.
`
`An appendix, "What's on the CD," finishes the book with information on what you'll find
`on the book's companion CD-ROM.
`
`The Book's Companion CD-ROM
`
`Inside the back cover of this book, you'll find a CD-ROM containing multimegabytes of
`plug-ins, links, tips, and programs that will help you get the most out of browser plug-ins.
`
`Conventions Used in This Book
`
`This book uses various stylistic and typographic conventions to make it easier to use.
`
`Keyboard shortcut key combinations are joined by plus signs; for example, Ctrl+X means
`to hold down the Ctrl key, press the X key, then release both.
`
`Patent Owner Finjan, Inc. - Exhibit 2014, p. 6
`
`
`
`Conventions Used in This Book I 5
`
`Menu items and dialog box selections often have a mnemonic key associated with them.
`This key is indicated by an underline on the item on screen. To use these mnemonic keys,
`you press the Alt key, then the shortcut key. In this book, mnemonic keys are under
`scored, as in the following example: File.
`
`This book uses the following typeface conventions:
`
`Typeface
`
`Italics
`
`Bold
`
`Bold italics
`
`Monospace computer
`type
`
`Meaning
`
`Terms used for the first time.
`
`Text that you type in, as well as addresses of Internet
`sites, newsgroups, mailing lists, and Web sites.
`
`Variables in addresses.
`
`Commands and other keywords, as well as various
`messages displayed onscreen.
`
`Monospace italics
`
`Variables in commands.
`
`N O T E N o t e s p r o v i d e a d d i t i o n a l i n f o r m a t i o n r e l a t e d t o t h e t o p i c a t h a n d . 1 1
`
`Tips provide quick and helpful information to assist you along the way.
`
`CAUTION
`
`Cautions alert you to potential pitfalls or dangers in the operations discussed.
`
`TROUBLESHOOTING
`
`Troubleshooting boxes address problems that you might encounter while following the procedures
`
`described in this book.
`
`Patent Owner Finjan, Inc. - Exhibit 2014, p. 7
`
`
`
`Plug-Ins Explained
`
`1 How Plug-Ins Work 9
`
`2 Browser Plug-Ins 27
`
`3 Creating Plug-In Content for the World Wide Web 73
`
`4 Creating Plug-In Content for Intranets 93
`
`Patent Owner Finjan, Inc. - Exhibit 2014, p. 8
`
`
`
`C H A P T E R
`
`How plug-Ins differ from helper
`
`applications
`
`In almost every application, you'll
`
`find that plug-ins are better.
`
`How plug-ins "plug In" to a
`
`browser program
`
`The whole process is completely
`
`automatic.
`
`What the three kinds of plug-
`
`ins are
`
`Versatility is the key.
`
`How plug-Ins extend browser
`
`functionality
`
`Without: upgrading your browser,
`
`you can view almost any file over
`
`the Web.
`
`Numerous formatting tips for
`
`special situations
`
`What the future holds for plug-
`
`Ins development
`
`You'll see your browser jumping
`
`through multimedia hoops.
`
`How Plug-Ins Work
`
`Although Netscape is a pretty versatile Web browser,
`you'll still encounter many files on the Web that
`Netscape can't display—video files, audio files, odd
`graphics files, strange document formats, and even
`compressed files. To display or play these files inline,
`you need to install the proper plug-ins or helper
`applications.
`
`Plug-ins extend and complement Netscape's native
`capabilities, expanding and enhancing the type of con
`tent that can be delivered over the World Wide Web
`and corporate intranets. Using plug-ins, your Web
`browser can display animation, multimedia, audio,
`interactive applications, and video inline, right on the
`page, without launching external helper application
`programs.
`
`Unlike a browser's built-in display capabilities, which
`are limited to generic file formats like GIF and JPEG
`images, plug-ins offer open-ended expansion that can
`include just about any content type.
`
`http://www.mcp.com/que
`
`Patent Owner Finjan, Inc. - Exhibit 2014, p. 9
`
`
`
`10 | Chapter 1 How Plug-Ins Work
`
`Dozens of companies have released plug-ins capable of displaying their own proprietary
`multimedia, application, animation, and other data format files in Netscape Navigator and
`Microsoft Internet Explorer. Therefore, Web page developers can include on their Web
`pages multimedia files, for example, rather than just static images.
`
`Netscape plug-ins now support most widely accepted cross-platform media formats; those
`that aren't currently supported soon will be. Currently supported formats include
`Macromedia Director multimedia presentations, Adobe Acrobat portable documents,
`Video for Windows and QuickTime movies, and RealAudio and ToolVOX audio files. But
`Netscape plug-ins aren't limited to media support; there are also plug-ins for applications
`like spreadsheets, word processor files, and even custom Object Linking and Embedding
`(OLE) application development. 9
`
`Plug-Ins versus Helper Applications
`
`Early in the history of the Web, it became obvious that Web site developers and Web surf
`ers wanted and needed more variety in Web page content than Web browser programs
`could provide. Text, graphics, and elementary forms just weren't enough.
`
`Helper applications filled the gap. Almost all Web browser programs enable you to set up
`external stand-alone programs as helper applications. Once properly installed and config
`ured, a Web browser launches the helper application when it encounters a file of the de
`fined type.
`
`For example, here's how the process works with Netscape 3.0 and a helper application for
`.TIFF images (which Netscape can't normally display).
`
`You start by finding a program capable of displaying .TIFF images. Suppose that you
`choose Paint Shop Pro for Windows 95, because it can display not only .TIFFs, but a wide
`variety of other graphics file formats.
`
`1. First, download and install a copy of Paint Shop Pro normally, so that it works as a
`stand-alone application. (Paint Shop Pro is available for Windows 3.1 and Windows
`95 at http://www.jasc.com/products.html.)
`
`2. Launch Netscape and choose Options, General Preferences from the menu. You
`then see the Preferences dialog box as shown in figure 1.1.
`
`3. Select the Helpers tab to display the Helpers page.
`
`4. Scroll down through the list of file types until you find image/tiff. Select this type
`by clicking it. (If no .TIFF file type were defined, you would click the Create New
`Type button to create it.)
`
`Patent Owner Finjan, Inc. - Exhibit 2014, p. 10
`
`
`
`Plug-Ins versus Helper Applications | 11
`
`FIG. 1.1
`
`Netscape's Helpers page
`
`enables you to define the
`
`Multipurpose Internet
`
`Multimedia Extensions
`
`(MIME) type and file name
`
`extension, and associate a
`
`helper application for just
`
`about any file type.
`
`N O T E I f y o u c h o o s e t o c r e a t e a n e w M I M E t y p e b y s e l e c t i n g t h e C r e a t e N e w T y p e b u t t o n , y o u
`
`get the dialog box shown in figure 1.2. Enter a MIME type in the MimeType field;
`
`official MIME types must be one of the following: application, video, audio, image, text, multipart,
`
`or message. If you make up your own MIME type, prefix it with x - to indicate that it's nonstand
`
`ard. Each MIME type has its own list of official subtypes as well. (These subtypes are all specified
`
`in the official MIME type definition document, RFC1521.TXT, available from ftp://
`
`ds.internic.net.) If your subtype is a new one, use the x- prefix, as shown in figure 1.2, for the
`
`unofficial subtype x-blotto.
`
`C A U T I O N
`
`After creating a new MIME type in Netscape, there is no way to get rid of it, so make sure that you're
`
`sincere before you click OK.
`
`5. Note that the File Extensions text box now says tiff, tif. This tells you that when
`you finish, any files that Netscape encounters with these file name extensions will
`use the helper application that you are configuring.
`
`6. Click the Browse button to display a file requester dialog box that you can use to
`find Paint Shop Pro. After you select the program and return to the Helpers page,
`the Action button Launch the Application is autoselected and the file name PSP.EXE
`(with full path name) appears in the file name field. These indicators show you that
`you have properly configured your helper application.
`
`7. Choose OK and you're done.
`
`Patent Owner Finjan, Inc. - Exhibit 2014, p. 11
`
`
`
`12 | Chapter 1 How Plug-Ins Work
`
`FIG. 1.2
`
`In this Netscape dialog box,
`
`you can define a new MIME
`
`type and subtype for a
`
`helper application.
`
`j&ppfcdbon
`MVr»SU>Tys* pjto
`
`!
`
`OK
`
`"1
`
`Coti! |
`
`Now if you browse a Web page that contains an embedded .TIFF file, Netscape launches
`Paint Shop Pro and displays the file. You'll have to close Paint Shop Pro manually when
`you finish viewing the .TIFF image so that you can continue with your session.
`
`Helper applications have many of the same uses and advantages as plug-ins:
`
`• They extend your Web browser's capability to deal with additional file types.
`
`• They load into memory only when needed, then unload to free up system resources
`when they are no longer useful (although you might have to close them manually).
`
`• You need to install only the helper applications that you want.
`
`However, helper applications have several disadvantages, too:
`
`• They are external programs, so they're obtrusive; they don't display files inline, but
`in a separate program window.
`
`• Most helper applications are overkill—they can do lots of things, not just what you
`want done—so they tend to be big and unwieldy.
`
`Si Because helper applications aren't integrated into your Web browser, you have to
`learn how to use each one separately. The learning curve can be steep.
`
`• Because helper applications aren't standardized, Web page developers can't count
`on them being available to their audience; therefore, helper applications are not as
`likely to inspire the development of compatible Web page content.
`
`Fortunately, the weaknesses of helper applications happen to be the strengths of plug-
`ins—plug-ins are integrated, focused, easy to use, and standardized. That's why plug-ins
`were developed to take the place of helper applications.
`
`Installing a plug-in is much easier than setting up a helper application—you don't have
`to worry about defining MIME types or file name extensions. Many plug-ins are self-
`installing; an installation program handles everything for you automatically. Some plug-ins
`are distributed as archive files that you must first uncompress before you run the installa
`tion program. For a few plug-ins, you must move some files to the proper directories
`manually.
`
`Netscape can also automatically assist you in the installation of plug-ins. If you run into a
`content type for which you haven't already installed a plug-in, Netscape opens the dialog
`box shown in figure 1.3.
`
`Patent Owner Finjan, Inc. - Exhibit 2014, p. 12
`
`
`
`A Brief Course in MIME Types | 13
`
`FIG. 1.3
`
`This Netscape dialog box
`
`enables you to download and
`
`install a needed plug-in on
`
`the fly automatically.
`
`Tiw
`
`wtfi ifce
`todo?
`
`<crtarit rJ'olthftiicii'ef
`llmii
`Ptjy-K W>wjt do jktumpk
`
`If the Web content provider provides a link to the appropriate plug-in, Netscape can auto
`matically retrieve and install it for you. If not, Netscape jumps to its own directory of plug-
`ins, from which you can manually download and install the plug-in that you want.
`
`Chapter 2, "Browser Plug-Ins," presents the steps for downloading and installing all the
`
`most useful Netscape plug-ins.
`
`A Brief Course in MIME Types
`
`Before Netscape can tell whether it can display a file internally or whether it needs a
`helper application or plug-in, it must determine the kind of data with which it's dealing.
`
`If you've been using a personal computer for very long, you can probably identify many
`file types by their file name extensions. You know that a file named FOO.EXE is an execut
`able program, because the file name ends with the extension .EXE, and that a file named
`BOO.DOC is a Microsoft Word document because it ends with the extension .DOC.
`
`Netscape identifies files on the Web by MIME type. MIME is an acronym for Multipurpose
`Internet Mail Extensions, but this is a little misleading. MIME type definitions are not just
`for Internet mail; they are used to identify any file that can be transmitted over the
`
`Internet.
`
`Web pages usually consist of not just a single file, but a collection of several files. For
`example, the text portion is usually a single HyperText Markup Language (HTML) text
`file, and each graphic is a separate .GIF or JPEG format file. When your browser reads a
`Web page, the server sends all this data as a stream, identifying each section with a pre
`ceding MIME type definition header.
`
`A MIME type definition consists of two parts:
`
`type/subtype
`
`Here's a real-world example:
`
`image/jpeg
`
`As you can see, this MIME type definition describes an image file in JPEG format.
`
`Patent Owner Finjan, Inc. - Exhibit 2014, p. 13
`
`
`
`14 J Chapter 1 How Plug-Ins Work
`
`Before sending a file to Netscape, a Web server invisibly sends the MIME type definition
`for that file. Netscape reads this definition and looks it up to see whether it can handle the
`file internally, or whether a helper application or plug-in is defined for the file. In the case
`of the preceding example, Netscape knows that the file it is about to receive is an image in
`JPEG format, which, of course, it can display internally.
`
`You can see a complete list of the MIME types that Netscape recognizes natively by
`choosing Options, General Preferences from the Netscape menu, then selecting the Help
`ers tab. You then see the Preference dialog box's Helpers page as shown in figure 1.1.
`However, Netscape isn't limited to only these file types; you can add a plug-in for any file
`type.
`
`There are only seven sanctioned MIME types: text, audio, image, video, multipart, mes
`sage, and application. Any new program or data file type must fit into one of these seven
`MIME types before a MIME-enabled application like Netscape can recognize it.
`
`However, there are both "official" and "unofficial" MIME subtypes. Official subtypes ap
`pear on the file type list without an x- prefix. This prefix is the official way to label an unof
`ficial MIME subtype. A MIME subtype being "unofficial" doesn't in any way make it a
`second-class citizen, however. It just means that the Internetworking Group, the organi
`zation that oversees the MIME standard, hasn't defined an official subtype for that kind of
`content—yet.
`
`Fortunately, all this MIME stuff is totally transparent to the user. You don't usually have to
`worry about it at all, because MIME type registration for plug-ins is taken care of auto
`matically during installation.
`
`You can see which MIME types are registered and which plug-ins handle them by choos
`ing Help, About Plug-Ins from the Netscape 3.0 menu. You'll get an internally generated
`page like that shown in figure 1.4.
`
`Q
`
`.i hd -S TROUBLESHOOTING
`
`I selected Help, About Plug-ins from the Netscape 3.0 menu, but I didn't get the About Plug-
`
`Ins screen shown in figure 1.4. What's wrong? A JavaScript application within Netscape
`
`Navigator generates the About Plug-Ins page, so you don't see the page if you have Java and
`
`JavaScript turned off. To enable Java and JavaScript, select Options, Network Preferences from the
`
`Netscape menu and click the Languages tab. Make sure that both the Enable Java and Enable
`
`JavaScript check boxes are selected, then click the OK button to end.
`
`Patent Owner Finjan, Inc. - Exhibit 2014, p. 14
`
`
`
`FIG. 1.4
`
`The internally generated
`
`About Plug-Ins Netscape
`
`page lists the MIME types for
`
`which you have plug-ins
`
`installed.
`
`How Plug-Ins "Plug In" I 15
`
`> ' Netscape [Aboul Pluyins|
`i&fo
`fib £<ft %mt fif»' S«j|wnnJ(s fljJ&orw
`'| 'i-.-i'vill HUM
`Reload jilfljft- | Of<n | Pin | Fix) | I
`
`6:
`
`j
`
`HIS1E3I
`
`Installed plug-ins
`
`For more information on Netscape plug-ins, elide hera.
`
`IILBED Multimedia Plugin
`
`File name: G:\PROGRAM
`FILES\NETSGAPEVbTAVIGATOR3\PROGRAM\plugins\np32mbed dll
`
`mBED Multimedia Plugin DLL
`
`Mime Type
`
`Description
`
`J|
`
`Suffixes
`
`Enabled
`
`application/mbedlet
`
`mBED Pkigin
`
`mbd
`
`Yes
`
`£}M jpbcijirtant Otfv;
`
`4
`j
`
`Q-V
`
`n o t e You can find out more about MIME types by obtaining the Internet Working Group's
`
`Request for Comments (RFC) document on the topic. You can download this document
`
`by pointing Netscape to the following address:
`
`ftp://ds.internic.net
`
`Look forthe directory/RFC and the file name RFC1521.TXT.
`
`You can also enter into discussions about MIME on UseNet. Just point Netscape's newsreader to
`
`the group comp.maii.mime.
`
`How Plug-Ins "Plug In"
`Plug-ins are simply feature add-ons that can understand and interpret files that Netscape
`can't handle itself. They extend the capabilities of Netscape in much the way that plug-in
`software modules are used to extend the capabilities of other products such as Adobe
`PhotoShop. They are essentially transparent, appearing as enhancements and supple
`ments to the Netscape browser itself. The Netscape user interface remains relatively
`constant no matter what plug-ins are installed—if you're displaying an inline QuickTime
`movie, for example, the parts of the display that handle page navigation, scrolling, and so
`on aren't affected by the plug-in's presence.
`
`In more technical terms, plug-ins are dynamic code modules that are a part of Netscape's
`application programming interface (API) for integrating third-party software into
`Netscape. It's a part of Netscape Corporation's "open systems" philosophy regarding
`Netscape Navigator; this approach allows third-party developers to use Netscape to inte
`
`grate their products into the Web seamlessly.
`
`Patent Owner Finjan, Inc. - Exhibit 2014, p. 15
`
`
`
`16 | Chapter 1 How Plug-Ins Work
`
`N O T E A l t h o u g h t h i s b o o k o f t e n r e f e r s s p e c i f i c a l
`
`l y t o N e t s c a p e , M i c r o s o f t ' s I n t e r n e t E x p l o r e r
`
`can also use plug-ins. Overtime, you can expect to see many more plug-ins released
`
`specifically for Internet Explorer. Almost everything that this book says about Netscape plug-ins
`
`also applies directly to Internet Explorer plug-ins.
`
`In fact, the latest version of Internet Explorer can even use Netscape plug-ins directly, so that you
`
`can add your favorite Netscape plug-ins to either browser. H
`
`Plug-ins enable you to customize Netscape to interact with third-party products and indus
`try media standards. They are meant to supplement and complement, not supplant, other
`interapplication architectures such as Windows OLE (Object Linking and Embedding)
`and Java. Plug-ins can accomplish the following tasks:
`
`• Create a window in Netscape for displaying information, as in a Video for Windows
`movie player.
`
`• Execute an application such as a Musical Instrument Digital Interface (MIDI)
`player.
`
`• Generate data for Netscape or other plug-ins. For example, a plug-in might create an
`index on the fly.
`
`• Provide interapplication communication. For example, a plug-in might transfer data
`to a stand-alone spreadsheet program.
`
`• Override a native Netscape capability and supply its own implementation. For
`example, a plug-in might provide an improved .GIF viewer
`
`• Link to and receive data from Uniform Resource Locators (URLs). For example,
`some plug-ins can download stock quotes.
`
`Because plug-ins are platform-specific, you must have a different version of each plug-in
`for every operating system that you use, such as Windows, Windows 95, UNIX, or the
`Macintosh operating system. Regardless of your platform, however, Netscape plug-ins
`should be functionally equivalent across all platforms.
`
`It I PJ Many plug-ins ship with the copy of Netscape that you purchased or downloaded. These plug-ins
`
`are already designed for your platform. However, if you find other plug-ins that you want either to
`
`purchase or download from the Internet, make sure that they are for your specific platform.
`
`For most users, the use of plug-ins is totally transparent. When Netscape starts up, it
`checks to see which plug-ins have been installed; if it encounters a data MIME type for
`which a plug-in is registered, Netscape launches the plug-in to handle that data. When you
`leave the page that contains that data, the plug-in unloads, freeing up system resources.
`
`You activate a plug-in only by opening a Web page that initiates it; usually, you don't even
`see the plug-in at work. For example, after you install the Shockwave for Director plug-in,
`
`Patent Owner Finjan, Inc. - Exhibit 2014, p. 16
`
`
`
`How Plug-Ins "Plug In" | 17
`
`you notice no difference in the way that Netscape functions until you come across a Web
`page that features Shockwave content (see fig. 1.5).
`
`FIG. 1.5
`The Shockwave for Director
`
`plug-in in action, letting you
`
`blast Space Aliens inline on
`
`a Web page.
`
`* Nftli capo • (The Alien Invasion]
`£fl~ gdi yw go liooiuaarkt Qptofti iiikcioji
`i
`Back, | ...'iJ | Hohw [ flaftad
`j
`j
`
`M<Sp
`j h/it
`
`j Ftvj | ^
`
`pr/Avww, wonft-CSflx/liUleafien/
`
`The Alien Invasion
`
`•f
`
`i <%
`
`Instructions:
`
`Stop the invasion by destroying the aliens (click on them!)
`If you are a sucker for punishment,. click on the UFO and more aliens will appear.
`
`The Alien Invasion may not be sold or used for commercial purposes without the prior consent of
`X
`
`Done
`
`a?
`
`When the Netscape client launches, it notes any available plug-ins, but does not load any
`into random access memory (RAM). This way, a plug-in resides in memory only when
`needed; however, you still need to be aware of memory allocation, because many plug-ins
`can be in use at any one time. Plug-ins simply reside on disk until you need them. As soon
`as you move to another HTML page that doesn't require a plug-in, it is deleted from RAM.
`
`At its most fundamental level, a plug-in can access a URL and retrieve MIME data just like
`a standard Netscape client. This data is streamed to the plug-in as it arrives from the net
`work, making it possible to implement viewers and other interfaces that can display infor
`mation progressively as it arrives from the server.
`
`If a plug-in requires more data than a single data stream can supply, the plug-in can re
`quest multiple, simultaneous data streams, so long as the user's system supports such
`
`data streams.
`
`Plug-ins can also handle data in the "old-fashioned" way: caching data for display only
`when it has all been downloaded. For instance, a plug-in can draw a simple frame and
`introductory graphic while the bulk of the data is streaming off the network into the
`Netscape cache.
`
`Patent Owne