OmniWeb 2.0, bundles, and Java

William Shipley wjs
Sat Sep 30 04:18:21 PDT 1995


We haven't decided to do Java yet, nor have we decided not to do it. We'd love to talk with anyone who's porting the language to NEXTSTEP.

There will be nothing preventing an enterprising person from writing a Java bundle for OmniWeb 2.0.  Or a Macromind movie-playing bundle, or whatever.

So far we've identified 4 types of bundles we will support:

- New URLs types (besides the basic "ftp:", "file:", "http:", "gopher:", etc)
- New Protocols.  These often go hand-in-hand with the new URL types. These are the low-level sources which get and put data; usually they'll talk to an OmniSocket, but not necessarily.  "http" is a protocol in addition to being a URL type.  "https" is a 15-line protocol once you have the secure-sockets library (we'll probably ship with source to https included, but not compiled in).
- New Converters.  Converters can change one mime-type into another.  Since the screen is considered just another mime-type, you'll be able to write your own kind of displays (instead of the Text object).  Converting GIF files into NXImages is a converter, as is the PDF displayer.  Note that the programmer can decide whether his converter runs in a separate thread or not; GIF conversion happens in a separate thread to allow incremental image display.
	I anticipate converters will be the most often used owerful bundle type; let's say someone starts using an image format that OmniWeb doesn't support.  Do you wait for a revision?  Nope, you just use the simple template for an image converter and write your own.  We've done this in as little as 3 hours (for JPEG and PNG).  Or, let's say you have some in-house document format you'd like to support, now it's no problem linking it into OmniWeb.
- New Preferences.  We'll have a way for your bundles to advertise that they have some preferences that need to be set in our preferences panel.

There may be others as well.  (There may be less; I'm not making promises, I'm just trying to give you a feel for what we're doing.)

Under 4.0 the "bundle" architecture will turn to Frameworks, and you'll be able to use parts of OmniWeb in your own programs just by loading the appropriate framework.  For example, if you wanted incremental image display you could load the imaging framework.  OmniImage will be rewritten this way.

-Wil


More information about the OmniWeb-l mailing list