OmniImage + ImageViewer Puzzle

William Shipley wjs
Sun Apr 9 12:22:59 PDT 1995


And the number one problem we're hoping to address in OmniWeb 1.2 is...

IMAGE FILTERING!

You've run into a common problem.  Image filtering is a dark art.  NeXT  
conveniently provided preferences for which application you launch when you  
open a data file, but they never provided preferences for which filter gets  
launched when you automatically filter a data file.

Bad, bad NeXT.

Your problem has two parts.  Part one is that ImageViewer is launching  
instead of OmniImageFilter.

ImageViewer comes before OmniImageFilter in the alphabet.  Thus,  
ImageViewer's advertised image filtering services are used before  
OmniImageFilter.  (At least, that's my guess why it's preferred.)

We generally recommend people open up the ImageViewer.app file package  
(command-shift-O in the Workspace) and rename the "services" file to  
something else.  This insures that only OmniImageFilter's services will be  
found.  (This doesn't interfere with opening files in ImageViewer normallly,  
which is a good thing, because really in some ways I like ImageViewer  
better than OmniImage.  But for filtering, I like OmniImageFilter, because  
it doesn't visibly launch anything.)

Part two of your problem is you don't appear to have OmniImageFilter in the  
right place or with the right permissions, so when you move aside  
ImageViewer OmniImage can't find a filter for JPEGs.  OmniImage is dumb as a  
stone (check how small it is), all the conversion logic is in  
OmniImageFilter.

Put OmniImageFitler in /LocalLibrary/Services, and you should be happy.

-Wil

PS: What are we doing to fix all this confusion?  Glad you asked.  We're  
going to make our image filters a loadable bundle, and OmniImage, OmniWeb,  
and OmniImageFilter will all load this common bundle.  Since we won't be  
relying on NeXT's services mechanism, we won't have to hassle with 60 second  
timeouts or accidentally invoking someone else's filter or OmniImageFilter  
not being installed.

Under 4.0, this bundle will become a dynamically loaded shared library, and  
it'll be available for everyone to use in their programs.  Pretty neat,  
huh?


More information about the OmniWeb-l mailing list