People often ask me what it is about OPENSTEP (or NEXTSTEP, or Rhapsody, or Mac OS X) that sets it so far a part from other operating. The simple answer is the GUI (graphical user interface), the environment in which I do all my work. But when they start asking about specifics, the one feature I turn to most is Services.

The concept and implementation of Services can make the user experience on an OPENSTEP system quite different from any other platform.

As many people know, the Linux community has spent a massive amount of effort in making window managers that look like OPENSTEP. While they have copied the "theme" quite nicely, it still isn't OPENSTEP without the functionality. And from a users perspective, that functionality is often provided via Services.

Philosophy of Services
The idea behind Services is that no application should have to stand alone. Other applications can aid the application a user may be using... extending that application's feature set beyond what it originally shipped with.

In this way, Services were designed to let developers concentrate on what ever they did best. The end user could then put together a collection of apps that covered his needs.

Also, with some standard functions made into system wide Services, the developers avoid wasting development time on those functions and devote more time to the key features of their application.

Shared System-wide Services
Some of the Services that people use they may not even recognize as Services at first. Examples of these are spell checking, font and color panels. All of these are functions provided by the system for any developer to take advantage of.

Spelling Panel from OPENSTEP

Font Panel from OPENSTEP

Colors Panel from OPENSTEP
It should be noted that although the Colors Panel hasn't changed drastically since it's introduction in NEXTSTEP through to the latest release of Mac OS X, this should not be looked on as it having limited abilities... quite the contrary, it is a very powerful tool. I highly suggest reading mmalcolm crawford's article "Color selection in NEXTSTEP and OPENSTEP" and the Code Poetry article "The Colors!" for references to the many features, and you could also take a look at my page on the colors panel in Rhapsody (here).

Services Menu
Most Services can be accessed via the Services Menu. These include Services from the system, bundled NeXT apps and third party apps that you have installed.

Because so many apps provide Services and many of those can go unused, there is a system preference for disabling these services so a user can pair down the Services Menu to just those that are mainly used on a regular basis.

Services Preference in OPENSTEP
Also, the Services Menu looks different depending on what application you are viewing it in. So for our review of the Services I use on my system, we are going to look at Services Menus from three apps: TextEdit, Create and the Workspace Manager.

Going down these menus, we'll take a closer look at what they either do or offer to do with in their respective submenus.

Starting with the TextEdit Services menu, the first useful active submenu is "Create in Create". These Services are provided by Stone Design's Create. Some of the notable features shared in the submenu (shown below) are converting RTF to HTML and "Super Text". The first is pretty self explanatory, the second is a feature of Create where it can let you turn text into postscript or an image applying different effects to it.

Next on the menu is "Define in Webster". NEXTSTEP and OPENSTEP came with an app called Digital Webster (Webster.app) which is a dictionary/thesaurus application. Even though it can be used as a stand alone app, it is most useful as a Service looking up information on words you may be using in a word processor.

It is interesting to note that this app was dropped in Rhapsody and Mac OS X, and wasn't replaced by Apple until Mac OS X v10.4 with the Dictionary.app. During the period between the release of Rhapsody 5.3 and Mac OS X v10.3.9 the applications which filled this roll were OmniDictionary (for both Rhapsody and Mac OS X) and Nisus Thesaurus (Mac OS X). Both of which have extended features which are beyond those in Webster.app and Dictionary.app.

Next down the list is the "Edit Equation". This comes most in handy for people who do mathematics. The Services is provided by Lighthouse Design's EquationBuilder.app. In most cases, dropping the equation back into a document as ESP would work, but EquationBuilder can provide the TeX version of the equation also (which comes in handy... specially if you don't remember the names of all the greek letters... which I rarely do).

Next we have Services provided by the Digital Librarian (Digital Librarian is an information resource tool).

The "Mail" Services are provided by NeXTMail allowing you to compose aspects of your e-mail in a word processor before sending it off to a recipient.

The OmniWeb Service seems fairly straight forward, it looks up a highlighted URL. But the thing about OmniWeb 3.x is that you can set the address field to search Google when non-standard text (anything that doesn't look like a URL) is placed in that field. What does this mean for the OmniWeb Service? It means that if you select some text that you are working on or reading and use this Service, you'll be given a Google search results page in OmniWeb for that text (I talk more about OmniWeb 3.x in the Rhapsody section of my site, here).

The largest collection of Services on my system comes from Tickle Services. These Services were made by Scott Hess, and you can get Tickle Services here (or here for NEXTSTEP 2.x). As can be seen from the menu below, it offers a very large number of useful tools.

From Create's Services Menu, the first Services of note is "GIFfun". GIFfun is a free GIF animation tool by Stone Design.

Next is a collection of Services provided by Caffeine Software apps. These being "Paste in TIFFany II", "PixelNhance" and "TIFFany". TIFFany and PixelNhance are image applications that can be used for modifying or correcting images. Both TIFFany II and PixelNhance are free and you can learn more about them here.

Looking at the Services Menu from the Workspace Manager, we now have access to a number of applications which are helpful with file and directories. These being the following Services: "Archive", "File", "Open Seseame", "OpenUp", "Size in Dark Forest" and "Workspace". Most of these are self explanatory when looking at their submenus (below), but the Dark Forest service may need a little explanation. Dark Forest is an application for viewing the files and directories of your hard drive by how large they are... and by doing this, giving you an idea as to what is taking up the most disk space on your system (in Mac OS X you can use either OmniDiskSweeper or WhatSize to do the same tasks).

Additional Services
The Services Menu isn't the only place that third party Services can be accessed. In the case of
TextExtras (by Mike Ferris, one of the developers of TextEdit), these features are access via the "TextExtras" submenu in the "Format" submenu of applications like TextEdit.

No application need stand alone
I hope that this page helps to illustrate just how great Services are in making the NEXTSTEP/OPENSTEP user environment not only friendly for the user, but also helping to make many applications even better than they would have been on their own.

Many people have asked me over the years how I can use TextEdit as my primary word processor in OPENSTEP (and Rhapsody, and Mac OS X), and the answer is that "sure, TextEdit by itself is lacking in a number of features, but TextEdit is never by itself on any of my systems so I have almost all the features I need... thanks to Services."




Stone Design's Create(tm)
2005-07-19 19:36:51 -0500