[ Back to Index of Web Works ] part of George's Web Site

Related Web Works


[Image]Join Webmonkey, it's free. Members log in. [Mike Kuniavsky - Geek Talk]

Anatomy of a Plug-in [] [Imagemap] QÊWhat's the difference between a plug-in and a helper app? ¯ Unplugged [] AÊThe bottom line is: Any program can be a helper app.

Helper apps are launched by the browser to handle certain types of documents that the browser itself can't read. Microsoft Excel, for example, can be defined as a helper app, if you select it in your browser's preferences. If your browser encounters an Excel document, it will automatically launch the program.

But plug-ins are programs specifically written to work with a browser. By following the standards set by browser manufacturers (Netscape defined its standards with the release of Navigator 2.0; Microsoft later announced that it would support this standard), plug-ins can do all kinds of things that regular applications can't. They can display files or control panels within the browser (as opposed to launching a new window); they can seamlessly integrate new file formats (say, QuickTime movies, or RealAudio files) into an HTML page; they can put new menus in the menu bar, and so on.

From a developer's perspective, the downside of writing a plug-in is that it generally can't be used as a stand-alone program, and it won't necessarily work on browsers other than Netscape (though MS Internet Explorer supposedly supports Navigator plug-ins). But the upside is obvious: The vast majority of people on the Net use the Navigator or (and to a lesser extent) Internet Explorer. And the better your product works with their browser, the more likely they are to use it.

QÊI've heard a lot about Microsoft's ActiveX framework, but I'm still not quite sure how it differs from Netscape's plug-in architecture ... can you clarify? ¯ InactiveX [] AÊAlthough the final result is often the same - say, a spreadsheet appears in the middle of your Web page - ActiveX controls are neither plug-ins nor Java applets. They are something in between ("something between the living and the dead, here and the hereafter, something from ... the Redmond Zone").

They're inserted into pages like an applet, so when you hit a page that contains one, it's automatically downloaded. Once downloaded, however, it acts like a plug-in: It resides permanently on your machine, and whenever another page asks to use that specific control, the code for it gets pulled off of your local disk, rather than off the Net.

The most interesting thing about ActiveX controls is that they're actually just Microsoft OLE controls. "Huh?" you ask. Well, here's a simple-minded summary: OLE (object linking and embedding) is Microsoft's system of constructing large pieces of software out of smaller pieces of software.

The idea is that rather than having a spellchecker built into every application, you just have a systemwide, spellchecker "object," which can be called up by ANY application. Thus, when you upgrade JUST the spellchecker object, every program will "automagically" get an all-new spellchecker, with no extra work.

ActiveX extends this system to the Web. So now, when you go to Do you a page with ActiveX Tetris, you get a Tetris module that you need a can use in any OLE-compliant software package (the majority spell- of which, unsurprisingly, are written by Microsoft). checker

As rosy as this sounds - "I can object? play Tetris in Excel? Whooppee!" - ActiveX has a Threads couple of problems. First off, unlike Java, ActiveX controls are not platform-independent, which means you can't see that nifty Win95 Tetris control on your Mac. In this regard, they're like plug-ins.

Second, and this worries me most, they don't even approach Java's level of security. Microsoft hopes to make the problem disappear by requiring every control to have a digital signature attached. But - as much as I love my fellow humans - I think that's wishful thinking. Like a camera mounted on a gun, this "signature" just tells you who pulled the trigger; it doesn't keep them from shooting. If you're at the wrong end of the camera, dead is still dead.

So, here's my little summary table:

Plug-inApplet ActiveX Platform-independent Ê X Ê Can trash your disk X Ê X [Archive] Downloads on the fly Ê X X

Mike Kuniavsky is HotWired's Interface engineer. He is from LA, but he's better now.

Ask a Question

Name: Email: Category:

Question:

[Image]

[SEARCH] [HOME] [HELP]

Copyright © 1996 HotWired, Inc. All rights reserved.


[ Back to Index of Web Works | Top ]